E-ALE is a Free & Open Source Linux Training Program for Embedded Engineers

As I wrote about the Embedded Linux Conference 2019 schedule a few days ago, I found out one of talk planned to use E-ALE hardware kit for the session. I had never heard about this kit, but a quick search led me to e-ale.org website which explains E-ALE stands for Embedded Apprentice Linux Engineer.

The training program is made for embedded engineers with experience designing firmware for microcontrollers, but now need to transition to embedded Linux. Training only happens in-person (no webinar) at existing Embedded Linux conferences and is comprised of 8 to 9 seminars over 2 to 3 days. It usually starts with a presentation on one subject, followed by lab time to practice the relevant learned skills.

Raspberry Pi Zero W E-ALE Floral Bonnet
E-ALE Kit for LCA2019 – Raspberry Pi Zero WH, Floral Bonnet, Sensors, and Display

The training takes place on the E-ALE kit at each conference, but it does not refer to a specific hardware platform. In most conferences, the PocketBeagle and BaconBits add-on board are used to lab sessions, but for example this year at LCA (linux.conf.au), E-ALE workshops were done on a Raspberry Pi Zero WH with Floral Bonnet “HAT” to connect sensors, a USB serial board, and an OLED display.

If you are interested but cannot attend the training in person, or prefer to learn by yourself, slides and code are available on the course materials site and on Github. The slides are licensed under CC BY-SA and the code under GPL/MIT. If the conference organizers allow it, the sessions are also uploaded to YouTube.

E-ALE official hardware kit
E-ALE official hardware kit – Click to Enlarge

An important point is that E-ALE is an open source project made up of community members and companies who want to help people get into Embedded Linux programming. All the materials and instructor time is donated, and the hardware kits are priced as low as possible just to cover costs.

I’ve embedded ELC 2018 E-ALE video playlist below with about 14 hours of training about PoketBeagle hardware, kernel modules, SPI and I2C drivers, U-boot, GDB debugging, buildroot and more.

Leave a Reply

2 Comment threads
2 Thread replies
Most reacted comment
Hottest comment thread
3 Comment authors
halhertaAlexdgp Recent comment authors
newest oldest most voted
Notify of

I wonder if they noticed that CP2102 module they are using outputs 4v logic instead of 3.3v. 😀


It appears that most of the microUSB serial modules use an unmarked chip, likely a clone. I have a few of those, they appear pin-to-pin compatible but don’t support all modes the genuine one does and have somewhat higher power consumption.


I have a bunch of those modules I got from banggood. They have a real/real enough CP2102 but they have the reset line pulled up to 5v and that causes the chip’s 3.3v regulator output and the io pins to become 4v.


This is a great resource, though I’d pretty much prefer a course on using I2C, SPI, GPIOs, ADC, PWM e.t.c from userspace in C and python. It’d also be nice if the course can cover programming the PRUs in C. I realize that this information exists on many places on the web, but it would be nice to be able to access it in a central location. Also much of what’s on the internet is out of date, especially on the PRUs, which can be very confusing for beginners.