# Tools {.appendix} This is a non-exhaustive list of tools and frameworks that are available for embedded AI development. ## Hardware Kits ### **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| ## Software Tools ### **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 | ### **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 | ## 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 |