Skip to lesson content
BackBluetooth LE Unplugged™

Bluetooth LE Unplugged™

Novel BitsNovel Bits
Novel Bits Learning Hub
  • 1.1 Welcome & Course Overview6 min
  • 1.2 Setting Up Your BleuIO Dongles10 min
  • 1.3 Understanding AT Commands5 min
  • 1.4 Bluetooth LE Roles5 min
  • 1.5 Your First Scan6 min
  • 1.6 Exploring Scan Results7 min
  • 2.1 Bluetooth LE vs. Classic Bluetooth8 min
  • 2.2 The Protocol Stack, Layer by Layer8 min
  • 2.3 GAP: Roles, Modes, and Discovery7 min
  • 2.4 GATT: The Data Model7 min
  • 2.5 How AT Commands Map to the Stack7 min
  • 3.1 How Bluetooth LE Advertising Works10 min
  • 3.2 Building Custom Advertising Data14 min
  • 3.3 Scan Response and Extended Data11 min
  • 3.4 iBeacon Advertising9 min
  • 3.5 Scan Filtering and RSSI14 min
  • 3.6 Advertising Parameters Deep Dive12 min
  • 4.1 The Connection Process4 min
  • 4.2 Your First Connection10 min
  • 4.3 Connection Parameters Explained10 min
  • 4.4 Low-Latency vs. Low-Power Configurations10 min
  • 4.5 Connection Failures and Recovery9 min
  • 5.1 The GATT Hierarchy5 min
  • 5.2 Discovering the GATT Database7 min
  • 5.3 UUIDs, Handles, and Properties6 min
  • 5.4 Creating a Custom GATT Service16 min
  • 5.5 Standard vs. Custom Services5 min
  • 6.1 Reading Characteristics8 min
  • 6.2 Writing Characteristics13 min
  • 6.3 Notifications: Server-Pushed Data14 min
  • 6.4 Indications vs. Notifications14 min
  • 6.5 Bidirectional Communication with SPS10 min
  • 7.1 Connection Troubleshooting7 min
  • 7.2 GATT Error Codes8 min
  • 7.3 Role and State Confusion8 min
  • 7.4 Factory Reset Procedure7 min
  • 7.5 Troubleshooting Checklist11 min
  • 8.1 Bluetooth LE Security Overview12 min
  • 8.2 Just Works Pairing12 min
  • 8.3 Passkey Entry Pairing14 min
  • 8.4 Numeric Comparison Pairing15 min
  • 8.5 Bonding and Reconnection19 min
  • 8.6 Security Levels and Protected Characteristics17 min
  • 9.1 MTU Negotiation19 min
  • 9.2 Throughput Optimization17 min
  • 9.3 Write Without Response and Throughput Tuning17 min
  • 9.4 Power Optimization10 min
  • 9.5 Advertising Interval Optimization10 min
  • 9.6 PHY Options and Limitations7 min
  • 9.7 Performance Comparison Summary16 min
  • 10.1 Bluetooth LE Address Types8 min
  • 10.2 Resolvable Private Addresses11 min
  • 10.3 Identity Resolution and Bonded Scanning14 min
  • 10.4 Privacy in Production14 min
  • 11.1 Python Serial Communication18 min
  • 11.2 Building a Command Helper15 min
  • 11.3 Automated Scanning13 min
  • 11.4 Using the bleuio Library14 min
  • 11.5 Automated Connect-Read-Disconnect14 min
  • 11.6 Data Logging and CSV Export12 min
  • 11.7 Auto-Execute Commands14 min
  • 11.8 Error Handling and Robustness14 min
  • 12.1 CTF Introduction and Setup7 min
  • 12.2 Challenge: Hidden Device5 min
  • 12.3 Challenge: GATT Treasure Hunt5 min
  • 12.4 Challenge: Crack the Code6 min
  • 12.5 Challenge: The Whisper6 min
  • 12.6 Challenge: The Impostor6 min
  • 12.7 Challenge Debrief and Bonus Challenges9 min
  • 13.1 Sniffer Hardware and Software Setup19 min
  • 13.2 Installing Wireshark and the nRF Sniffer Plugin15 min
  • 13.3 Capturing Advertising Packets9 min
  • 13.4 Capturing Connection Establishment8 min
  • 13.5 Capturing Read and Write Operations8 min
  • 13.6 Capturing Notifications and Indications9 min
  • 13.7 Wireshark Basics for Bluetooth LE14 min
  • 13.8 Capture Exercise: Full Lifecycle11 min
  • 14.1 Advanced Wireshark Filters for Bluetooth LE13 min
  • 14.2 Filtering by Operation and Handle11 min
  • 14.3 Analyzing Connection Parameter Negotiation8 min
  • 14.4 Tracing a Read/Write Cycle8 min
  • 14.5 Tracing Notification Subscriptions8 min
  • 14.6 Capturing Just Works Pairing7 min
  • 14.7 Capturing Passkey and Numeric Comparison9 min
  • 14.8 Building a Capture Analysis Workflow13 min
  • 14.9 Capture Analysis Cheat Sheet6 min
  • 15.1 Correlating Sniffer and AT Command Output8 min
  • 15.2 Debugging Connection Failures8 min
  • 15.3 Debugging Parameter Rejections8 min
  • 15.4 Debugging GATT Errors8 min
  • 15.5 Android vs. iOS Connection Behavior11 min
  • 15.6 Production Debugging Workflows12 min
  • 15.7 Debugging Toolkit Summary10 min
Prev
Next

2.1 Bluetooth LE vs. Classic Bluetooth

Introduction

Before we go deeper into Bluetooth LE, let's address a question I hear constantly: "How is Bluetooth LE different from regular Bluetooth?" It's a fair question. They share the same name, use the same radio frequency, and both appear under "Bluetooth" in your phone's settings. But they are fundamentally different protocols designed for fundamentally different jobs.

Understanding this distinction matters because it affects everything from how you design a product to how you debug connection issues. Let's break it down.

A Brief History

Bluetooth has been around since 1998, originally designed for short-range wireless data transfer (think wireless headsets, file sharing between phones, and computer peripherals). This original version is now called Classic Bluetooth (sometimes called Bluetooth BR/EDR, which stands for Basic Rate/Enhanced Data Rate).

In 2010, the Bluetooth Special Interest Group (Bluetooth SIG) introduced Bluetooth Low Energy (Bluetooth LE) as part of the Bluetooth 4.0 specification. Despite sharing the Bluetooth name, Bluetooth LE was designed from the ground up for a completely different purpose: ultra-low-power devices that send small amounts of data infrequently.

The key insight behind Bluetooth LE was this: most sensors, beacons, and wearables don't need to stream audio or transfer large files. They need to send a temperature reading every few seconds, or broadcast their location, or report a heart rate. These are tiny packets of data with long idle periods in between. Classic Bluetooth was overkill (and too power-hungry) for these use cases.

Key Differences

Let's walk through the differences that matter most in practice.

Power Consumption

This is the defining difference; it's right there in the name.

  • Classic Bluetooth keeps a continuous connection alive, which consumes significant power. A typical Classic Bluetooth device needs milliamps of current during active communication.
  • Bluetooth LE is designed to spend most of its time asleep. A Bluetooth LE sensor can run for months or even years on a single coin cell battery because it wakes up, sends a few bytes, and goes right back to sleep.

In my experience, power consumption is the single biggest reason engineers choose Bluetooth LE over Classic. If your device runs on a battery, Bluetooth LE is almost always the right choice, and with LE Audio, even audio devices are starting to make the switch.

Data Throughput

  • Classic Bluetooth supports data rates up to 2-3 Mbps in practice. Historically, this made it the go-to choice for audio streaming and larger file transfers.
  • Bluetooth LE trades throughput for power efficiency. Typical application-layer throughput ranges from about 125 Kbps (Coded PHY) to 1.4 Mbps (2M PHY, under ideal conditions) depending on the PHY (Physical Layer) mode and connection parameters. (The raw PHY data rate on 2M PHY is 2 Mbps; the usable throughput is lower after protocol overhead.) That's more than enough for sensor data. The Bluetooth SIG has announced a High Data Throughput (HDT) feature aimed at narrowing the gap with Classic, but HDT is not part of the current Core Specification (v6.2 at the time of writing) and the final raw data rate has not been published.
What about LE Audio?

LE Audio (introduced in Bluetooth 5.2) brings audio streaming to Bluetooth LE using the LC3 codec. This means Bluetooth LE can now handle audio use cases that were previously exclusive to Classic Bluetooth, with better power efficiency and support for features like broadcast audio (Auracast).

That said, as of early 2026, LE Audio adoption is still in its early stages. Classic Bluetooth audio remains the dominant standard, and most devices continue to ship as dual-mode (supporting both Classic and LE) during the transition.

Connection Model

  • Classic Bluetooth establishes a persistent, paired connection. Devices negotiate profiles (like the Audio/Video Distribution Transport Protocol for streaming audio) and maintain an active link.
  • Bluetooth LE supports both connectionless communication (advertising/broadcasting) and connection-based communication. A Bluetooth LE device can broadcast data to any listener without ever forming a connection, something Classic Bluetooth can't do.

This connectionless capability is what makes Bluetooth LE beacons possible. A beacon broadcasts its identifier (and optionally sensor data) to every device within range, without needing to connect to any of them.

Device Discovery

  • Classic Bluetooth uses an inquiry process that can take several seconds and requires active participation from both devices.
  • Bluetooth LE uses advertising and scanning. A peripheral broadcasts advertising packets at regular intervals, and a central listens for them. Discovery is faster and uses less power.

You experienced this firsthand in Module 1. When the peripheral (black) dongle started advertising and the central (white) dongle scanned, the discovery happened in seconds. That's the Bluetooth LE advertising model at work.

When to Use Which

Let's look at a practical decision guide:

Use CaseBest ChoiceWhy
Wireless headphones/speakersClassic Bluetooth (or LE Audio)Continuous audio streaming. LE Audio is emerging as an alternative
Heart rate monitorBluetooth LESmall data packets, battery life matters
Indoor positioning (beacons)Bluetooth LEConnectionless broadcasting, coin cell powered
Wireless keyboard/mouseEither (often Bluetooth LE now)Low data rate, battery life matters
File transfer between phonesClassic BluetoothLarge data volumes
Environmental sensors (temp, humidity)Bluetooth LEInfrequent readings, years of battery life
Fitness trackers/smartwatchesBluetooth LESmall data, long battery life
Car hands-free callingClassic Bluetooth (or LE Audio)Continuous audio, transitioning to LE Audio

Many modern devices support dual-mode: they include both Classic Bluetooth and Bluetooth LE on the same chip. Your phone is a dual-mode device, which is why it can connect to both Bluetooth LE sensors and Classic Bluetooth headphones.

Hybrid devices: a gotcha worth knowing. Some products use BOTH stacks for different purposes within the same product. AirPods are a great example: audio streams over Bluetooth Classic (A2DP), while Apple's proximity-pairing animation and Find My beacons use Bluetooth LE. This means a Bluetooth LE scan can sometimes pick up AirPods (when they're opening the case, or when they're emitting Find My beacons) but not always (the Classic audio link is invisible to LE scans). When you scan for a device that "should be there" and don't see it, the first question to ask is: does this device advertise on LE, on Classic, or on both intermittently?

Key Takeaway: Classic Bluetooth has traditionally been the choice for continuous, high-throughput connections (audio, file transfer), while Bluetooth LE is optimized for intermittent, low-power communication (sensors, beacons, wearables). However, the line is blurring. LE Audio has already brought audio streaming into Bluetooth LE, and the SIG has previewed a future HDT feature that targets higher throughput. They share the same radio frequency band (2.4 GHz) but are separate protocols with different stacks.

Try It: See Bluetooth LE Discovery in Action

Let's see the Bluetooth LE advertising model we just discussed. Plug in both dongles and open both terminals.

If you're starting fresh, reset each dongle and set its role first so the commands below work cleanly:

ATR

Wait ~15 seconds for the dongle to reboot and your serial terminal to reconnect (the USB port may re-enumerate), then:

AT+PERIPHERAL
OK
ATR

Wait ~15 seconds for the dongle to reboot and your serial terminal to reconnect (the USB port may re-enumerate), then:

AT+CENTRAL
OK

Now start the peripheral advertising:

AT+ADVSTART
Advertising type: GAP_CONN_MODE_UNDIRECTED Advertising interval minimum: 1100 maximum: 1100

ADVERTISING...

Now scan from the central, targeting the peripheral's address for 3 seconds. You'll need the peripheral dongle's MAC address for this command; if you don't have it handy, run AT+GETMAC on the peripheral first to see it (the response line starts with OWN MAC ADDRESS:). Substitute that address wherever <PERIPHERAL-ADDRESS> appears:

AT+SCANTARGET=[0]<PERIPHERAL-ADDRESS>=3
SCANNING TARGET DEVICE...

[<PERIPHERAL-ADDRESS>] Device Data [ADV]: 02010603FF5B071107B75C49D204A34071A0B535853EB08307

[<PERIPHERAL-ADDRESS>] Device Data [ADV]: 02010603FF5B071107B75C49D204A34071A0B535853EB08307

[<PERIPHERAL-ADDRESS>] Device Data [RESP]: 0709426C6575494F

SCAN COMPLETE

Your central picks up the peripheral's advertising packets within seconds. That's the fast, low-power Bluetooth LE discovery model at work. Now stop advertising and scan again:

AT+ADVSTOP
STOPPING ADVERTISING...

ADVERTISING STOPPED.

Re-run the targeted scan:

AT+SCANTARGET=[0]<PERIPHERAL-ADDRESS>=3
SCANNING TARGET DEVICE...

SCAN COMPLETE

The peripheral disappears from the scan results. Unlike Classic Bluetooth's multi-second inquiry process, Bluetooth LE advertising is simple: if the device stops transmitting, it vanishes immediately.

Tip: If any of these commands return ERROR, it's usually a state issue. Run AT+ADVSTOP on the peripheral or ATR on either dongle to return to a clean state, then try again.

Can They Talk to Each Other?

No. A Bluetooth LE-only device cannot communicate with a Classic Bluetooth-only device. They use different protocol stacks, different discovery mechanisms, and different connection procedures. Your BleuIO dongles are Bluetooth LE-only devices. They can only communicate with other Bluetooth LE devices (or dual-mode devices using their Bluetooth LE interface).

This is a common source of confusion. When someone says their device "has Bluetooth," you need to know whether it supports Classic, Bluetooth LE, or both to determine compatibility.

Command Quick Reference

CommandWhat It Does
ATRReset the dongle to a clean state
AT+PERIPHERALSwitch to peripheral role
AT+CENTRALSwitch to central role
AT+ADVSTARTStart advertising
AT+ADVSTOPStop advertising
AT+SCANTARGET=[type]address=NScan for N seconds, filtered to one MAC

Summary

In this lesson, we covered:

  • The history behind Classic Bluetooth (1998) and Bluetooth LE (2010): same name, different protocols
  • The key differences: power consumption, throughput, connection models, and discovery
  • When to use each: Classic for audio/streaming, Bluetooth LE for sensors/beacons/wearables
  • Why they can't talk to each other directly (different protocol stacks)

What's Next

Now that you understand where Bluetooth LE fits in the Bluetooth family, let's look under the hood. In the next lesson, we'll walk through the Bluetooth LE protocol stack layer by layer, from the radio at the bottom to the application at the top.