Research: Porting Linux to Ultra-Low Power Microcontroller

Status : Approved
Name : Research: Porting Linux to Ultra-Low Power Microcontroller
Objective : This working group’s objective is to explore the available RTOSes as well as developing a linux port from scratch for the Ambiq Apollo 3 & 4 series processors or similar ultra low power microcontroller. The research from this group will support future/current working groups.
Timeline : 4/14/21-5/13/21
Members : @scrunch (open to new members)
Contact : @scrunch, Zulip

Hardware :

Other hardware: SAMD51, STM32U5

Software : TockOS, FreeRTOS, or Linux from Scratch (see this page for several resources)

Looking for:
As @alexsotodev describes his Drivers for Eink displays project:

"All skills are welcomed! We are also looking for folks who have:

  • Experience with:
    • Embedded Development
    • Electrical Engineering
    • Software Developers
    • Reverse-Engineering
    • Writers/Researchers"

And as @xorlof describes his PaperTerm project:
“At this point, we need other people interested in the idea of this super-low-power device with its “I’m not a regular laptop” aspiration. You can help us figure out the key important areas for us to focus on. No special skills needed! If you like the sound of such a device, email us and join! No required time-commitment and no contribution is too small and no worries of all of this microcontroller-type talk goes over your head. We need you!”

This project will operate alongside the PaperTerm project, of which I am also a member of (and encourage you to check out!). While the PaperTerm is focused on developing the requirements for a lightweight client used for interacting with programs on remote computers (such as SSH/telnet,remote desktop & VNC), this RTOS/linux port will be geared towards determining the system requirements that would be needed to run (initially smaller) apps stored on flash/SRAM of the local microcontroller. That is, determining what the firmware/bootloader, kernel and app size should be in order for the system to be feasible & developed.

Kernel basic intro (Start here): (definitely more accessible than the following advanced kernel/linux OS tutorials)

The results of this project can then be applied to the PaperTerm project and also Drivers for E-ink Displays research group at a later time towards an e-ink laptop using a microcontroller having both low-power and high-power modes (or just one if you prefer! :slight_smile: ).

You may draw inspiration from this guy:

I think he published the source code, but I wouldn’t even know how to use it, since the Linux build pipeline is so complicated…