[otw_is sidebar=otw-sidebar-1]Hi, fellas I hope you are doing well, this post is about a popular Bluetooth module called HC-05. The pinout of HC-05 Bluetooth module, its interface with Arduino UNO and their simulation in Proteus is presented in this post.

Bluetooth Module

Bluetooth is a popular wireless technology for enabling wireless transmission between mobile devices. On the basis of range communication networks are divided into three categories known WAN (Wide Area Network), LAN (Local Area Network) and PAN (Personal Area Network). Bluetooth is used for short range applications and thus it falls in the category of personal area network. Internet of things is a hot topic nowadays and various smart gadgets such as smart watch, Bluetooth speakers, home automation are developed which are just a few examples of internet of things, there is a whole portfolio of IoT products and it is gaining more attention day by day. Bluetooth is one of the technologies that are used by IoT (Internet of Things) devices for exchanging data or commands. Other wireless technologies used by IoT based embedded products are:

  • NB-IoT.
  • LTE-M.

In this post I will shed light on Bluetooth technology and discuss a popular Bluetooth module which is HC-05.

HC-05 Bluetooth Module


As mentioned, HC-05 is the Bluetooth module which perks up the embedded system with the wireless data communication. In an embedded system Bluetooth technology can be used for two purposes.

  • Data Exchange.
  • Device Configuration.

In first application that is data exchange it is used to communicate data like ambient temperature, heart rate, blood pressure, number of steps during jog etcetera. This data is sent to the Bluetooth enabled device like mobile phone or Bluetooth enabled dashboard in home. In second application Bluetooth technology is deployed for configuring the device for example there are several industrial sensors like ToF (Time of flight) level sensors which are configured using Bluetooth, user can configure these sensors from the phone via Bluetooth.

HC-05 communicates with the Arduino through UART (Universal Asynchronous Receiver Transmitter) and sends data to the remote user based on commands from Arduino. An important feature of HC-05 module is that it is equipped with PCB antenna and no external antenna is required which reduces both development effort bill of material of your project. The pinout of the HC-05 is shown in the following figure;

HC-05 Bluetooth operates on 5V,  of the module is connected to  of Arduino UNO and vice versa. Interface of the HC-05 and Arduino is presented later in the post.

HC-05 Interface with Arduino:

In order to add Bluetooth connectivity to any Arduino based project low cost solution in the form of HC-05 module is available. Interfacing HC-05 with Arduino UNO is an easy peasy task, you only need to connect UART of Arduino UNO to the UART interface of Bluetooth module. Both Arduino and HC-05 Bluetooth module operate at 5V thus, 5V from Arduino board can be used to power HC-05 directly, then make common ground for HC-05 and Arduino UNO. Last but not the least connect Tx of the Arduino UNO to the Rx of the Bluetooth module and Rx of the Arduino UNO to Tx of the Bluetooth module. Note that no interface circuit or adapter board is required to interface Arduino UNO and HC-05.

Arduino HC-05 Proteus Circuit:

Proteus is the popular tool simulation software, in my previous post I have presented a detailed discussion on how to simulate the Arduino UNO in Proteus. If you are not familiar with the subject it is highly recommended to go through the previous post. In this section I will only discuss the HC-05 and Arduino simulation. Computer simulation is a useful technique by which code and firmware is imitated by computer so that the bug in the code or failure in the hardware is assessed beforehand without damaging the expensive test equipment or adding project research and development cost. Several simulation tools are available in the market but most commonly used tool for simulating low to mid-level embedded system is Proteus. At this point it is important to note that in order to simulate any circuit in any simulation software the simulation models of the all the components employed in the circuit should be present in the library of the software. The simulation model is the mathematical definition of the behavior of the component thus without the simulation model of any component software does not know the behavior of that component and thus error will occur in simulation or simulation will not run in worst case.

Proteus comes with a large number of pre-installed simulation models but unfortunately the simulation model of HC-05 Bluetooth module is not present in Proteus simulation model library by default. Thus we need to download the HC-05 simulation model and then install it in Proteus. The simulation model can be downloaded from the following link. In my previous post I have also presented a detailed discussion on how to add a new simulation model in Proteus. It is again highly recommended to the reader to thoroughly go through my previous post.

That is all for now, I hope this post would add some value in your knowledge base. In case of any query you are encouraged to come in the comment section. Till then stay connected, take care. Bye bye!!