Files
cs249r_book/tools.qmd
2023-09-19 10:56:24 -04:00

47 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 | ARMs 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 |