Agora Product Development Kit

Embedded Planet's Agora Product Development Kit is a multi-connectivity, multi-sensor IoT endpoint and development adapter that enables the prototyping of Cellular, Bluetooth, and LoRaWAN designs. The kit includes a fully populated Agora and a Flidor development adapter.


Embedded Planet's Agora Product Development Kit is a multi-connectivity, multi-sensor IoT endpoint and development adapter that enables the prototyping of Cellular, Bluetooth, and LoRaWAN designs.

This is a production-ready module that can utilize Cellular, Bluetooth, LoRa, or a combination of the three connectivity options. It has 4MB of external QSPI NOR flash for data storage

Featuring the following sensors for detecting:

  • Air Quality
  • Temperature
  • Humidity
  • Acceleration
  • Angular Rate of Change
  • Magnetic Field
  • Range
  • Audio

Agora features a NRF52840 (Fanstel BT840) module as board controller. Agora connects to the Flidor development adapter board via the Tectonic Edge connector. The connector enables access to the communication busses, sensors, and modules featured on Agora. The development adapter includes breakout access for JTAG and debug UART pins for debugging, I2C and Spi busses for sensor communication monitoring, as well as the QSPI interface for flash. It features a barrel jack for applying power to the kit as well as a USB connector to interface with the USB pins on the nRF52840.

Getting Started Guide

Click here for an easy-to-use guide to quickly get up and running with the Agora Product Development Kit.

Functional Block Diagram




The Telit ME910C1 module enables worldwide support of NB-IOT (NB1) CAT-M1 cellular bands. Optimzed for power consumption and enhanced coverage, this module features a maximum downlink and uplink rate of 1Mbps. This module supports Power Saving Mode and extended Discontinous Reception as specified by 3GPP.


The FCC certified NiceRF sx1276 LoRa module enables LoRa connectivity. A pin compatible sx1262 module is also available as a populate option but is not yet FCC certified. The sx1276 module features a receive sensitivity greater than -148 dBm, receive current of just 9.9 mA. +20 dBm transmit strength at 100 mW constant RF output. This radio supports 802.15.4g


Agora features the FCC certified Fanstel BT840 nRF52840 module for Bluetooth 5 connectivity. Low Energy, Mesh, and Long Range configurations are available. Data rates: 2Mbps, 1Mbps, 500kbps, 125kbps.

Global Positioning

GPS functionality is available with the GPS-integrated Telit module. ME910C1 module includes a state-of-art receiver that can simultaneously search and track satellite signals from multiple satellite constellations. This multi-GNSS receiver uses the entire spectrum of GNSS systems available: GPS, GLONASS, BeiDou, Galileo, and QZSS.

Component Map


Board Pinout


Major Components


TheNRF52840 is fully multiprotocol capable with full protocol concurrency. It has protocol support for Bluetooth 5, Bluetooth mesh, Thread, Zigbee, 802.15.4, ANT and 2.4 GHz proprietary stacks. The nRF52840 is built around the 32-bit ARM® Cortex™-M4 CPU with floating point unit running at 64 MHz. It has NFC-A Tag for use in simplified pairing and payment solutions. The ARM TrustZone® CryptoCell cryptographic unit is included on-chip and brings an extensive range of cryptographic options that execute highly efficiently independent of the CPU. It has numerous digital peripherals and interfaces such as high speed SPI and QSPI for interfacing to external flash and displays, PDM and I2S for digital microphones and audio, and a full speed USB device for data transfer and power supply for battery recharging.


The SX1276 transceiver features the LoRa® long range modem that provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.

Telit ME910C1-WW

The Telit ME910C1-WW is the Category M1/NB1 edition of the Telit LE910 Series of LTE modules. Specified in the approved Release 13 of the 3GPP standard, Cat M1/NB1 devices are specifically tailored for IoT applications, offering optimized power consumption and enhanced coverage.

Sensor Components


The SI7021 digital relative humidity and temperature sensor integrates humidity and temperature sensor elements, an analog-to-digital converter, signal processing and an I2C interface in a single chip. The design offers the lowest power consumption in the industry for a relative humidity and temperature sensor. With full factory calibration, the Si7021-A20-GM requires no addition RH/temperature calibration during PCB assembly.


The BME680 is an integrated environmental sensor developed specifically for mobile applications and wearables where size and low power consumption are key requirements. The BME680 integrates high-linearity and high-accuracy gas, pressure, humidity and temperature sensors.


The ICS-43432 is a digital I²S output bottom port microphone. It includes a MEMS sensor, signal conditioning, an analog-to-digital converter, decimation and anti-aliasing filters, power management, and an industry standard 24-bit I²S interface.


The ICM20602 is a 6-axis MotionTracking device that combines a 3-axis gyroscope, and 3-axis accelerometer. It includes 16-bit ADCs, programmable digital filters, and a 1KB FIFO.


The LSM9DS1 is a system-in-package featuring a 3D digital linear acceleration sensor, a 3D digital angular rate sensor, and a 3D digital magnetic sensor. It has a linear acceleration full scale of ±2g/±4g/±8/±16 g, a magnetic field full scale of ±4/±8/±12/±16 gauss and an angular rate of ±245/±500/±2000 dps.


The VL53L0X is a new generation Time-of-Flight (ToF) laser-ranging module housed in the smallest package on the market today, providing accurate distance measurement whatever the target reflectances unlike conventional technologies. It can measure absolute distances up to 2m, setting a new benchmark in ranging performance levels, opening the door to various new applications.

Additional Features

  • Tectonic edge
  • Additional development functionality can be achieved with Embedded Planet's collection of "Tectonic Plates"
  • Agora may act as a certified modem

Flidor Development Interface Board


Agora application development requires the use of the Flidor development interface board. Flidor is a programmer, debugger, and breakout interface for Tectonic Edge compatible target devices, such as Agora. Flidor provides power to the target MCU and connects it to a computer via USB for debugging.

Important Notes

Important Note on Cellular SIM Authetication

Cellular connectivity to a network provider that requires sim authentication currently requires sending AT+CGAUTH with default CID of 1 using a function like below before calling connect() on the NetworkInterface:

void set_authentication_parameters()
    CellularDevice *dev = CellularDevice::get_target_default_instance();
    ATHandler *at_handler = dev->get_at_handler();
    if (at_handler->get_last_error() != NSAPI_ERROR_OK) {
        printf("ERROR: Unable to set authentication type!\n");


Other Important Notes

Support for the following features is still undergoing test validation.

  • Quad-SPI Flash
  • USB Device
  • Bluetooth Low Energy (BLE)
  • Network Socket DNS

Getting Started with Mbed OS

1. Connect your microcontroller to a PC

Use the USB lead to connect your Mbed to a PC. The status light will come on, indicating it has power. After a few seconds of activity, the PC will recognize the Mbed Microcontroller as a standard USB drive.

Windows 10 exampleMac OS X example

Go to the new USB Drive, and click MBED.HTM to open it in a web browser.

If you do not have an Mbed account, choose "Signup", and create your Mbed Account. Otherwise, log in with your normal username and password.

This will give you access to the website, tools, libraries and documentation.

PC Configuration

Your Mbed Microcontroller can appear on your computer as a serial port. On Mac and Linux, this will happen by default. For Windows, you need to install a driver:


See Windows-serial-configuration for full details about setting up Windows for serial communication with your Mbed Microcontroller

From a host PC to communicate with Mbed you will need a terminal application. This allows the Mbed Microcontroller to print to your PC screen, and for you to send characters back to your Mbed.

Default baud rate value for the serial port is 9600. Default baud rate value is set in the platform config file:

  • Terminals - Using Terminal applications to communicate between the Host PC and the Mbed Microntroller

Some terminal programs (e.g. TeraTerm) list the available serial ports by name. However, if you do need to know the identity of the serial port so that you can attach a terminal or an application to it:

Find the identity of the COM port by opening ''Device Manager''. To do this navigate ''Start -> Control Panel -> System -> Hardware -> Device Manager''.To find the device name under Mac OS X, use the command ''ls /dev/tty.usbmodem*''To find the device name under Linux, use the command ''ls /dev/ttyACM*''

Install and configure Mbed CLI

Follow the url to install and configure Mbed CLI according to your OS:

Compile and Download Program

1. Compile "blinky"

Import mbed-os-example-blinky code example

mbed import mbed-os-example-blinky
cd mbed-os-example-blinky

Compile the mbed application for one of the supported target boards with one of the supported toolchains

mbed compile -m EP_AGORA -t TOOLCHAIN 

where TOOLCHAIN is one of:

  • ARM
  • IAR

2. Save a program hex (.hex) to the Platform

Save the program hex file to your Mbed Microcontroller Disk, just like you would with a normal USB disk.

3. Press the Reset Button

When the Reset Button in pressed, the microcontroller will be reset and the last programmed application will begin to run.

4. Blinky!

The Microcontroller is now running the program; flashing the LED forever! If you reset the Microcontroller, or disconnect and reconnect the power, the program will simply restart.

Where Next

For more information on available tools and software, see Arm Mbed OS Quick Start Guide

 Buy Now

You need to log in to post a discussion