The HC-05 and JDY-16 are both small Bluetooth modules often used with Arduino-compatible boards. At first glance, they seem similar because both can connect to a microcontroller through a UART serial interface. In practice, they are based on different Bluetooth technologies and are used in different types of projects.
The HC-05 is a Bluetooth Classic serial module. The JDY-16 is a Bluetooth LE module. This difference matters for phone compatibility, app support, power consumption and how the wireless connection behaves.
Bluetooth Classic and Bluetooth LE Are Not the Same
Bluetooth Classic and Bluetooth LE are different parts of the Bluetooth world. They are not simply old and new versions of the same serial cable.
- Bluetooth Classic is commonly used for serial-style links, audio and older Bluetooth applications.
- Bluetooth LE is commonly used for sensors, phone apps, beacons and low-power devices.
- Bluetooth Classic serial modules often behave like a wireless COM port.
- Bluetooth LE modules usually require BLE-compatible software or an app.
This is the main difference between HC-05 and JDY-16. The module wiring may look similar, but the wireless side is not the same.
HC-05: Bluetooth Classic Serial Module
The HC-05 is one of the best-known Bluetooth modules for Arduino projects. It is commonly used as a wireless serial cable replacement.
- Bluetooth Classic module
- UART interface to the microcontroller
- Commonly used with Arduino UNO, Nano, Mega and similar boards
- Can often be configured with AT commands
- Works well for simple serial communication
- Popular for PC and Android serial-style projects
From the Arduino side, the HC-05 is easy to understand. Data sent to the module over UART is transmitted wirelessly, and received wireless data appears on the UART output.
JDY-16: Bluetooth LE Serial-Style Module
The JDY-16 is a Bluetooth LE module often used for simple BLE communication. It can also connect to a microcontroller through UART, but the phone or computer side uses BLE rather than Bluetooth Classic serial.
- Bluetooth LE module
- UART interface to the microcontroller
- Useful for BLE phone app communication
- Better direction for modern mobile-device compatibility
- Lower-power Bluetooth style than classic serial modules
- Requires BLE-compatible app or software
The JDY-16 is useful when a project should communicate with a modern phone app using Bluetooth LE instead of Bluetooth Classic.
Main Comparison
| Feature | HC-05 | JDY-16 |
|---|---|---|
| Bluetooth type | Bluetooth Classic | Bluetooth LE |
| Typical microcontroller interface | UART serial | UART serial |
| Typical use | Wireless serial cable replacement | BLE communication with phone apps or BLE-capable devices |
| Android compatibility | Often good with Bluetooth Classic serial apps | Good with BLE apps |
| iPhone / iPad compatibility | Usually not suitable for simple serial-port style app use | Better direction because iOS supports BLE app communication |
| Serial-port style behavior | Very straightforward | Possible in a serial-style module mode, but BLE handling is different on the app side |
| Power consumption direction | Usually higher than BLE-oriented designs | Better suited for lower-power BLE applications |
| Best for beginners | Often easier for simple serial communication | Slightly more complex because BLE app support matters |
| Main limitation | Bluetooth Classic, not BLE | Requires BLE-compatible software and understanding |
Microcontroller Wiring
Both modules are commonly connected to a microcontroller through UART. This makes the wiring look similar.
- Module TX connects to microcontroller RX
- Module RX connects to microcontroller TX
- Ground must be shared
- Power supply voltage must match the module board requirements
- Logic voltage levels must be checked before connection
The important difference is not the UART side. The important difference is what happens on the Bluetooth side.
Voltage Level Warning
Many Bluetooth modules use 3.3V logic internally. Some breakout boards include regulators or level handling, but this should not be assumed without checking the specific module.
- Check whether the module board accepts 5V power or only 3.3V
- Check whether the RX input is 5V tolerant
- Use level shifting when connecting a 5V Arduino TX pin to a 3.3V module RX input
- A simple resistor divider is often used for UART TX level reduction
- Do not connect power or signal pins based only on module appearance
Incorrect voltage levels can damage the module or cause unreliable communication.
Phone Compatibility
Phone compatibility is one of the biggest practical reasons to choose JDY-16 instead of HC-05.
The HC-05 can be very convenient with Android devices and PCs that support Bluetooth Classic serial-style communication. However, it is usually not the best choice for iPhone or iPad app communication.
The JDY-16 uses Bluetooth LE, which is generally the better direction for modern phone app compatibility, especially when iOS support is needed.
| Connection Target | HC-05 | JDY-16 |
|---|---|---|
| Android phone with Bluetooth serial app | Good choice | Works with BLE-compatible apps |
| iPhone or iPad app | Usually not the right direction for simple serial-style use | Better choice |
| Windows PC serial-style Bluetooth connection | Often convenient | Requires BLE software support |
| Custom mobile app | Possible on some platforms, but Bluetooth Classic support varies | Usually better modern app direction |
Serial Monitor Style Testing
The HC-05 is often easier for beginner testing because it behaves more like a simple wireless serial port. After pairing, many users can open a Bluetooth serial terminal and send or receive text.
With the JDY-16, the microcontroller side may still feel like serial UART, but the phone side requires BLE scanning and connecting to the correct BLE service or characteristic through a compatible app.
- HC-05 is often easier for simple text command experiments
- JDY-16 is better when the project should use BLE
- BLE is more app-oriented than old serial-port style Bluetooth
- The easiest module depends on the device and software used on the other end
Data Rate and Data Style
Neither HC-05 nor JDY-16 should be treated like WiFi. They are best for small amounts of data, commands, sensor readings, configuration values and simple control messages.
- HC-05 works well for serial text and command streams
- JDY-16 works well for BLE-style packets and small data transfers
- Large file transfer is not the usual use case for either module
- Short messages and simple protocols are more reliable than large continuous streams
For high-speed networking or internet access, use WiFi modules such as ESP8266 or ESP32 instead.
Power Consumption
Bluetooth LE was designed with low-power devices in mind. This makes JDY-16-style BLE modules attractive for battery-powered sensors and small devices that only send small amounts of data.
The HC-05 can still be used in battery-powered projects, but it is generally not the first choice when low-power wireless operation is the main goal.
| Power-Related Need | Better Direction | Reason |
|---|---|---|
| Low-power phone-connected sensor | JDY-16 | Bluetooth LE is designed for lower-power communication |
| Simple bench-powered serial link | HC-05 | Power consumption is less important, and serial-style setup is simple |
| Occasional small data updates | JDY-16 | BLE is a good fit for small periodic data |
| Always-connected serial terminal | HC-05 or JDY-16 depending on target device | Choose based on Bluetooth Classic vs BLE support on the other side |
Configuration and AT Commands
Both HC-05 and JDY-16 modules are often configured with AT-style commands, depending on firmware and module version. Common settings may include device name, baud rate and pairing or advertising behavior.
- AT command mode behavior depends on the module version
- Baud rate may need to be changed to match the microcontroller sketch
- Some modules require a pin or special boot condition to enter command mode
- Documentation quality varies between module suppliers
When buying modules, it is helpful to keep the original product documentation or command reference because clone and firmware differences can matter.
Use With Arduino UNO and Nano
Both HC-05 and JDY-16 can be used with Arduino UNO and Nano boards, but there is one common issue: the UNO and Nano have only one hardware serial port, and that port is also used for USB programming and the serial monitor.
- Using pins D0 and D1 can interfere with uploading sketches
- SoftwareSerial is often used for simple Bluetooth module projects
- Baud rates should be kept reasonable when using software serial
- Arduino Mega provides extra hardware serial ports and is easier for UART modules
For larger projects with multiple serial devices, choose a board with more UARTs or use an I2C/SPI-based expansion solution.
Use With ESP32
ESP32 boards already include Bluetooth or Bluetooth LE support depending on the ESP32 variant. In many cases, an external HC-05 or JDY-16 module may not be necessary.
- Classic ESP32 supports Bluetooth Classic and Bluetooth LE
- Many newer ESP32 variants support Bluetooth LE only
- External modules can still be useful for simple UART-based integration
- For new designs, using the ESP32's built-in wireless features may reduce hardware
If the project already uses an ESP32, check whether the required Bluetooth feature can be handled directly by the ESP32 firmware.
When to Use HC-05
- You want a simple Bluetooth Classic serial link
- You are connecting to an Android device or PC with Bluetooth serial support
- You want an easy wireless replacement for a UART cable
- You do not need iOS app compatibility
- You are building a bench-powered or simple control project
The HC-05 is still useful because it is easy to understand and works well for classic serial-style Bluetooth projects.
When to Use JDY-16
- You need Bluetooth LE
- You want better compatibility with modern phone app development
- You are building a BLE sensor or controller
- You want a lower-power Bluetooth direction
- You do not need Bluetooth Classic serial-port profile behavior
The JDY-16 is a better direction when BLE is required or when the project should work with BLE-based mobile apps.
Which Module Should You Choose?
| Project Need | Best Choice | Reason |
|---|---|---|
| Wireless serial cable replacement | HC-05 | Bluetooth Classic serial-style operation is simple and familiar |
| Android Bluetooth terminal project | HC-05 or JDY-16 | Android can support both directions depending on the app |
| iPhone app communication | JDY-16 | BLE is the better practical direction for iOS apps |
| Battery-powered BLE sensor | JDY-16 | Bluetooth LE is better suited for low-power sensor-style communication |
| PC serial control link | HC-05 | Bluetooth Classic serial-style behavior can be convenient on PCs |
| Modern BLE app project | JDY-16 or nRF52840 / ESP32 BLE solution | BLE is the correct technology direction |
Common Mistakes
- Assuming HC-05 and JDY-16 are interchangeable because both use UART
- Buying HC-05 for an iPhone app project without checking Bluetooth Classic limitations
- Connecting a 5V Arduino TX pin directly to a 3.3V module RX input
- Using pins D0 and D1 on an Arduino UNO and then wondering why uploads fail
- Expecting BLE to behave exactly like an old serial COM port
- Ignoring module firmware differences and AT command variations
When to Use Something Else
Sometimes neither HC-05 nor JDY-16 is the best choice.
- Use ESP32 if the project also needs WiFi
- Use nRF52840 for more advanced Bluetooth LE and low-power projects
- Use LoRa for long-range low-data-rate communication
- Use nRF24L01 for low-cost microcontroller-to-microcontroller radio links
- Use a wired UART, RS485 or CAN link when reliability is more important than wireless convenience
Conclusion
The HC-05 and JDY-16 are both useful Bluetooth modules, but they are not the same type of Bluetooth device.
- Choose the HC-05 for simple Bluetooth Classic serial communication, especially with PCs or Android devices that support Bluetooth serial apps.
- Choose the JDY-16 for Bluetooth LE projects, modern phone app communication and lower-power BLE-style devices.
The UART wiring may look similar, but the wireless technology is different. For old-style wireless serial links, HC-05 is often easier. For modern BLE phone and sensor projects, JDY-16 is usually the better direction.
