news

ESP32 Supports BLE in Amazon FreeRTOS

Reporting from Shanghai, China
Dec 4, 2018

BLE support in Amazon FreeRTOS is now available in beta. Users can securely connect ESP32 dev boards, or other a:FreeRTOS devices that use BLE, to AWS IoT through Android and iOS devices.

Bluetooth-Low-Energy (BLE) support in Amazon FreeRTOS (a:FreeRTOS) lets developers create new applications for devices that need lower power in  any  form  of connectivity, including Wi-Fi. So, in this environment, developers can use the standard Generic Access Profile (GAP) and Generic Attributes (GATT) profiles through a universal API layer to create BLE applications that are portable across any a:FreeRTOS-qualified device, while using companion Android and iOS SDKs to integrate them with the AWS IoT functionality.

Espressif’s ESP32 development boards support BLE in a:FreeRTOS. In fact, ESP32 provides one of the first few platforms supporting the BLE feature in a:FreeRTOS. Since May 2018, Espressif Systems’ ESP32-DevKitC and ESP-WROVER-KIT have been officially qualified for a:FreeRTOS. ESP32-DevKitC is an entry-level development board, and ESP-WROVER-KIT is a development board that has support for LCD, MicroSD card, and USB JTAG interface. They come in two variants, either with the ESP32-WROOM-32 or the ESP32-WROVER module. Users can take advantage of a:FreeRTOS features and the respective benefits for microcontrollers,  including BLE support, when using these development boards from Espressif.

In a recent post on the official AWS IoT blog, Richard Kang describes the use case of a BLE device (Espressif’s ESP32-DevKitC) connecting to AWS IoT through an Android proxy. This allows the BLE device to use the same MQTT protocol, while being agnostic to the underlying communication carrier of either BLE or Wi-Fi. Because BLE offers lower power than Wi-Fi, devices can use the MQTT protocol to connect to AWS IoT services over BLE. This brings the best of low power and rich AWS IoT services, such as Amazon FreeRTOS over-the-air updates, to the devices in the field. Readers can find the entire use case, which is based on ESP32-DevKitC, here.


Getting started with Amazon FreeRTOS BLE is easy. Users can download source code from the Amazon FreeRTOS console, as well as the SDK for either Android or iOS from GitHub. The download also contains a sample Android/iOS app that can be used for building one’s own BLE device. When the BLE device boots up, it enters the standard BLE pairing process for headless devices.

The Amazon FreeRTOS support for BLE is available for any of the qualified development boards, such as Espressif’s ESP32-DevKitC. For more information about how to get started, readers can refer to the Amazon FreeRTOS Developer Guide.