April 3, 2026
10KB, 1,000 opinions
Show HN: TinyOS – A minimalist RTOS for Cortex-M written in C
Commenters split: rocket‑science tiny operating system or weekend toy
TLDR: A developer unveiled TinyOS, a 10KB-ish operating system for tiny devices, boasting networking and safety features. Commenters applauded the learning project but debated whether it’s truly “real-time” or just “embedded,” with nostalgia for μC/OS resurfacing—making this a small OS with a big comment-section energy.
A solo dev dropped “TinyOS,” a bite‑size operating system for tiny gadgets, claiming a kernel under 10 KB with a 2 KB RAM minimum — and the comments lit up. Fans loved the packed punch: a scheduler to juggle tasks, a built‑in command shell, even networking and security tools like TLS and MQTT for talking to the internet. The author says they built it from scratch to learn, and people applauded the effort and the top‑notch README.
Then the split: Is this real-time (predictable timing under pressure) or just embedded (runs on small chips)? One skeptic pressed for clarity on whether it’s genuinely time‑critical or just tiny. Another called real‑time work “rocket science,” warning that predictability isn’t a vibe, it’s math. Meanwhile, nostalgia hit hard: someone dusted off the classic μC/OS (“whatever happened to it?”), pointing out it even went open source in 2020 with repos here.
The vibe? Curious, impressed, and a little suspicious. Newcomers thanked the thread for explaining that “RTOS” simply means Real‑Time Operating System, while old‑timers compared notes from the embedded trenches. Jokes flew about a 10 KB “mini brain” running half the internet, while others asked how “real-time” it really is. TinyOS brought the code — the comments brought the drama.
Key Points
- •TinyOS is a minimalist RTOS for IoT/embedded devices with a kernel under 10 KB and a 2 KB minimum RAM requirement.
- •It implements preemptive, 256-level priority scheduling with round-robin within equal priorities and O(1) priority lookup; priority inheritance is supported.
- •Features include mutexes/semaphores/queues, software timers, a VT100 shell (19 commands), a POSIX-like filesystem with wear leveling, and power-fail safety.
- •Networking stack supports Ethernet, IPv4, ICMP, UDP, TCP, HTTP, DNS, plus TLS/DTLS (mbedTLS), MQTT 3.1.1, and RFC 7252 CoAP.
- •Supports ARM Cortex-M, RISC-V (RV32I), and experimental AVR platforms; quick-start uses gcc-arm-none-eabi with example builds and a C API for tasks, timers, and synchronization.