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."
"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.