What Is BLE? Pinouts, Wiring, and Common Errors (2026 Guide)
Share
What Is BLE? Pinouts, Wiring, and Common Errors (2026 Guide)
BLE (Bluetooth Low Energy) is Bluetooth's lightweight cousin — designed to sip power instead of stream audio. Classic Bluetooth can pull tens of mA continuously; a BLE device can sleep at microamps and wake briefly to send a packet. That trade-off — small chunks of data, slowly — is why everything battery-powered runs on BLE.
Quick answer: BLE devices advertise ("I'm sensor-01, I exist") and a phone or board scans and connects. Data lives in a tree of "services" containing "characteristics" you subscribe to or write. An ESP32 has BLE built in — no extra module needed. On an Arduino Uno/Nano, add an HM-10 BLE module as a UART-to-BLE bridge.
Proof of work: the explanation below is Soldr's actual answer to "What is BLE and how do I use it?", asked through Compoden's AI build assistant on 11 August 2026. Published 11 August 2026 · Last updated 11 August 2026.
How does data actually move over BLE?
Two roles: the sensor or board advertises ("I'm sensor-01, I exist"), and your phone or another board scans and connects to it as the central. Once connected, data lives in a tree of "services" (like Heart Rate) containing "characteristics" (like Heart Rate Measurement). You subscribe to a characteristic to receive its updates, or write to it to send commands — apps like nRF Connect let you poke around this tree and see live values. Most hobby projects also use the "UART trick": fake a serial port over BLE, so data you send to a UART service comes out the other side as if it were a cable.
| Property | Value |
|---|---|
| Power | Sleeps at microamps, wakes briefly to send — built for battery devices |
| Data model | GATT services containing characteristics; subscribe or write |
| ESP32 support | Built in — BLE 4.2 plus WiFi on one chip |
| Uno/Nano support | None natively — needs an HM-10 module (3.3V UART-to-BLE bridge) |
| ESP32-S3/C3/C6 | BLE-only — cannot do Classic Bluetooth audio |
How do you get BLE working on each board family?
On an ESP32, grab a board with BLE built in and use the BLE_server / BLE_scan examples from the ESP32 BLE library in the Arduino IDE — no extra module, no wiring. Flash the example, install a BLE terminal app (nRF Connect or Serial Bluetooth Terminal), connect to the board's advertised name, and you're reading and writing data.
If you want BLE on an Arduino Uno or Nano (which has no wireless at all), the HM-10 BLE 4.0 CC2541 Module is the classic add-on — a 3.3V UART-to-BLE bridge, default 9600 baud, roughly 30m range. Remember it's 3.3V logic only, so on a 5V Arduino you'd level-shift the TX/RX lines, and it won't do Classic Bluetooth audio, BLE only.
Why can't my "BLE" board make a phone call or stream audio?
Because BLE structurally can't — it has no SPP, A2DP, or HFP profiles, the Classic Bluetooth features that carry serial-over-Bluetooth, music, or call audio. This trips people up specifically on the newer ESP32 family: ESP32-S3, C3, and C6 are BLE-only silicon, so a project needing Classic Bluetooth audio needs the original ESP32 (WROOM-32 family), not the newer-looking variants.
What do you need to try this yourself?
An ESP32 30-Pin Development Board (CP2102, WiFi/Bluetooth) (Rs.400) has BLE built in — no extra parts. On an Arduino Uno instead, add an HM-10 BLE Bluetooth 4.0 (CC2541) Wireless Module (Rs.548).
Frequently asked questions
BLE aur normal Bluetooth mein kya fark hai?
Normal Bluetooth (Classic) audio stream aur continuous connection ke liye bana hai, jisme zyada battery lagti hai. BLE chhote data packets bhejne ke liye bana hai aur zyadatar time sleep mein rehta hai, isliye battery-powered sensors aur fitness bands jaise devices BLE use karte hain, na ki Classic Bluetooth.
Does the Arduino Uno have built-in BLE?
No - the classic Uno has no wireless hardware at all. To add BLE, you wire on an external module like the HM-10, which acts as a UART-to-BLE bridge - your sketch talks to it over normal serial commands, and it handles the BLE radio work.
What is the price of an HM-10 BLE module in India?
The HM-10 BLE Bluetooth 4.0 (CC2541) Wireless Module costs Rs.548 at Compoden, with cash on delivery available across India. Prices checked 11 August 2026 against the live catalog.
Can ESP32-C3 or ESP32-S3 do Classic Bluetooth?
No - the S3, C3, and C6 members of the ESP32 family are BLE-only; they cannot run Classic Bluetooth profiles like SPP (serial), A2DP (audio streaming), or HFP (call audio) at all. If your project specifically needs Classic Bluetooth, use the original ESP32 (WROOM-32 family) instead.