Coral Dev Board Micro is the latest iteration of Google’s Edge AI devkit with an NXP i.MX RT1176 Cortex-M7/M4 crossover processor/microcontroller coupled with the company’s 4 TOPS Edge TPU, a camera, and a microphone in a board that’s about the size of a Raspberry Pi Zero SBC.
The new board follows the original NXP i.MX 8M-based Coral Dev board that was introduced in 2019, and Coral Dev Board mini based on MediaTek MT8167S processor launched in 2020, and keeps with the trend of providing more compact solutions with lower-end host processors for edge AI.
Coral Dev Board Micro specifications:
- MCU – NXP i.MX RT1176 processor with an Arm Cortex-M7 core @ up to 1 GHz, Cortex-M4 core up to 400 MHz, 2MB internal SRAM, 2D graphics accelerators;
- System Memory – 512 Mbit (64 MB) RAM
- Storage – 1 Gbit (128 MB) flash memory
- ML accelerator – Coral Edge TPU coprocessor delivering up to 4 TOPS (int8), 2 TOPS per watt
- Camera – Built-in Himax camera with 324 x 324 resolution
- Audio – PDM mono microphone
- Optional connectivity with add-on boards
- WiFi 5 and Bluetooth 5.0
- 10/100M Ethernet with 7W PoE
- USB – 1x USB 2.0 Type-C port
- 2x 12-pin GPIO headers
- 2x 100-pin Coral board-to-board connectors
- Misc – 4x LED’s, 2x switch buttons
- Power Supply – 5V via USB-C port
- Dimensions – 65 x 30 mm
The board runs FreeRTOS or bare metal code (Arduino) with the source code for the “coralmicro” software platform, which provides all tools to work with either, shared on GitHub. The coralmicro API documentation can be found on the Coral.AI website, along with a separate page for the Arduino APIs, and a getting started guide.
The board supports TensorFlow Lite for Microcontrollers (TFLM), instead of TensorFlow Lite (TFLite) for earlier Coral development boards. Yet Google says “you can run sophisticated TFLite models that otherwise are not compatible with the TFLM interpreter, because they actually execute on the Edge TPU” showcasing inference times for PoseNet pose estimation model, BoxyPic person segmentation, SSD MobileNet for object detection, and a few others as shown in the table below.
When expressed in frames per second, that means about 57fps for MobileNet v1 image classification and 24fps for BodyPix person segmentation. Google explains that with a dual-core design, it’s possible to run low-power apps on the Cortex-M4 (Tiny TFLM models) and then activate the Cortex-M7 and Edge TPU for more sophisticated TFLite models at the cost of consuming more power.
Running TFLite and TFLM models on the Coral Dev Board Micro is similar to running TensorFlow Lite on boards with application processors, but there are some small differences:
One difference with TFLM, compared to TFLite, is that you need to specify the ops used by your model by adding them to the MicroMutableOpResolver. For example, if your model uses 2D convolution, then you need to call AddConv2D(). This way, you conserve memory by compiling only the op kernels you actually need to run your model on the MCU. However, if your model is compiled to run on the Edge TPU, then you also need to add the Edge TPU custom op, which accounts for all the ops that run on the Edge TPU. For example, when using SSD MobileNet for object detection on the Edge TPU, only the dequantize and post-processing ops run on the MCU, and the rest are delegated to the Edge TPU custom op
You’ll find more details in the announcement. The Coral Dev Board Micro board is also the cheapest board from the family currently on pre-order at $79.99 against $99.99 for Coral Dev Board Mini running Linux (Debian).
Thanks to Will Whang for the tip.
Updated: The post was initially published on January 24, 2022, and revised following the (pre-order) availability of the Coral Dev Board Micro board.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.