Ibuilt a tiny Unix‑like 'OS' with shell and filesystem for Arduino UNO (2KB RAM)
Arc1011
79 points
14 comments
April 21, 2026
Related Discussions
Found 5 related stories in 76.2ms across 5,223 title embeddings via pgvector HNSW
- Show HN: TinyOS – A minimalist RTOS for Cortex-M written in C hpscript · 95 pts · April 03, 2026 · 54% similar
- I built a pint-sized Macintosh ingve · 99 pts · March 03, 2026 · 51% similar
- Tiny Programmer:writes code, takes breaks to hang out on a BBS, and clocks out akman · 12 pts · April 10, 2026 · 50% similar
- PiCore - Raspberry Pi Port of Tiny Core Linux gregsadetsky · 95 pts · April 15, 2026 · 48% similar
- Go on Embedded Systems and WebAssembly uticus · 142 pts · April 03, 2026 · 47% similar
Discussion Highlights (9 comments)
jrflo
Fun idea! The real time interaction with GPIO from the CLI is the most interesting thing here, I could see a general framework for that being useful for early-stage prototyping with new hardware/sensors if you included things like I2C, SPI, and UART.
DoctorWhoof
Missed opportunity to call it "Unox"
dale_glass
Very neat, but why Arduino Uno? It's well past its prime.
lpcvoid
>// The descriptive files (i.e., README and QUICKSTART) were written by Claude AI (with minor tweaks). Why? Because if I had done it myself, it would have ended up as a few lines of incoherent gibberish that wouldn't tell you anything.// I would have enjoyed your lines of gibberish far more than the slop that Claude spit out. But it's a cool project, thank you for sharing.
zserge
Reminds me of a good old arduino shell, Bitlash - https://github.com/billroy/bitlash/wiki/commands
whattheheckheck
Mike stonebraker said the filesystem should be a database in a recent podcast with ryan peterman. Any thoughts on trying that out?
ls65536
I made something similar a long time ago partly as a challenge to see what could be done with just 2 KB RAM [0]. It was possible to implement some very basic context switching between two "processes", pipes (okay, I only had a single pipe, and it only worked between certain commands), and some other things like a few built-in games (pong, snake, and a breakout-style game, naturally). I didn't go as far as adding any filesystem functionality though, and ultimately yours does feel more Unix-like overall, but it was a fun little project where you learned to always consider every single byte as precious. [0] https://github.com/ls4096/avrsysh
contingencies
Awesome! Next up SD card block driver and dual 328P based networking stack :)
genxy
Creating task schedulers for microcontrollers is fun , like phenomenal fun. Everyone should have an UNO available in some form for playtime.