Skip to content
Libre Computer

For departments

Offer embedded Linux on real hardware

A ready-to-adopt introductory course in embedded systems for electrical engineering, computer engineering and computer science departments. Students follow a Libre Computer board from power-on to a working product, in thirteen modules and ten labs.

It is written as a portable core, so any school can run it on its own calendar, on either of two boards.

  • Quarter or semester
  • 10 labs
  • Upstream Linux
  • Das Frite or Solitude

Who it is for

Second- and third-year students in electrical engineering, computer engineering and computer science who can program and have used a breadboard, but have not yet run Linux on hardware. It fits after a first programming course and works best after a microcontroller course, which gives students the contrast the course is built on.

Learning outcomes

By the end of the course, a student can:

  1. Explain how an embedded Linux system differs from a microcontroller system, and choose between them for a given product requirement.
  2. Name the parts of a single-board computer (the system-on-chip, memory, storage, regulators, clock and I/O ports), find each on a board and its layout, and say what each contributes to booting.
  3. Trace the board's power from the input to every rail, measure the rails, and explain why rails come up in sequence before reset is released.
  4. Describe each boot stage in order (boot ROM, the SRAM stage, memory bring-up, the secure monitor and bootloader, UEFI, the kernel and init), say where each runs and what it loads next, and identify each from the lines it prints on a serial console.
  5. Install an operating system image, verify it, boot it by hand from the bootloader prompt and through UEFI, and recover a board whose boot is broken.
  6. Read a device tree, look up a pin's multiplexed functions, and write an overlay that enables a bus and binds an in-kernel driver, then verify the result in /sys and /dev.
  7. Control GPIO and use I2C, SPI and UART devices from Linux, work from their datasheets, and decode a transaction on a logic analyser.
  8. Write a userspace driver for a peripheral, compare it with the kernel's own driver for the same part, and explain when each is the better choice.
  9. Design, build, document and demonstrate a small embedded system that combines at least two buses.

The two platforms

Both boards run the same upstream Linux and U-Boot, carry their boot firmware with UEFI in SPI flash, and have a 40-pin header in the Raspberry Pi layout, so the labs are the same on either. They differ in size and cost, in how the OS is stored, and in how much memory and I/O there is.

123444456789101112131S805X system-on-chip2DDR4 memory3SPI NOR flash (underside)4Buck regulators5Linear regulator624 MHz crystal7Boot select switch840-pin header9USB Type-C10HDMI11Ethernet12USB 2.013Composite video

Compact and low cost

Das Frite AML-S805X-AC-V2

  • Amlogic S805X: 4 × Arm Cortex-A53 at 1.416 GHz, Mali-450 GPU
  • 512 MB DDR4 on a 16-bit bus, one memory chip
  • 16 MB SPI NOR flash holding the UEFI boot firmware
  • No microSD slot: the OS boots from a USB drive or an eMMC module
  • USB Type-C for power and USB device mode, one USB 2.0 Type-A, Fast Ethernet, HDMI, composite video
  • 40-pin GPIO header in the Raspberry Pi layout
123444456789101112131415161617171S905D3 system-on-chip2LPDDR4 memory3SPI NOR flash4Buck regulators5Linear regulator6Crystal7Boot select switch8microSD (underside)9Gigabit Ethernet PHY10USB 3.0 hub1140-pin header12Serial console header13USB Type-C14HDMI15Ethernet16USB 3.017Camera and display

More memory and I/O

Solitude AML-S905D3-CC

  • Amlogic S905D3: 4 × Arm Cortex-A55 at 2.016 GHz, Mali-G31 MP2 GPU, 1.2 TOPS AI accelerator
  • 2 GB or 4 GB LPDDR4 on a 32-bit bus
  • 16 MB SPI NOR flash holding the UEFI boot firmware
  • MicroSD slot and an eMMC module socket
  • USB Type-C for power and USB device mode, four USB 3.0 Type-A, Gigabit Ethernet, HDMI, camera and display connectors
  • 40-pin GPIO header in the Raspberry Pi layout, plus camera and display connectors

Prices and availability are on each product page. The per-station and bench equipment lists are on lab setup.

Why Libre Computer boards

Upstream software

Both boards run upstream Linux and U-Boot, so what students learn matches the kernel's own documentation and carries straight into industry work.

A familiar footprint

Raspberry Pi mounting holes and a 40-pin, color-coded GPIO header in the Pi layout, so common breadboard parts and lab fixtures fit either board.

Built to last

Libre Computer boards are supported for the long term, with upstream software rather than a one-off vendor kernel; Solitude's product page commits to 20 years. A lab you set up once keeps working term after term.

Open hardware data

Every header pin is on the GPIO pinout, every part on the board layout, every rail on the power map, and ready-made overlays ship in the open wiring tool.

Adopting the course

Step 1

Review the course

Check the outcomes and the modules against your curriculum and the courses around it.

Step 2

Pick a format and a board

A 10-week quarter or 14-week semester, on Das Frite or Solitude.

Step 3

Size the lab

One station per pair of students plus a few spares, and one bench set for every four to six stations: lab setup.

Step 4

Talk to us

Tell us your school, department and target term, and we will help with kits and materials.

Paying for the course

Public programs that can help pay for kits, lab setup and faculty time are listed on funding.

Questions

Can any school run it?

Yes. The course is a portable core that any school maps onto its own calendar, course numbering and prerequisites (prerequisites).

How do we order boards for a class?

Prices and retailers are on each product page. For class quantities, write to us with your expected enrolment and term.

Are the teaching materials ready?

For the 10-week quarter, yes: a lecture outline for every week, the ten lab handouts, a grading rubric, a TA guide and a station sheet are on the materials page. What is still in preparation, and what instructors make themselves until then, is listed on that page.

Contact

Interested in running the course, joining as a school, or ordering kits for a class? Write to us with your school, your department and the term you have in mind.

Email contact@libre.computer