Two Kings · Act 4 · Low Energy changes everything

Bluetooth Low Energy and how it changed Arduino

The research behind 24:04–33:42 of the film · Watch this part

Bluetooth Low Energy is a second Bluetooth radio, added beside Classic Bluetooth rather than replacing it, and built for things that run on a button cell.82 It began at Nokia as Wibree, announced in 2006, was folded into Bluetooth a year later, and came back in 2010 as the headline of version 4.0.7 Low Energy was open to any iPhone app, while the Classic HC-05 never was, which is why the HM-10 was sold from the start as the module that works with the iPhone.2821

Key facts

  • Nokia's researchers started on it in 2001, and Nokia announced it on the third of October 2006 as a radio for watches, keyboards, toys and sports sensors.12
  • In June 2007 Nokia handed Wibree to the Bluetooth group, and it arrived in 2010 as Bluetooth Low Energy, the headline of version 4.0.67
  • For most of its life a Low Energy device just announces itself: one short message of 31 bytes at most, on three of its 40 channels, to anyone listening.119
  • Its data is laid out as a tree of services and characteristics. Any heart-rate strap puts its reading in the same place, a Heart Rate service numbered 180D.1314
  • The iPhone 4S went on sale on the fourteenth of October 2011 with Bluetooth 4.0, reported as the first phone to carry Low Energy. Android apps waited until Android 4.3, in July 2013.1719
  • The HM-10 was a Low Energy module from Jinan Huamao on a Texas Instruments chip, and most modules sold as HM-10 are clones such as the CC41-A, the AT-09 and the MLT-BT05.23
  • The original ESP32 speaks both Classic and Low Energy, but the newer C3 and S3 carry Low Energy only.3637

40

facts cited

64

sources, 48 primary

5

common claims corrected

3

archival images

What this part says

The narration, line by line, as it is spoken in the film.

The button cell

Nokia's researchers had started on it in 2001, five years before the rest of the world heard its name.1

On the third of October 2006, Nokia put it on the table. It was a radio for things that run on a button cell: watches, keyboards, toys, sports sensors.2

Chip makers signed on the same day, among them a small Norwegian company called Nordic Semiconductor. Remember that name.2

It was never meant to carry music. Its makers said so themselves. It was built to say small things, rarely.3

The promise was a sensor that could run for months, in many cases more than a year, on a battery the size of a coin.4

By 2004 the idea had a plain working name in a conference paper: a 'low end extension for Bluetooth'. The phone would carry a little extra, so that the watch or the sensor could carry almost nothing.5

One year becomes three

In June 2007 Nokia handed Wibree to the Bluetooth group. The group said it would be ready in about a year. It took three.6

In 2010 it came back as Bluetooth Low Energy, the headline of version 4.0.7

And here's the part that matters for the rest of this story. Low Energy didn't replace Classic Bluetooth. It was added beside it: a second radio with a different way of talking, under the same name and the same logo.8

Two radios under one logo, and they can't talk to each other.8

How it talks

Low Energy uses 40 wider channels, and just three of them are for announcing "I'm here".9

The design gives the hard work to the phone, which has a big battery, and lets the little device do as little as possible.10

For most of its life a Low Energy device just announces itself. It sends one short message, 31 bytes at most, to anyone listening, and it doesn't wait for a reply.11

From there it can let one phone connect for a private conversation, or keep broadcasting to any number of listeners. Classic Bluetooth only knew the first.12

Everything a Low Energy device knows is laid out like a tree. The services are the branches, and the characteristics are the leaves, each holding one value. A phone can read a leaf, write to it, or ask to be told whenever it changes.13

The branches have standard names. Any heart-rate strap, from any maker, puts its reading in the same place, a Heart Rate service numbered 180D, so any phone knows where to look.14

A strap from one company and a phone from another understand each other without ever having met.14

The tree was ready. Now all it needed was a phone that could speak it.

The phone arrives

In June 2011 two new names joined the Bluetooth group's board: Apple, and Nordic, the chip maker that had backed Wibree from its first day.15

Apple's door for apps was called Core Bluetooth. It arrived with iOS 5 in October 2011, and it opened onto Low Energy.16

Two days later the iPhone 4S went on sale with Bluetooth 4.0 inside. It was reported at the time as the first phone to carry Low Energy.1716

Ten days after that, the Bluetooth group gave Low Energy a consumer name, Bluetooth Smart, and held up the new iPhone as its example.18

Android apps waited almost two more years. Android 4.3, in July 2013, finally let them talk to Low Energy devices, and only as the listener.19

Letting the phone play the device itself came later, with Android 5.0.19

The module and its shadows

The maker bench got its Low Energy module from an unlikely place. The company behind the HM-10, Jinan Huamao, wasn't a radio company first. In 2013 its website led with queue-ticket machines, payment kiosks and software for operating theatres.20

In January 2013 Huamao posted a video of its HM-10 talking to an iPhone 4S. The selling point was clear from the start: this module works with the iPhone.21

The HM-10 builds a serial cable on top of the tree. It has one service, numbered FFE0, with one characteristic, FFE1, that carries whatever bytes you send. Those numbers aren't a Bluetooth standard. They're just the module's choice.22

Then came the copies: boards with the same Texas Instruments chip and different firmware, sold under its name. Huamao's own datasheet ended up warning buyers about fakes, and it printed its name on both sides of the board so you could tell.2324

The quickest test is to ask the module its name. A genuine one wants a question mark and no line ending, and the clones want the opposite. Follow a tutorial written for one with the other in your hand, and you get silence.25

Then the copy was copied. The MLT-BT05 is a clone of the clone, and it lost a little more each time.26

A status pin that isn't connected, and a speed table that runs backwards.26

Most people who think they own an HM-10 own one of those.23

Which brings us back to the iPhone.

The wall

And now the wall.

Apple's own developer notes put the question plainly: why doesn't my app see the Bluetooth accessory sitting next to my iPhone?27

The answer was a licence. Classic Bluetooth devices could talk to an iPhone app only if they were built under Apple's accessory program. An HC-05 never was.2728

So the HC-05 that every Android tutorial used simply does not exist to an iPhone app.28

In 2019 Apple opened a side door. Apps could now reach some Classic devices, but only ones that speak the same tree-shaped language as Low Energy. The HC-05 predates that language, and for it the door stayed shut.29

There's one more twist. In January 2017 Chrome let an ordinary web page talk to a Low Energy device: open a link, pick the module from a list, drive it, with no app at all.30

But Apple's browser has never supported it, on the Mac or on the iPhone. So you buy the Low Energy module to reach the iPhone, and the web-page remote is the one thing that still won't work there.31

And even in Chrome, a web page only speaks the Low Energy tree. To a web page, as to an iPhone app, the HC-05 isn't there.32

The bench picks a side

The radios moved onto the boards themselves. Intel's Curie put Low Energy on the Arduino 101 in 2016, and a year later Intel left the maker market.33

In 2019 the Nano 33 BLE arrived on a Nordic chip, the same Nordic from the first day of Wibree, with Arduino's own Bluetooth library on the same day.342

Espressif's ESP32, out since 2016, put Wi-Fi and Bluetooth together on one small chip. The original speaks both languages, and an iPhone app still hears only the Low Energy half.3536

The newer chips in the family made a choice. The C3 and the S3, and the chips after them, carry Low Energy only. Classic was left behind.37

And in December 2016, Bluetooth 5 gave Low Energy a fast lane at twice the speed, and a long-range mode that reaches about four times as far.38

The long range didn't come from shouting louder. It came from saying each thing more carefully.39

It added enough redundancy that a faint signal can still be understood.39

And each announcement got room to say about eight times more.38

Small things, said rarely, and now heard from further away.338

Stories that are usually told wrong

Common questions

What is Bluetooth Low Energy?

A low-power radio for small devices, added to Bluetooth in version 4.0. Low Energy did not replace Classic Bluetooth. It was added beside it: a second radio with a different way of talking, under the same name and the same logo. It was never meant to carry music. Its makers said so themselves: the harder you push it, the less power it saves. It was built to say small things, rarely. The promise was a sensor that could run for months, in many cases more than a year, on a battery the size of a coin.834

Why can't an iPhone see an HC-05?

Apple never let ordinary iPhone apps talk to Classic Bluetooth serial devices; that is reserved for accessories in Apple's own licensing program. Low Energy was open to anyone. So the HC-05 that every Android tutorial used simply does not exist to an iPhone app. In 2019 Apple opened a side door: apps could now reach some Classic devices, but only ones that speak the same tree-shaped language as Low Energy. The HC-05 predates that language. For it, the door stayed shut.2829

Who invented Bluetooth Low Energy?

It began at Nokia. Nokia's researchers had started on it in 2001, five years before the rest of the world heard its name. In 2006 Nokia announced its own low-power radio, Wibree. A year later it agreed to fold it into Bluetooth, and in 2010 it came back as Bluetooth Low Energy, the headline of version 4.0.17

What is the HM-10?

The HM-10 was Low Energy, built by Jinan Huamao on a Texas Instruments chip. Soon the market filled with boards carrying the same TI chip and different firmware (the CC41-A, the AT-09, the MLT-BT05), and most people who think they own an HM-10 own one of those. In January 2013 Huamao posted a video of its HM-10 talking to an iPhone 4S. Within weeks it was giving away the source code of an iPhone app to go with it. The selling point was clear from the start: this module works with the iPhone.2321

Does the ESP32 have Classic Bluetooth?

Only some of them do. The original ESP32 speaks both languages. With one chip it can pretend to be an HC-05 and an HM-10 at the same time. And an iPhone app can still only hear the Low Energy half. The newer chips in the family made a choice. The ESP32-S2 has no Bluetooth at all. The C3 and S3, from 2020, and the chips after them, carry Low Energy only. Classic was left behind.3637

Does Web Bluetooth work on an iPhone?

No. In January 2017 Chrome let an ordinary web page talk to a Low Energy device. You open a link, pick the module from a list, and drive it, with no app at all. And Apple's browser has never supported it, on the Mac or on the iPhone. Apple lists it among the features it has chosen not to build, for privacy and security reasons. Firefox declined too.3031

The facts and their sources

Primary sources come first: the organisation, person or document itself. Secondary sources are reputable press or reference works.

  1. 1

    Nokia's researchers had started on it in 2001, five years before the rest of the world heard its name.

  2. 2

    On the third of October 2006, Nokia put it on the table. It was a radio for things that run on a button cell: watches, keyboards, toys, sports sensors. Chip makers signed on the same day, among them a small Norwegian company called Nordic Semiconductor.

  3. 3

    It was never meant to carry music. Its makers said so themselves: the harder you push it, the less power it saves. It was built to say small things, rarely.

  4. 4

    The promise was a sensor that could run for months, in many cases more than a year, on a battery the size of a coin.

  5. 5

    By 2004 the idea had a plain working name in a conference paper: a 'low end extension for Bluetooth'. The phone would carry a little extra, so that the watch or the sensor could carry almost nothing.

  6. 6

    In June 2007 Nokia handed Wibree to the Bluetooth group. The group said it would be ready in about a year. It took three.

  7. 7

    In 2006 Nokia announced its own low-power radio, Wibree. A year later it agreed to fold it into Bluetooth, and in 2010 it came back as Bluetooth Low Energy, the headline of version 4.0.

  8. 8

    Low Energy did not replace Classic Bluetooth. It was added beside it: a second radio with a different way of talking, under the same name and the same logo.

    Often told as: Bluetooth Low Energy is the newer, better version of Bluetooth and replaces Classic.
    Why that is not right: Common misconception. The SIG primer says LE 'rather than replace its predecessor, Bluetooth BR/EDR, sat alongside it as an alternative'. The two are not compatible over the air, and that is the root of the iPhone wall.
  9. 9

    Low Energy uses 40 wider channels, and just three of them are for announcing 'I'm here'.

  10. 10

    The design gives the hard work to the phone, which has a big battery, and lets the little device do as little as possible.

  11. 11

    For most of its life a Low Energy device just announces itself. It sends one short message, 31 bytes at most, on three channels, to anyone listening, and it doesn't wait for a reply.

  12. 12

    From there, it can do two things. It can let one phone connect for a private conversation, or it can simply keep broadcasting to any number of listeners, with no connection at all. Classic Bluetooth only knew the first.

  13. 13

    Everything a Low Energy device knows is laid out like a tree. The services are the branches, and the characteristics are the leaves, each holding one value. A phone can read a leaf, write to it, or ask to be told whenever it changes.

  14. 14

    The branches have standard names. Any heart-rate strap, from any maker, puts its reading in the same place, a Heart Rate service numbered 180D, so any phone knows where to look.

  15. 15

    In June 2011 two new names joined the Bluetooth group's board: Apple, and Nordic, the Norwegian chip maker that had backed Wibree from its first day.

  16. 16

    Apple's door for apps was called Core Bluetooth. It arrived with iOS 5 in October 2011, two days before the iPhone 4S, and it opened onto Low Energy.

  17. 17

    On the fourteenth of October 2011 the iPhone 4S went on sale with Bluetooth 4.0 inside. It was reported at the time as the first phone to carry Low Energy.

  18. 18

    Ten days later the Bluetooth group gave Low Energy a consumer name, Bluetooth Smart, and held up the new iPhone as the example of a phone that was ready for it.

  19. 19

    Android apps waited almost two more years. Android 4.3, in July 2013, finally let them talk to Low Energy devices, and only as the listener. Letting the phone play the device itself came later, with Android 5.0.

  20. 20

    The company behind the HM-10, Jinan Huamao, wasn't a radio company first. In 2013 its website led with queue-ticket machines, payment kiosks, oil sensors for power stations and software for operating theatres. Its first Bluetooth modules were Classic ones, built on CSR BlueCore chips, the same family inside the HC-05.

  21. 21

    In January 2013 Huamao posted a video of its HM-10 talking to an iPhone 4S. Within weeks it was giving away the source code of an iPhone app to go with it. The selling point was clear from the start: this module works with the iPhone.

  22. 22

    The HM-10 builds a serial cable on top of that tree. It has one service, numbered FFE0, with one characteristic, FFE1, that carries whatever bytes you send. Those numbers aren't a Bluetooth standard. They're just the module's choice, and you can change them.

    Often told as: The HM-10's FFE0/FFE1 UUIDs are standard SIG-assigned numbers for a Bluetooth serial service.
    Why that is not right: The Huamao datasheet: 'Service: 0xFFE0 (Modifiable use AT+UUID command) / Characteristic: 0xFFE1'.
  23. 23

    The HM-10 was Low Energy, built by Jinan Huamao on a Texas Instruments chip. Soon the market filled with boards carrying the same TI chip and different firmware (the CC41-A, the AT-09, the MLT-BT05), and most people who think they own an HM-10 own one of those.

    Often told as: HM-10 uses the TI CC2541, and the clones (CC41-A etc.) follow from it.
    Why that is not right: Early HM-10s used the CC2540, current ones the CC2541. The clones copy the hardware design, not the firmware.
  24. 24

    Then came the copies. Another company, Bolutek, made a near-identical board with its own firmware, and sellers listed it as an HM-10. Huamao's own datasheet ended up warning buyers about fakes, and it printed its name on both sides of the board so you could tell.

  25. 25

    The quickest test is to ask the module its name. A genuine one wants a question mark and no line ending. The clones want the opposite. Follow a tutorial written for one, with the other in your hand, and you get silence.

  26. 26

    Then the copy was copied. The MLT-BT05 is a clone of the clone, and it lost a little more each time: a status pin that isn't connected, and a speed table that runs backwards.

  27. 27

    Apple's own developer notes put the question plainly: why doesn't my app see the Bluetooth accessory sitting next to my iPhone? The answer was a licence. Classic Bluetooth devices could talk to an iPhone app only if they were built under Apple's accessory program. An HC-05 never was.

  28. 28

    Apple never let ordinary iPhone apps talk to Classic Bluetooth serial devices; that is reserved for accessories in Apple's own licensing program. Low Energy was open to anyone. So the HC-05 that every Android tutorial used simply does not exist to an iPhone app.

  29. 29

    In 2019 Apple opened a side door: apps could now reach some Classic devices, but only ones that speak the same tree-shaped language as Low Energy. The HC-05 predates that language. For it, the door stayed shut.

    Often told as: Core Bluetooth is Low Energy only, and iPhone apps can never reach any Classic Bluetooth device.
    Why that is not right: Since iOS 13 (WWDC 2019, session 901), Core Bluetooth supports GATT over BR/EDR ('Core Bluetooth for BR/EDR'). Apple's documentation now describes the framework as communicating with 'Bluetooth low energy and BR/EDR (Classic) Devices'. GATT arrived with Bluetooth 4.0; the HC-05 is a Bluetooth 2.0+EDR SPP module (iTead datasheet), so it has no GATT to offer.
  30. 30

    In January 2017 Chrome let an ordinary web page talk to a Low Energy device. You open a link, pick the module from a list, and drive it, with no app at all.

  31. 31

    And Apple's browser has never supported it, on the Mac or on the iPhone. Apple lists it among the features it has chosen not to build, for privacy and security reasons. Firefox declined too.

  32. 32

    But it only speaks the Low Energy tree. To a web page, as to an iPhone app, the HC-05 isn't there.

  33. 33

    Intel's Curie put Low Energy on the Arduino 101 in 2016. A year later Intel left the maker market.

  34. 34

    In 2019 the Nano 33 BLE arrived on a Nordic chip, with Arduino's own Bluetooth library on the same day.

  35. 35

    Espressif's ESP32, out since 2016, put Wi-Fi and Bluetooth together on one small chip.

  36. 36

    The original ESP32 speaks both languages. With one chip it can pretend to be an HC-05 and an HM-10 at the same time. And an iPhone app can still only hear the Low Energy half.

  37. 37

    The newer chips in the family made a choice. The ESP32-S2 has no Bluetooth at all. The C3 and S3, from 2020, and the chips after them, carry Low Energy only. Classic was left behind.

    Often told as: Every ESP32 has Bluetooth Classic, so any ESP32 can replace an HC-05.
    Why that is not right: Espressif product pages: ESP32-C3 'Wi-Fi and Bluetooth 5 (LE)' (announced Nov 2020); ESP32-S3 'Wi-Fi and Bluetooth 5 (LE)' (announced Dec 2020); ESP32-C6 Wi-Fi 6 + Bluetooth 5 (LE) + 802.15.4; ESP32-H2 Bluetooth 5 (LE) + 802.15.4, no Wi-Fi; ESP32-S2 datasheet: Wi-Fi only.
  38. 38

    In December 2016, Bluetooth 5 gave Low Energy three upgrades: a fast lane at twice the speed, a long-range mode that reaches about four times as far, and room to say about eight times more in each announcement.

  39. 39

    The long range didn't come from shouting louder. It came from saying each thing more carefully, with enough redundancy that a faint signal can still be understood.

  40. 40

    Outside America the founders couldn't safely use their own name, so they made a new one: Genuino. Italian for genuine. As if the board had to prove it.

The images

Real photographs and documents used in this part, with their credits and licences. Tap one to see the original.

iPhone 4S, the first iPhone with Bluetooth LE (2011)
iPhone 4S, the first iPhone with Bluetooth LE (2011)Zach Vega / Wikimedia Commons / CC BY-SA 3.0
Genuino 101 (Arduino 101), Intel Curie, with Genuino branding
Genuino 101 (Arduino 101), Intel Curie, with Genuino brandingPhoto: Gareth Halfacree / CC BY-SA 2.0
ESP32 dev board (ESP-WROOM-32)
ESP32 dev board (ESP-WROOM-32)Ubahnverleih (CC0), via Wikimedia Commons

Dramatised scenes

Places, people and eras for which no footage exists, reconstructed for the film. They are marked DRAMATISATION on screen.

A misty field at sunrise: fence posts, and a small white puck strapped to the nearest one.
DramatisationA misty field at sunrise: fence posts, and a small white puck strapped to the nearest one.
Close on the white puck, dew beaded on its face, its pinhole light dark.
DramatisationClose on the white puck, dew beaded on its face, its pinhole light dark.
A thin silver button cell lying flat on the wet post top; a dew drop slides.
DramatisationA thin silver button cell lying flat on the wet post top; a dew drop slides.
A runner's wrist with a plain black band passes the misty fence line.
DramatisationA runner's wrist with a plain black band passes the misty fence line.
A row of wooden wharf warehouses on a Norwegian river at dawn.
DramatisationA row of wooden wharf warehouses on a Norwegian river at dawn.
Frost on the fence wire melts into drops in the first sun.
DramatisationFrost on the fence wire melts into drops in the first sun.
A plain watch, a keyboard and a small toy on a table at dawn: the button-cell world.
DramatisationA plain watch, a keyboard and a small toy on a table at dawn: the button-cell world.
The sensor on its post in the mist; its pinhole light blinks teal once.
DramatisationThe sensor on its post in the mist; its pinhole light blinks teal once.
A runner from behind on a path at dawn, a strap across the back.
DramatisationA runner from behind on a path at dawn, a strap across the back.
A launch-day queue at dawn outside a glass storefront, seen from behind.
DramatisationA launch-day queue at dawn outside a glass storefront, seen from behind.
A waiting hall with a ticket kiosk, numbers glowing out of focus.
DramatisationA waiting hall with a ticket kiosk, numbers glowing out of focus.
Hands sort identical small closed white boxes into grey trays under a strip light.
DramatisationHands sort identical small closed white boxes into grey trays under a strip light.
The maker's desk at night, lamp on, dust drifting in the light; nothing answers.
DramatisationThe maker's desk at night, lamp on, dust drifting in the light; nothing answers.
A tall stone wall at night; a lantern rakes light across it; the camera tilts up.
DramatisationA tall stone wall at night; a lantern rakes light across it; the camera tilts up.
A small side door in a great stone wall, ajar, warm light spilling out.
DramatisationA small side door in a great stone wall, ajar, warm light spilling out.
The heavy oak door stays shut; a line of light lies under it.
DramatisationThe heavy oak door stays shut; a line of light lies under it.
A maker's bench at dusk; hands close a clear parts box and reach for another.
DramatisationA maker's bench at dusk; hands close a clear parts box and reach for another.
The field at dusk: the sensor on its post; its light switches on teal.
DramatisationThe field at dusk: the sensor on its post; its light switches on teal.
The field at nightfall from far off: one tiny teal point on a distant post.
DramatisationThe field at nightfall from far off: one tiny teal point on a distant post.

All sources

Two Kings: a history of Arduino and Bluetooth, by Troniction. The Bluetooth® word mark and logos are registered trademarks owned by Bluetooth SIG, Inc. Arduino® is a trademark of Arduino S.r.l. Neither endorses this film. Image credits and licences are listed with each image.