LockerGnomeTech news and nostalgia for today's technology professionals
Subscribe

Search

Hacks & Buildssylphide-osmicrocontrollersraspberry-pi-pico-2rp2350esp32-p4retrocomputingoperating-systemsopen-hardware

Sylphide OS, a Hobby Operating System, Puts a Black-and-White 512x384 Windowed Desktop on Microcontroller Computers, Including a Homemade Raspberry Pi Pico 2 Board

Developer Thomas Capricelli announced Sylphide OS 0.1 on October 28: a FreeRTOS-based system with a window manager, menus and a mouse cursor for computers built on microcontrollers like the ESP32-P4 and the Raspberry Pi Pico 2, plus a VGA board he wired himself.

Chris sits cross-legged on the floor holding up a hand-wired little circuit board connected to an old boxy monitor showing a black-and-white windowed desktop, drawn as a woodcut.
Illustration: LockerGnome

Thomas Capricelli wanted a computer he could understand all the way down. “You get a relatively very simple platform, booting straight to your code (or almost), and you can understand the whole architecture,” he wrote in his announcement. “Exactly as it was with home computers long ago.”

The chips he means are microcontrollers, the kind usually buried inside gadgets. The project page explains that “Lacking MMU, those boards are usually not able to run a full-fledge modern operating system such as Linux.” So Sylphide OS runs on FreeRTOS, a small kernel built for that class of chip, and adds its own drivers and a graphical desktop on top.

He skipped the command line and the boot-to-BASIC screen other retro builds use and went straight for a desktop. “I went for black&white and 512×384 pixels. Do you get it ?” he wrote, and left it there. The project page adds, “You might recognize a famous look.” At one bit per pixel, a full screen at that size takes 24,576 bytes, small enough to fit in a chip’s own memory.

Drawing windows that way is old-school work. “You almost need to bring pixels one-by-one in a very efficient way,” he wrote. “Not at all the wayland way with all windows being textures rendered by applications and a hefty GPU mixing it all together.” Version 0.1 has “a window manager handling windows, damages, clipping and all. Along with a (rudimentary) menu system, mouse cursor.”

The drivers took as long as the desktop. He wrote input for USB, PS/2, mouse and keyboard, and output for VGA and HDMI, and said the code he learned from was often “spread among lot of different files, mixed with irrelevant code, undocumented,” sometimes “only working (for example) because most VGA monitors are tolerant with respect to timings.”

The flagship target is Olimex’s ESP32-P4-PC, which has HDMI and a four-port USB hub. The hub has a hardware catch: low-speed devices don’t work through it, so “you can’t use keyboard and mouse” on those ports without a workaround, and for now it takes a keyboard or a mouse, one at a time.

The other headline target is homemade. “I couldn’t find an existing board based on the very cheap rp2350, with several USB-A plugs and VGA output,” he wrote, so he started from a Pico 2. The Pico 2 target page lists the wiring: two GPIO pins for USB, two for VGA sync, and up to four for color, through 270 and 820 ohm resistors. He tested the 1-bit and 2-bit modes on a VGA monitor with a monochrome setting, driving only the green wire. Storage, networking, widgets and loading programs from an SD card are all still on the to-do list, and he hasn’t said when a real circuit board for the Pico 2 version will exist.

A desktop shared across several cheap boards points toward something the hobby hasn’t had in a while: a common platform for microcontroller computers, the way each home computer once had its own operating system. Once storage and external programs land, the system can start running software other people write, which is the step that turns a demo into a platform. His blog says he wants a display “more than VGA 640×480” with four levels of gray, so the next round of hardware may be built around Sylphide OS instead of the other way around.

More Hacks & Builds

Every Hacks & Builds story →