mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-03 00:07:08 -05:00
When working with PDF builds, one of the big issues has been that I get into Unicode error issues, and so the scripts in this particular push help find all the non-ASCII Unicodes so that I can fix them manually. Also, another issue that shows up is with figure reference labels, which can be broken. And so, the fig_references script detects those and raises errors.
46 lines
4.8 KiB
Plaintext
46 lines
4.8 KiB
Plaintext
# 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 |
|