Getting Started

Welcome to the exciting world of embedded machine learning and TinyML! In this hands-on lab series, you’ll explore various projects demonstrating the power of running machine learning models on resource-constrained devices. Before diving into the projects, ensure you have the necessary hardware and software.

Hardware Requirements

To follow along with the hands-on labs, you’ll need the following hardware:

  1. Arduino Nicla Vision board

    • The Arduino Nicla Vision is a powerful, compact board designed for professional-grade computer vision and audio applications. It features a high-quality camera module, a digital microphone, and an IMU, making it suitable for demanding projects in industries such as robotics, automation, and surveillance.
    • Arduino Nicla Vision specifications
    • Arduino Nicla Vision pinout diagram
  2. XIAO ESP32S3 Sense board

    • The Seeed Studio XIAO ESP32S3 Sense is a tiny, feature-packed board designed for makers, hobbyists, and students interested in exploring edge AI applications. It comes equipped with a camera, microphone, and IMU, making it easy to get started with projects such as image classification, keyword spotting, and motion detection.
    • XIAO ESP32S3 Sense specifications
    • XIAO ESP32S3 Sense pinout diagram
  3. Grove Vision AI V2 board

    • The Seeed Studio Grove Vision AI V2 is a compact, low-power, yet powerful device. It is an MCU-based system powered by the Arm Cortex-M55 and vision AI module Ethos-U55. It supports TensorFlow and PyTorch frameworks and is compatible with the Arduino IDE. With the SenseCraft AI algorithm platform, trained machine learning (ML) models can be deployed to the sensor without the need for coding. It features a standard CSI interface, an onboard digital microphone, and an SD card slot, making it highly suitable for various embedded AI vision projects.
    • Grove Vision AI V2 features and hardware overview
  4. Raspberry Pi Single Board Computer

    • The Raspberry Pi is a powerful and versatile single-board computer that has become an essential tool for engineers across various disciplines. Developed by the Raspberry Pi Foundation, these compact devices offer a unique combination of affordability, computational power, and extensive GPIO (General Purpose Input/Output) capabilities, making them ideal for prototyping, embedded systems development, and advanced engineering projects.
    • Raspberry Pi Hardware Documentation
    • Camera Documentation
  5. Additional accessories

    • USB-C cable for programming and powering the XIAO and the Grove Vision AI V2
    • Micro-USB cable for programming and powering the Nicla
    • Power Supply for the Raspberries
    • Breadboard and jumper wires (optional, for connecting additional sensors)

The Arduino Nicla Vision is tailored for professional-grade applications, offering advanced features and performance suitable for demanding industrial projects. On the other hand, the Seeed Studio XIAO ESP32S3 Sense is geared toward makers, hobbyists, and students who want to explore edge AI applications in a more accessible and beginner-friendly format. Both boards have their strengths and target audiences, allowing users to choose the best fit for their needs and skill level. The Grove Vision AI V2 and the Raspberry Pi are aimed at more advanced engineering and machine learning projects.

Software Requirements

To program the boards and develop embedded machine learning projects, you’ll need the following software:

  1. Arduino IDE

  2. OpenMV IDE (optional)

  3. Edge Impulse Studio

  4. Raspberry Pi OS

Network Connectivity

Some projects may require internet connectivity for data collection or model deployment. Ensure your development environment connection is stable through Wi-Fi or Ethernet. For the Raspberry Pi, having a Wi-Fi or Ethernet connection is necessary for remote operation without the necessity to plug in a monitor, keyboard, and mouse.

  • For the Arduino Nicla Vision, you can use the onboard Wi-Fi module to connect to a wireless network.

  • For the XIAO ESP32S3 Sense, you can use the onboard Wi-Fi module or connect an external Wi-Fi or Ethernet module using the available pins.

  • For the Grove Vision AI V2, you can use the onboard Wi-Fi module on the Master Controller (for example the XIAO ESP32S3) or connect an external Wi-Fi or Ethernet module using the available pins.

  • For the Raspberry Pi, you can use the onboard Wi-Fi module to connect an external Wi-Fi or Ethernet module using the available connector.

Conclusion

With your hardware and software set up, you’re ready to embark on your embedded machine learning journey. The hands-on labs will guide you through various projects, covering topics like image classification, object detection, keyword spotting, and motion classification.

If you encounter any issues or have questions, don’t hesitate to consult the troubleshooting guides or forums or seek support from the community.

Let’s dive in and unlock the potential of ML on real (tiny) systems!