Skip to content

Commit 14e04c3

Browse files
authored
Merge pull request #835 from Mjrovai/Seeed-Grove-AI
Adding a new Device: Seeed Grove AI Vision V2 Labs
2 parents 8772b7e + 8d516e9 commit 14e04c3

File tree

90 files changed

+987
-743
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+987
-743
lines changed

.github/workflows/quarto-build.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,16 @@ jobs:
155155
libpng-dev
156156
157157
echo "✅ Linux dependencies installed"
158-
158+
159+
- name: 🌐 Install Chromium (Linux)
160+
if: runner.os == 'Linux'
161+
run: |
162+
echo "📦 Installing Chromium..."
163+
sudo apt-get update
164+
sudo apt-get install -y chromium-browser
165+
echo "✅ Chromium installed"
166+
which chromium-browser || echo "⚠️ Chromium binary not found"
167+
159168
- name: 🎨 Install Inkscape and font dependencies (Linux)
160169
if: runner.os == 'Linux'
161170
run: |

CHANGELOG.md

Lines changed: 80 additions & 706 deletions
Large diffs are not rendered by default.

_quarto.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,11 @@ book:
155155
- contents/labs/seeed/xiao_esp32s3/object_detection/object_detection.qmd
156156
- contents/labs/seeed/xiao_esp32s3/kws/kws.qmd
157157
- contents/labs/seeed/xiao_esp32s3/motion_classification/motion_classification.qmd
158+
- part: contents/labs/seeed/grove_vision_ai_v2/grove_vision_ai_v2.qmd
159+
chapters:
160+
- contents/labs/seeed/grove_vision_ai_v2/setup_and_no_code_apps/setup_and_no_code_apps.qmd
161+
- contents/labs/seeed/grove_vision_ai_v2/image_classification/image_classification.qmd
162+
- contents/labs/seeed/grove_vision_ai_v2/object_detection/object_detection.qmd
158163
- part: contents/labs/raspi/raspi.qmd
159164
chapters:
160165
- contents/labs/raspi/setup/setup.qmd

contents/labs/getting_started.qmd

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,25 @@ To follow along with the hands-on labs, you'll need the following hardware:
1010
- 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.
1111
- [Arduino Nicla Vision specifications](https://docs.arduino.cc/hardware/nicla-vision)
1212
- [Arduino Nicla Vision pinout diagram](https://docs.arduino.cc/resources/pinouts/ABX00051-full-pinout.pdf)
13-
1413
2. **XIAO ESP32S3 Sense board**
1514

16-
- 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 with a camera, microphone, and IMU, making it easy to get started with projects like image classification, keyword spotting, and motion detection.
15+
- 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.
1716
- [XIAO ESP32S3 Sense specifications](https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/#specification)
1817
- [XIAO ESP32S3 Sense pinout diagram](https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/#hardware-overview)
19-
20-
3. **Raspberry Pi Single Computer board**
18+
3. **Grove Vision AI V2 board**
19+
- 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.
20+
- [Grove Vision AI V2 features and hardware overview](https://wiki.seeedstudio.com/grove_vision_ai_v2/)
21+
4. **Raspberry Pi Single Board Computer**
2122
- 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](https://www.raspberrypi.org/), 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.
2223
- [Raspberry Pi Hardware Documentation](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html)
2324
- [Camera Documentation](https://www.raspberrypi.com/documentation/accessories/camera.html)
24-
25-
4. **Additional accessories**
26-
- USB-C cable for programming and powering the XIAO
25+
5. **Additional accessories**
26+
- USB-C cable for programming and powering the XIAO and the Grove Vision AI V2
2727
- Micro-USB cable for programming and powering the Nicla
2828
- Power Supply for the Raspberries
2929
- Breadboard and jumper wires (optional, for connecting additional sensors)
3030

31-
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 Raspberry Pi is aimed at more advanced engineering and machine learning projects.
31+
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.
3232

3333

3434

@@ -64,6 +64,8 @@ Some projects may require internet connectivity for data collection or model dep
6464

6565
- 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.
6666

67+
- 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.
68+
6769
- 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.
6870

6971
## Conclusion

contents/labs/overview.qmd

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Overview {.unnumbered}
22

3-
Welcome to the hands-on labs section where you'll explore deploying ML models onto real embedded devices, which will offer a practical introduction to ML systems. Unlike traditional approaches with large-scale models, these labs focus on interacting directly with both hardware and software. They help us show case various sensor modalities across different application use cases. This approach provides valuable insights into the challenges and opportunities of deploying AI on real physical systems.
3+
Welcome to the hands-on labs section, where you'll explore deploying machine learning (ML) models onto real embedded devices, offering a practical introduction to ML systems. Unlike traditional approaches with large-scale models, these labs focus on interacting directly with both hardware and software. They help us showcase various sensor modalities across different application use cases. This approach provides valuable insights into the challenges and opportunities of deploying AI on real physical systems.
44

55
## Learning Objectives
66

@@ -12,13 +12,13 @@ By completing these labs, we hope learners will:
1212

1313
* Understand the steps involved in adapting and experimenting with ML models for different applications, allowing you to optimize performance and efficiency.
1414

15-
* Learn troubleshooting techniques specific to embedded ML deployments equipping you with the skills to overcome common pitfalls and challenges.
15+
* Learn troubleshooting techniques specific to embedded ML deployments, equipping you with the skills to overcome common pitfalls and challenges.
1616

17-
* Acquire practical experience in deploying TinyML models on embedded devices bridging the gap between theory and practice.
17+
* Acquire practical experience in deploying TinyML models on embedded devices, bridging the gap between theory and practice.
1818

19-
* Explore various sensor modalities and their applications expanding your understanding of how ML can be leveraged in diverse domains.
19+
* Explore various sensor modalities and their applications, expanding your understanding of how ML can be leveraged in diverse domains.
2020

21-
* Foster an understanding of the real-world implications and challenges associated with ML system deployments preparing you for future projects.
21+
* Foster an understanding of the real-world implications and challenges associated with ML system deployments, preparing you for future projects.
2222

2323
:::
2424

@@ -36,27 +36,20 @@ These labs are designed for:
3636

3737
We have included laboratory materials for three key devices that represent different hardware profiles and capabilities.
3838

39-
* Nicla Vision: Optimized for vision-based applications like image classification and object detection, ideal for compact, low-power use cases.
40-
* XIAO ESP32S3: A versatile, compact board suitable for keyword spotting and motion detection tasks.
41-
* Raspberry Pi: A flexible platform for more computationally intensive tasks, including small language models and various classification and detection applications.
42-
43-
+-----------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------+
44-
| Exercise | [Nicla Vision](https://store.arduino.cc/products/nicla-vision) | [XIAO ESP32S3](https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/) | [Raspberry Pi](https://www.raspberrypi.com/) |
45-
+:============================+:==============================================================:+:==========================================================================:+:============================================:+
46-
| Installation & Setup | ✓ | ✓ | ✓ |
47-
+-----------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------+
48-
| Keyword Spotting (KWS) | ✓ | ✓ | |
49-
+-----------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------+
50-
| Image Classification | ✓ | ✓ | ✓ |
51-
+-----------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------+
52-
| Object Detection | ✓ | ✓ | ✓ |
53-
+-----------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------+
54-
| Motion Detection | ✓ | ✓ | |
55-
+-----------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------+
56-
| Small Language Models (SLM) | | | ✓ |
57-
+-----------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------+
58-
| Vision Language Models (VLM)| | | ✓ |
59-
+-----------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------+
39+
* **Nicla Vision**: Optimized for vision-based applications like image classification and object detection, ideal for compact, low-power use cases. It is also suitable for keyword spotting and motion detection tasks.
40+
* **XIAO ESP32S3**: A versatile, compact board suitable for vision, keyword spotting, and motion detection tasks.
41+
* **Grove Vision AI V2**: Equipped with a dedicated Neural Processing Unit (NPU), this device enables more advanced machine learning tasks with enhanced on-device inference capabilities, making it ideal for sophisticated computer vision and AI applications.
42+
* **Raspberry Pi**: A flexible platform for more computationally intensive tasks, including small language models and various classification and detection applications.
43+
44+
| Exercise | [Nicla Vision](https://store.arduino.cc/products/nicla-vision) | [XIAO ESP32S3](https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/) | [Grove Vision AI V2](https://www.seeedstudio.com/Grove-Vision-AI-V2-Kit-p-5852.html) | [Raspberry Pi](https://www.raspberrypi.com/) |
45+
|:---------|:------------------------------------------------------------:|:--------------------------------------------------------------------:|:-----------------------------------------------------------------------:|:------------------------------------------:|
46+
| Installation & Setup |||||
47+
| Keyword Spotting (KWS) ||| | |
48+
| Image Classification |||||
49+
| Object Detection |||||
50+
| Motion Detection ||| | |
51+
| Small Language Models (SLM) | | | ||
52+
| Vision Language Models (VLM) | | | ||
6053

6154
## Lab Structure
6255

@@ -78,7 +71,7 @@ If you're new to embedded ML, we suggest starting with setup and keyword spottin
7871

7972
## Troubleshooting and Support
8073

81-
If you encounter any issues during the labs, consult the troubleshooting comments or check the FAQs within each lab. For further assistance, feel free to reach out to our support team or engage with the community forums.
74+
If you encounter any issues during the labs, please consult the troubleshooting comments or refer to the FAQs provided within each lab. For further assistance, feel free to reach out to our support team or engage with the community forums.
8275

8376
## Credits
8477

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Grove Vision AI V2 {.unnumbered}
2+
3+
These labs offer an opportunity to gain practical experience with machine learning (ML) systems on a high-end, yet compact, embedded device, the Seeed Studio Grove Vision AI V2. Unlike working with large models requiring data center-scale resources, these labs allow you to interact with hardware and software using TinyML directly. This hands-on approach provides a tangible understanding of the challenges and opportunities in deploying AI, albeit on a small scale. However, the principles are essentially the same as what you would encounter when working with larger or even smaller systems.
4+
5+
The Grove Vision AI V2 occupies a unique position in the embedded AI landscape, bridging the gap between basic microcontroller solutions, such as the Seeed XIAO ESP32S3 Sense or Arduino Nicla Vision, and more powerful single-board computers, like the Raspberry Pi. At its heart lies the Himax WiseEye2 HX6538 processor, featuring a **dual-core Arm Cortex-M55 and an integrated ARM Ethos-U55 neural network unit**.
6+
7+
The Arm Ethos-U55 represents a specialized machine learning processor class, specifically designed as a microNPU to accelerate ML inference in area-constrained embedded and IoT devices. This powerful combination of the Ethos-U55 with the AI-capable Cortex-M55 processor delivers a remarkable 480x uplift in ML performance over existing Cortex-M-based systems. Operating at 400 MHz with configurable internal system memory (SRAM) up to 2.4 MB, the Grove Vision AI V2 offers professional-grade computer vision capabilities while maintaining the power efficiency and compact form factor essential for edge applications.
8+
9+
This positioning makes it an ideal platform for learning advanced TinyML concepts, offering the simplicity and reduced power requirements of smaller systems while providing capabilities that far exceed those of traditional microcontroller-based solutions.
10+
11+
![Grove - Vision AI Module V2. Source: SEEED Studio](./images/jpeg/grove_vision_ai_v2.jpeg){width=65% fig-align="center"}
12+
13+
## Pre-requisites
14+
15+
- **Grove Vision AI V2 Board**: Ensure you have the Grove Vision AI V2 Board.
16+
- **Raspberry Pi OV5647 Camera Module**: The camera should be connected to the Grove Vision AI V2 Board for image capture.
17+
- **Master Controller**: Can be a Seeed XIAO ESP32S3, a XIAO ESP32C6, or other devices.
18+
- **USB-C Cable**: This is for connecting the board to your computer.
19+
- **Network**: With internet access for downloading the necessary software.
20+
- **XIAO Expansion Board Base**: This helps connect the Master Device to the Physical World (optional).
21+
22+
## Setup and No-Code Applications
23+
24+
- [Setup and No-Code Apps](./setup_and_no_code_apps/setup_and_no_code_apps.qmd)
25+
26+
## Exercises
27+
28+
+-----------+--------------------------------------------+-------------------------------------------+----------------------------------------------------------+
29+
| Modality | Task | Description | Link |
30+
+:==========+:===========================================+:==========================================+:=========================================================+
31+
| Vision | Image Classification | Learn to classify images | [Link](./image_classification/image_classification.qmd) |
32+
+-----------+--------------------------------------------+-------------------------------------------+----------------------------------------------------------+
33+
| Vision | Object Detection | Implement object detection | [Link](./object_detection/object_detection.qmd) |
34+
+-----------+--------------------------------------------+-------------------------------------------+----------------------------------------------------------+

0 commit comments

Comments
 (0)