Scott Shawcroft Works On Bare-Metal Raspberry Pi CircuitPython as Adafruit Plans an E Ink Computer

The ability to run CircuitPython on a Raspberry Pi without an operating system will soon be here — along with an E Ink microcomputer.

CircuitPython project lead Scott Shawcroft is working to get the programming environment running on a Raspberry Pi single-board computer, but with a twist: It operates at the bare metal level, no operating system required, and will form the basis of a CircuitPython personal computer build by Adafruit.

"What we have here is a Raspberry Pi and it's running CircuitPython on bare metal, as I say in the biz, and the cool thing about that is you can display things on HDMI screens," Adafruit's Phil Torrone explains in a brief video demo of Shawcroft's latest CircuitPython work. "But that wasn't good enough for us. We wanted to see if it worked on an E Ink HDMI display."

Effort is underway to get CircuitPython running on the Raspberry Pi without an operating system. (📹: Adafruit)

"This is CircuitPython running native on the BCM2845... I don't remember the part number. What's cool is the the frame buffer is actually really easy to write to, apparently," Adafruit's Limor 'LadyAda' Fried explains. "There's two interesting things: One, we connect to the REPL over the USB so this is actually running in USB peripheral mode and that's where you get to the REPL; and then HDMI out is shown here and as I type things into the REPL it will refresh and appear. Super freaky!

"One of the plans is to make a little computer with a keyboard, that is just CircuitPython. Write code, make art ... with HDMI, have the output go to a little portable projector ... kids could make cool kaleidoscopes, or make a Haiku computer that shows the last one made when the power is off since this one is E Ink."

A fork of the MicroPython project, which adapted the Python programming language for resource-constrained embedded systems, CircuitPython has been extended with a range of features designed for accessibility and education — and the ability to turn any Raspberry Pi into a dedicated Python machine is set to be the latest, with support for handling the general-purpose input/output (GPIO) header the next item on the to-do list.

Interested parties can view the source code for the port themselves on the "rpi" branch of Shawcroft's CircuitPython GitHub repository, where it's made available under the permissive MIT License.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire:
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles