forked from harvard-edge/cs249r_book
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tools.qmd
46 lines (34 loc) · 4.81 KB
/
tools.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# 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 |