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 certain tasks or activities.
- BLE is not supported in MicroPython.
This is the primary way in which to make your micro:bit communicate with your mobile device. If you use either of the mobile apps, BLE is the protocol that you will use in order to connect and transfer data. One of the key advantages of using bluetooth is that it creates a secure 'trust' relationship between devices, so that you have to initially ask permission in order to send and receive data. This is what happens when we 'pair' our micro:bits with our phones/tablets.
- BLE may differ from the Bluetooth transceiver you have on your computer for using wireless keyboards and mice, so don't expect a Mac, Windows or Linux desktop/laptop to discover the micro:bit.
- bittysoftware.com is a fantastic resource for learning more about bluetooth on the micro:bit
The radio implementation is a simple protocol that allows you to transmit and receive data from and to another device that uses the same protocol. In our case, the 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 of this is the 'teleporting duck' that simply displays a pictue 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 wirelesss devices also use 2.4Ghz), distance and objects within the space impeding the signal; walls, doors, people etc.
- Nominet have published a brilliant guide on networking with the BBC micro:bit
- micro:bit runtime docs about radio
- Technical information regarding the radio implementation