With Mbed OS, ARM has gone to great lengths to make developing IoT-focused applications as painless as possible and has built in support for, among other functionalities, networking and BLE. From a getting-started example application perspective, Embedded Planet recommends the following examples:

  • mbed-os-example-blinky: Simple getting-started application that just blinks an LED
  • mbed-os-example-ble: Collection of BLE-focused examples which has support for our board (EP_AGORA) out of the box.
  • mbed-os-example-cellular: Simple cellular-based networking example that also has support for our board (EP_AGORA) out of the box. This example utilizes an “echo” server that ARM has set up to relay back packets sent over UDP or TCP to verify cellular connectivity at a basic level.
  • mbed-os-example-pelion: Simple example application which demonstrates connectivity to ARM's Pelion Device Management solution and has built-in support for our board (EP_AGORA). This example supports:
    • Securely connecting to the Pelion servers via cellular
    • Sending data up to the Pelion servers
    • Sending commands down to the device from the Pelion portal
    • Triggering secure firmware updates down to the device
  • Azure IoT Hub example: Uses MQTT over TLS to securely connect to Microsoft’s Azure IoT Hub
  • MQTT example: MQTT, MQTT-SN library
  • HTTP/HTTPS example: Examples for performing HTTP(S) POSTs, PUTs, GETs, .etc.
  • CoAP example: CoAP client application

ARM also provides an IDE called Mbed Studio which supports debugging and comes with ARM’s AC6 compiler. If you’d like to have more granular control of the build process or export a project to an IDE you’re more comfortable with, there’s also support for the Mbed CLI tools.