Note: PicOS requires executable QMI PSRAM and currently only runs on the Pimoroni Pico Plus 2 W (RP2350). Support for the non-WiFi Pico Plus 2 is planned once I get one for testing.
There was a lot of AI involved in building this. If that’s a dealbreaker for you, fair enough - this project isn’t for you.
Hi all, a few weeks back, I started a personal project to make developing apps on the PicoCalc easier. The existing firmware options are great, but I wanted something that handles more of the boilerplate for app developers who want to focus on software development rather than wrangling hardware.
So what is PicOS? It’s a bare-metal firmware for the PicoCalc that acts as a small operating system with a built-in app runtime. It manages the hardware - display, keyboard, SD card, WiFi, audio - and exposes it all through an API. Apps are Lua scripts (or native C ELF binaries) that live on the SD card. Drop a folder in /apps/, and the launcher picks it up.
What it gives you out of the box:
-
Double-buffered display with drawing primitives, image/sprite support, and MJPEG video playback
-
WiFi + HTTP/HTTPS client with async callbacks
-
Audio - tones, PCM streaming, WAV samples, and MP3 playback
-
Raw TCP/TLS sockets for anything HTTP doesn’t cover
-
Filesystem sandboxing - apps get their own read/write space by default, with opt-in full SD access
-
System menu overlay (F10 key) with app-registerable items
-
Shared UI widgets - text input dialogs, confirmation modals, headers/footers
-
Per-app and system-wide config persistence
Lua has first-class support - apps get a fresh VM with the full picocalc.* API pre-registered. Native C apps are also supported via an ELF loader that relocates PIE binaries into PSRAM. Other language bridges could follow (Micropython etc.).
It’s still a work in progress, and the SDK isn’t as polished as I would like, and will likely break as things stabilise, but I wanted to open this up for feedback.
Source is here: https://github.com/jeffory/PicOS
Current release is here: Release v0.0.8 · jeffory/PicOS · GitHub
(Just need to flash the firmware and copy any apps you want to the apps/ folder)
Please let me know what you think of it.
Thanks to the UF2 Loader and Picoware projects, which were used for reference when debugging a few rough issues.




