The BBC micro:bit has an onboard tranceiver that is capable of both Bluetooth Low Energy and radio communications. Whilst they use the same 2.4GHz frequency to transmit and receive, there are subtle differences in each protocol that make them more appropriate for specific tasks or activities.


  • You cannot use Bluetooth and radio at the same time; this is why the radio blocks are removed in the MakeCode editor when you try to add the Bluetooth extension.
  • BLE is not supported in MicroPython.



Bluetooth (BLE)

This is the primary way in which to make your micro:bit communicate with your mobile device. If you use the iOS mobile app, BLE is the protocol you will use to connect and transfer data. One of the key advantages of using Bluetooth is that it establishes a secure 'trust' relationship between devices by initially requesting permission to send and receive data. This is what happens when we 'pair' the micro:bit with our phones/tablets.


  • BLE may differ from the Bluetooth transceiver on your computer for wireless keyboards and mice, so you should not expect a Mac, Windows, or Linux desktop/laptop to automatically discover the micro:bit by default.


Radio

The radio implementation is a simple protocol that allows you to transmit and receive data between devices; in other words, micro:bit to micro:bit. The main difference between BLE and radio is that radio does not care for security protocols or trust relationships. It just sends information in the hope that someone receives it. This has the advantage of making it easy to demonstrate wireless communication in the classroom; one of the simplest examples is the 'teleporting duck' project, which displays a picture of a duck on the LED screen when the micro:bit receives a string.


It's theoretically possible to broadcast and receive over an unlimited number of micro:bits using radio. In practice, though, you may be limited by channel congestion (many wireless devices also use 2.4Ghz), distance and objects within the space impeding the signal; walls, doors, people, etc.


Further Information