You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/embedded-and-microcontrollers/edge/overview.md
+23-16Lines changed: 23 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,14 +7,14 @@ layout: learningpathall
7
7
---
8
8
9
9
{{< notice Note >}}
10
-
This section introduces the key concepts that form the foundation of this Learning Path. Review it before starting the step-by-step tutorial.
10
+
This section introduces the key concepts that form the foundation of this Learning Path. Review it before starting this Learning Path.
11
11
{{< /notice >}}
12
12
13
13
# Edge AI
14
14
15
15
Edge AI refers to artificial intelligence models that run directly on edge devices, processing data locally rather than relying on cloud computing. These models are optimized for real-time decision-making on resource-constrained devices such as microcontrollers, embedded systems, and IoT sensors.
16
16
17
-
**TinyML (tiny machine learning)** is a subset of Edge AI that focuses on deploying machine learning models on ultra-low-power microcontrollers. These devices typically have less than 1 MB of flash memory and a few hundred kilobytes of RAM, and they are designed to run for extended periods on minimal power, which is often for years on a single coin-cell battery.
17
+
TinyML (Tiny Machine Learning) is a subset of Edge AI that focuses on deploying machine learning models on ultra-low-power microcontrollers. These devices typically have less than 1 MB of flash memory and a few hundred kilobytes of RAM, and they are designed to run for extended periods on minimal power, which is often for years on a single coin-cell battery.
18
18
19
19
Despite these constraints, TinyML enables on-device inference, allowing edge devices to make intelligent decisions in real time without sending data to the cloud. This makes smart functionality possible in low-cost, battery-powered devices used in applications such as environmental monitoring, wearables, smart homes, and industrial sensors.
20
20
@@ -24,28 +24,35 @@ Key features of Edge AI and TinyML include:
24
24
25
25
-**Low power consumption**: designed to run on batteries or harvested energy for months or years
26
26
-**Small model size**: models are optimized (for example, quantized or pruned) to fit into a few kilobytes or megabytes
27
-
-**Limited compute and memory**: typically operates with under 1 MB of RAM and very limited storage
28
-
-**Real-time inference**: enables immediate local decision-making (for example, wake-word detection)
27
+
-**Limited compute and memory**: typically operate with under 1 MB of RAM and very limited storage
28
+
-**Real-time inference**: immediate local decision-making (for example, wake-word detection)
29
29
-**Low latency**: no reliance on cloud; inference is performed on-device
30
30
-**Applications**: often used in audio classification, gesture detection, and anomaly detection
31
-
-**Example devices**: Arduino Nano 33 BLE Sense, STM32 MCUs, Raspberry Pi Pico, Arduino Nano RP2040 Connect, and more
32
31
33
-
## Running AI Models on Resource-Constrained Devices
32
+
Example devices include Arduino Nano 33 BLE Sense, STM32 MCUs, Raspberry Pi Pico, and Arduino Nano RP2040 Connect.
34
33
35
-
Running AI on edge devices presents challenges. These devices often lack high-performance CPUs or GPUs, making compute power and memory usage key concerns. Additionally, because many edge devices run on batteries, energy efficiency is critical.
34
+
## Run AI models on resource-constrained devices
36
35
37
-
To address these constraints, models are optimized through techniques such as quantization, pruning, and knowledge distillation. These reduce model size and resource requirements while maintaining acceptable accuracy.
36
+
Running AI on edge devices presents challenges. These devices often lack high-performance CPUs or GPUs, making compute power and memory usage key concerns. Since many edge devices run on batteries, energy efficiency is also critical.
38
37
39
-
## Edge AI implementation workflow
38
+
To overcome these constraints, models are optimized using techniques such as *quantization*, *pruning*, and *knowledge distillation*. These methods reduce model size and resource requirements while maintaining acceptable accuracy.
40
39
41
-
Implementing Edge AI typically follows this workflow:
40
+
##Edge AI workflow
42
41
43
-
- Data collection using sensors such as microphones, motion detectors, or cameras
44
-
- Model training on high-performance systems such as cloud servers or local workstations
45
-
- Model optimization to reduce size and computation overhead for deployment
46
-
- Deployment to microcontrollers or Arm-based processors
47
-
- On-device inference, where the model makes real-time decisions based on local data
42
+
[1] Data collection
43
+
→ Sensors capture data (such as audio, motion, and vision)
48
44
45
+
[2] Model training
46
+
→ Use cloud or local compute for training
47
+
48
+
[3] Model optimization
49
+
→ Apply quantization, pruning, or distillation
50
+
51
+
[4] Deployment
52
+
→ Flash model onto Arm-based edge device
53
+
54
+
[5] On-device inference
55
+
→ Device makes real-time predictions locally
49
56
50
57
## Applications of Edge AI
51
58
@@ -60,7 +67,7 @@ Edge AI is used in a wide range of real-world applications:
60
67
61
68
## The BLERP framework
62
69
63
-
To remember the benefits of Edge AI, the **BLERP** mnemonic highlights five critical aspects:
70
+
To recall the benefits of Edge AI, the **BLERP** mnemonic highlights five critical aspects:
You’ve successfully programmed your first TinyML microcontroller! You've also built a functional, smart system to control an LED with your voice.
332
-
{{% /notice %}}
330
+
Congratulations, you’ve successfully programmed your first TinyML microcontroller! You've also built a functional, smart system to control an LED with your voice.
|**Data collection**|Collects data from sensors, such as accelerometers, microphones, and cameras in real time.|
26
-
|**Preprocessing**|Provides tools for signal processing and feature extraction tailored for embedded systems.|
27
-
|**Model training**|Supports built-in ML algorithms and integrates with frameworks like TensorFlow.|
28
-
|**Edge optimization**|Automatically optimizes models to run efficiently on low-power edge hardware.|
29
-
|**Deployment**|Enables seamless deployment to microcontrollers, RTOS-based boards, and Linux devices.|
30
-
|**Web-based platform**|Fully browser-based interface for managing projects and workflows without needing local setup.|
25
+
|**Data collection**|collects data from sensors, such as accelerometers, microphones, and cameras in real time |
26
+
|**Preprocessing**|provides tools for signal processing and feature extraction tailored for embedded systems |
27
+
|**Model training**|supports built-in ML algorithms and integrates with frameworks like TensorFlow |
28
+
|**Edge optimization**|automatically optimizes models to run efficiently on low-power edge hardware |
29
+
|**Deployment**|enables seamless deployment to microcontrollers, RTOS-based boards, and Linux devices |
30
+
|**Web-based platform**|fully browser-based interface for managing projects and workflows without needing local setup |
31
31
32
32
---
33
33
34
34
## Why it's important in Edge AI and TinyML
35
35
36
+
Edge Impulse offers the following benefits:
37
+
36
38
- Bridges the gap between machine learning and embedded development
37
39
- Accelerates prototyping and deployment of AI features directly on hardware
38
40
- Supports TinyML applications that run on devices with very limited memory and compute power
@@ -46,7 +48,7 @@ In the following sections, you'll walk through each key page on the Edge Impulse
46
48
47
49
48
50
49
-

51
+

50
52
51
53
52
54
### Create a new project
@@ -57,7 +59,7 @@ For example, if you're building a keyword spotting model, you might name it `Wak
57
59
58
60
You'll also need to select the appropriate **project type** and **project settings**, as shown in the snapshot below.
59
61
60
-

62
+

61
63
62
64
### Configure the target device
63
65
@@ -67,7 +69,7 @@ You can find the full specifications for the Arduino Nano RP2040 Connect on [Ard
67
69
68
70
Follow the settings shown in the screenshot to complete the configuration.
69
71
70
-

72
+

The repository contains a `Dataset.zip` file with the dataset used in this project. Extract the contents to your local machine. For convenience, the dataset is already split into **training** and **testing** sets.
84
86
85
-

87
+

86
88
87
89
88
90
{{% notice Note %}}
89
91
Do not check the green highlighted area during upload. The dataset already includes metadata. Enabling that option may result in much slower upload times and is unnecessary for this project.
90
92
{{% /notice %}}
91
93
92
-

94
+

93
95
94
96
### Dataset uploaded successfully
95
97
@@ -104,7 +106,7 @@ This dataset is made up of four labels:
104
106
- unknown
105
107
{{% /notice %}}
106
108
107
-

109
+

108
110
109
111
### Create the impulse
110
112
@@ -115,7 +117,7 @@ Click **Create impulse** in the menu and configure it as shown in the screenshot
115
117
After configuring the impulse, make sure to **save your changes**.
@@ -127,7 +129,7 @@ Set the parameters exactly as shown in the screenshot. These settings determine
127
129
128
130
These defaults are chosen for this Learning Path, but you can experiment with different values once you're more familiar with Edge Impulse.
129
131
130
-

132
+

131
133
132
134
{{< notice Note >}}
133
135
The green-highlighted section on the MFCC configuration page provides an estimate of how the model will perform on the target device. This includes memory usage (RAM and flash) and latency, helping ensure the model fits within hardware constraints.
@@ -139,7 +141,7 @@ After saving the MFCC parameters, the next step is to generate features from you
139
141
140
142
When complete, you'll see a **2D feature plot** that shows how the data is distributed across the four labels: `on`, `off`, `noise`, and `unknown`. This helps visually confirm whether the classes are distinct and learnable.
141
143
142
-

144
+

143
145
144
146
### Set up the classifier
145
147
@@ -151,13 +153,13 @@ For this Learning Path, use a learning rate of `0.002` even though the screensho
151
153
152
154
Once all parameters are set, click **Save and train** to begin training your model.
153
155
154
-

156
+

155
157
156
158
### Review model performance
157
159
158
160
After training is complete, Edge Impulse will show the model’s performance metrics: **accuracy**, **loss**, and a **confusion matrix**.
159
161
160
-

162
+

161
163
162
164
-**Accuracy**: how often the model correctly predicts labels
163
165
-**Loss**: how far off predictions are — lower values indicate better performance
@@ -173,7 +175,7 @@ Review these results to see how well the model learned. If needed, adjust settin
173
175
| Peak RAM usage | 12.5 KB |
174
176
| Flash usage | 49.7 KB |
175
177
176
-

178
+

177
179
178
180
You can also use the pre-trained model found in `ei-edge-ai-tutorials-arduino-1.0.1.zip` from the example repository.
179
181
@@ -187,7 +189,7 @@ To run the trained model on your Arduino Nano RP2040 Connect, export it as an Ar
187
189
188
190
The model will be downloaded as a `.zip` file you can import into the Arduino IDE.
189
191
190
-

192
+

0 commit comments