Skip to content

Commit 704b524

Browse files
committed
Add comprehensive Alif E8 Ethos-U85 learning path with MNIST inference demo
- Complete hardware setup and UART configuration - Software prerequisites (ARM GCC, CMSIS Toolbox, JLink) - Build and flash workflow with RTT debugging - MNIST digit classification with NPU acceleration - LED status indicators and troubleshooting guides - Co-authored by Waheed Brown and Fidel Makatia Omusilibwa
1 parent 64fa9e6 commit 704b524

14 files changed

Lines changed: 1108 additions & 0 deletions
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: Overview
3+
weight: 2
4+
5+
### FIXED, DO NOT MODIFY
6+
layout: learningpathall
7+
---
8+
9+
## Hardware Overview - Alif's Ensemble E8 Series Board
10+
11+
Selecting the best hardware for machine learning (ML) models depends on effective tools. You can visualize Arm Ethos-U85 performance early in the development cycle by using Alif's [Ensemble E8 Series Development Kit](https://alifsemi.com/ensemble-e8-series/).
12+
13+
<center>
14+
<iframe src='https://www.youtube.com/embed/jAvi2xKxkE4?si=Wd-E1PUCM4Y49uXM' allowfullscreen frameborder=0 width="800" height="400"></iframe>
15+
16+
*Alif Ensemble Series Overview*
17+
</center>
18+
19+
![Alif Ensemble E8 Board SoC Highlighted alt-text#center](./alif-ensemble-e8-board-soc-highlighted.jpg "Arm Ethos-U85 NPU location")
20+
21+
### Alif's Ensemble E8 Processor Decoded
22+
23+
![Alif's Ensemble E8 Processor alt-text#center](./ensemble-application-processor.png "Alif's Ensemble E8 Processor")
24+
25+
**Alif's Processor Labeling Convention:**
26+
|Line|Meaning|
27+
|----|-------|
28+
|AE101F|• AE – Ensemble E-series family<br>• 101F – Specific device SKU within the E8 series (quad-core Fusion processors: x2 Cortex-A32 + x2 Cortex-M55 + Ethos-U85 + x2 Ethos-U55)|
29+
|4Q|• Usually denotes package type and temperature grade|
30+
|71542LH|• Likely a lot code / internal wafer lot number used for traceability|
31+
|B4ADKA 2508|• B4ADKA - Assembly site & line identifier<br>• 2508 - year + week of manufacture (Week 08 of 2025)|
32+
|UASA37002.000.03|• UASA37002 - Identifies the silicon mask set<br>• .000.03 - means revision 3 of that mask|
33+
34+
## Software Overview - Alif SETOOLS
35+
36+
The [Alif Security Toolkit](https://swrm.alifsemi.com/Content/3.4%20SETOOLS.htm?TocPath=Secure%20Enclave%20Subsystem%7C_____4) (SETOOLS) contains utlities for working with the Alife Ensemble E8 board. You will install this later in this learning path on the following page: [Install Alif SETOOLS](/learning-paths/embedded-and-microcontrollers/observing-ethos-u-on-alif/3-install-setools/).
37+
38+
## Software Overview - TinyML
39+
40+
This Learning Path uses TinyML. TinyML is machine learning tailored to function on devices with limited resources, constrained memory, low power, and fewer processing capabilities.
41+
42+
For a learning path focused on creating and deploying your own TinyML models, please see [Introduction to TinyML on Arm using PyTorch and ExecuTorch](/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/)
43+
44+
## Benefits and Applications
45+
46+
NPUs like Arm's [Ethos-U85](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u85) provide significant advantages for embedded ML applications:
47+
48+
- **Hardware Acceleration**: 10-50x faster inference compared to CPU-only execution
49+
- **Power Efficiency**: Lower power consumption per inference operation
50+
- **Real-time Capable**: Suitable for latency-sensitive applications
51+
- **On-device Processing**: No cloud dependency, enhanced privacy
52+
- **Visual Feedback**: RGB LED indicators provide immediate status confirmation
53+
- **Debug Capabilities**: UART and RTT output for detailed performance analysis
54+
55+
The Alif [Ensemble E8 Series Development Kit](https://alifsemi.com/ensemble-e8-series/) integrates the Ethos-U85 NPU with Cortex-M55 and Cortex-A32 cores, making it ideal for prototyping TinyML applications that require both ML acceleration and general-purpose processing.
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
# User change
3+
title: "Hardware Setup and Connections"
4+
5+
weight: 3
6+
7+
# Do not modify these elements
8+
layout: "learningpathall"
9+
---
10+
11+
In this section, you will set up the Alif [Ensemble E8 Series Development Kit](https://alifsemi.com/ensemble-e8-series/) hardware connections for ML development and debugging.
12+
13+
## Hardware Requirements
14+
15+
You need the following hardware:
16+
17+
- **Alif DK-E8 Board** (Ensemble E8 Development Kit)
18+
- **USB-C Cable** for JLink programming (connects to PRG USB port)
19+
- **USB-TTL Converter** (1.8V logic level) for UART debug output (optional but recommended)
20+
21+
## Connect the Programming Interface
22+
23+
1. Locate the **PRG USB** port on the underside of the board:
24+
25+
![The PRG USB Port on the Underside of the Board alt-text#center](./prg-usb-port.png "The PRG USB Port on the Underside of the Board")
26+
27+
2. Connect the board's `PRG USB` port to your computer using a USB Type-C cable
28+
29+
3. The board powers on automatically, with an LED in the bottom right alternating red-green-blue:
30+
31+
<center>
32+
<iframe src='/learning-paths/embedded-and-microcontrollers/observing-ethos-u-on-alif/e8-board-connected.mp4' allowfullscreen frameborder=0 width="800" height="400"></iframe>
33+
34+
*Alif Ensemble E8 Board Connected and Powered On*
35+
</center>
36+
37+
## Set Up UART Debug Output (Optional)
38+
39+
For real-time debug output, you can connect an external USB-TTL converter to the board's UART2 pins. This is useful for monitoring inference results and debugging.
40+
41+
{{% notice Note %}}
42+
Due to potential SW4 switch soldering issues on some boards, using an external USB-TTL converter is more reliable than the onboard USB-to-serial.
43+
{{% /notice %}}
44+
45+
### UART Connection Table
46+
47+
Connect your USB-TTL converter to the J8 header on the board:
48+
### UART Connection Table
49+
50+
Connect your USB-TTL converter to the J8 header on the board:
51+
52+
| USB-TTL Pin | J8 Header Pin | Signal |
53+
|-------------|---------------|-------------|
54+
| GND | Pin 1 | Ground |
55+
| TXD | Pin 12 | P1_1 (UART2_TX) |
56+
| RXD | Pin 14 | P1_0 (UART2_RX) |
57+
58+
{{% notice Note %}}
59+
Use a 1.8V logic level USB-TTL converter. Standard 3.3V or 5V converters can damage the board.
60+
{{% /notice %}}
61+
62+
### J8 Header Pin Layout
63+
64+
The J8 header is a 2x20 pin connector. When looking down at the board:
65+
66+
```
67+
J8 Header (2x20, looking down at board)
68+
69+
Pin 2 Pin 1 ← GND (connect here)
70+
Pin 4 Pin 3
71+
Pin 6 Pin 5
72+
Pin 8 Pin 7
73+
Pin 10 Pin 9
74+
Pin 12 Pin 11 ← UART TX (connect here)
75+
Pin 14 Pin 13 ← UART RX (connect here)
76+
... ...
77+
```
78+
79+
### Verify UART Connection
80+
81+
After connecting the USB-TTL converter:
82+
83+
1. Find the serial port on your computer:
84+
```bash
85+
ls /dev/tty.*
86+
```
87+
88+
2. Connect using a terminal program:
89+
```bash
90+
screen /dev/cu.usbserial-XXXX 115200
91+
```
92+
93+
Or use the baud rate scanner if output appears garbled:
94+
```bash
95+
./scan_baud.sh
96+
```
97+
98+
## LED Status Indicators
99+
100+
The Alif E8 board uses an RGB LED to indicate system status:
101+
102+
| LED Color | Timing | Meaning |
103+
|-----------|--------|---------|
104+
| Red-Green-Blue alternating | Continuous | Board powered, waiting for program |
105+
| White flash | 500ms at startup | Board initialized successfully |
106+
| Green flash | 500ms after init | System ready |
107+
| Blue blink | 1 Hz | Application running normally |
108+
109+
## Verify Board is Ready
110+
111+
Before proceeding to the next steps, confirm:
112+
113+
- ✅ PRG USB cable is connected
114+
- ✅ Board LED is alternating red-green-blue
115+
- ✅ (Optional) UART connections are made and verified
116+
- ✅ Board appears as a USB device on your computer
117+
118+
You're now ready to install the required software tools.
119+
* Now you can enter Fastboot mode by typing the following command in the `u-boot=>` prompt:
120+
```bash
121+
fastboot 0
122+
```
123+
* You will be required to enter Fastboot mode on the next page of this learning path
124+
125+
## [Optional] Run the Built-In NXP Demos
126+
* Connect the NXP board to a monitor via HDMI
127+
* Connect a mouse to the NXP board's USB-A port
128+
129+
![NXP board built-in ML demos alt-text#center](./nxp-board-built-in-ml-demos.png "NXP board built-in ML demos")
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
# User change
3+
title: "Install Alif SETOOLS"
4+
5+
weight: 4 # 1 is first, 2 is second, etc.
6+
7+
# Do not modify these elements
8+
layout: "learningpathall"
9+
---
10+
11+
1. Navigate to the [Alif SETOOLS download page](https://swrm.alifsemi.com/Content/3.4%20SETOOLS.htm?TocPath=Secure%20Enclave%20Subsystem%7C_____4) and download the zip / achive file for your operating system (Windows, Linux or macOS).
12+
13+
2. When you extract the files from the zip / archive, you will find the below usage instructions in a PDF file named similarly to this one:
14+
15+
`AUGD0005-Alif-Security-Toolkit-User-Guide-v1.107.0.pdf `
16+
17+
* Execute the utilities directly from the command line; example:
18+
```bash { output_lines = "2-7" }
19+
./maintenance
20+
# Example output:
21+
COM ports detected = 3
22+
-> /dev/cu.wlan-debug
23+
-> /dev/cu.debug-console
24+
-> /dev/cu.Bluetooth-Incoming-Port
25+
Enter port name:
26+
```
27+
28+
{{% notice macOS %}}
29+
30+
Allow SETOOLS utilities when you first try to open them:
31+
32+
![macOS SETOOLS Warning alt-text#center](./macos-not-opened-warning.jpg "macOS SETOOLS Warning")
33+
34+
![Allow SETOOLS Utilities on macOS alt-text#center](./macos-allow-setools.jpg "Allow SETOOLS Utilities on macOS")
35+
36+
{{% /notice %}}
37+
38+
3. The recommended <release-location> installation directories are:
39+
* Windows: `C:\app-release-exec`
40+
* Linux: `/home/$USER/app-release-exec-linux`
41+
* macOS: `/Users/$USER/app-release-exec-macos`
42+
43+
4. Connect the Alif board's `PRG USB` port (on the underside of the board) to your machine via a USB Type-C cable:
44+
45+
![The PRG USB Port on the Underside of the Board alt-text#center](./prg-usb-port.png "The PRG USB Port on the Underside of the Board")
46+
47+
* The board should power on, with a LED in the bottom right alternating red-green-blue
48+
49+
<center>
50+
<iframe src='/learning-paths/embedded-and-microcontrollers/observing-ethos-u-on-alif/e8-board-connected.mp4' allowfullscreen frameborder=0 width="800" height="400"></iframe>
51+
52+
*Alif Ensemble E8 Board Connected*
53+
</center>
54+
55+
5. Update the Alif Ensemble E8 board to the latest System Package release:
56+
```bash
57+
./updateSystemPackage
58+
```
59+
* You will see output prompting you to connect to a COM port:
60+
```bash { output_lines = "1-8" }
61+
Burning: System Package in MRAM
62+
...
63+
COM ports detected = 4
64+
-> /dev/cu.wlan-debug
65+
-> /dev/cu.debug-console
66+
-> /dev/cu.Bluetooth-Incoming-Port
67+
-> /dev/cu.usbmodem0012195566321
68+
Enter port name:
69+
```
70+
* Enter (copy-paste) the port name that is similar to `/dev/cu.usbmodem0012195566321`:
71+
```bash { output_lines = "1-12" }
72+
Enter port name:/dev/cu.usbmodem0012195566321
73+
# Example output
74+
Bootloader stage: SERAM
75+
[INFO] Detected Device:
76+
Part# AE822FA0E5597LS0 - Rev: A0
77+
...
78+
Download Image
79+
alif/SP-AE822FA0E5597LS0-rev-a0-dev.bin[####################]100%: 270400/270400 bytes
80+
...
81+
Download Image
82+
alif/offset-58-rev-a0-dev.bin [####################]100%: 16/16 bytes
83+
...
84+
```
85+
* You can confirm that you have the correct device by looking for the part number `AE822FA0E5597LS0` in the above `Bootloader` output:
86+
* `AE822FA0E5597LS0` is the product number of the [Alif Ensemble E8 processor](https://alifsemi.com/ensemble-e8-series/)
87+
* You can find your processor's serial number (starting with `AE101F`) by going back to the [Overview](/learning-paths/embedded-and-microcontrollers/observing-ethos-u-on-alif/1-overview/) page of this learning path
88+
89+
## Troubleshooting
90+
* If you need to rediscover your USB UART adapter port, just add `-d` to any SETOOLS utility; for example:
91+
```bash
92+
./updateSystemPackage -d
93+
```

0 commit comments

Comments
 (0)