Appendix A: Tools

This is a non-exhaustive list of tools and frameworks that are available for embedded AI development.

A.1 Hardware Kits

A.1.1 Microcontrollers and Development Boards

No Hardware Processor Features TinyML Compatibility
1 Arduino Nano 33 BLE Sense ARM Cortex-M4 Onboard sensors, Bluetooth connectivity TensorFlow Lite Micro
2 Raspberry Pi Pico Dual-core Arm Cortex-M0+ Low-cost, large community support TensorFlow Lite Micro
3 SparkFun Edge Ambiq Apollo3 Blue Ultra-low power consumption, onboard microphone TensorFlow Lite Micro
4 Adafruit EdgeBadge ATSAMD51 32-bit Cortex M4 Compact size, integrated display and microphone TensorFlow Lite Micro
5 Google Coral Development Board NXP i.MX 8M SOC (quad Cortex-A53, Cortex-M4F) Edge TPU, Wi-Fi, Bluetooth TensorFlow Lite for Coral
6 STM32 Discovery Kits Various (e.g., STM32F7, STM32H7) Different configurations, Cube.AI software support STM32Cube.AI
7 Arduino Nicla Vision STM32H747AII6 Dual Arm Cortex M7/M4 Integrated camera, low power, compact design TensorFlow Lite Micro
8 Arduino Nicla Sense ME 64 MHz Arm Cortex M4 (nRF52832) Multi-sensor platform, environment sensing, BLE, Wi-Fi TensorFlow Lite Micro

A.2 Software Tools

A.2.1 Machine Learning Frameworks

No Machine Learning Framework Description Use Cases
1 TensorFlow Lite Lightweight library for running machine learning models on constrained devices Image recognition, voice commands, anomaly detection
2 Edge Impulse A platform providing tools for creating machine learning models optimized for edge devices Data collection, model training, deployment on tiny devices
3 ONNX Runtime A performance-optimized engine for running ONNX models, fine-tuned for edge devices Cross-platform deployment of machine learning models

A.2.2 Libraries and APIs

No Library/API Description Use Cases
1 CMSIS-NN A collection of efficient neural network kernels optimized for Cortex-M processors Embedded vision and AI applications
2 ARM NN An inference engine for CPUs, GPUs, and NPUs, enabling the translation of neural network frameworks Accelerating machine learning model inference on ARM-based devices

A.3 IDEs and Development Environments

No IDE/Development Environment Description Features
1 PlatformIO An open-source ecosystem for IoT development catering to various boards & platforms Cross-platform build system, continuous testing, firmware updates
2 Eclipse Embedded CDT A plugin for Eclipse facilitating embedded systems development Supports various compilers and debuggers, integrates with popular build tools
3 Arduino IDE Official development environment for Arduino supporting various boards & languages User-friendly interface, large community support, extensive library collection
4 Mbed Studio ARM’s IDE for developing robust embedded software with Mbed OS Integrated debugger, Mbed OS integration, version control support
5 Segger Embedded Studio A powerful IDE for ARM microcontrollers supporting a wide range of development boards Advanced code editor, project management, debugging capabilities