Introduction
I always wanted to make my own small operating system. I grown using MS-DOS and still using it ocassionaly. So my system will look very simillar to those, just simpler.
Another dream was to build as small computer as possible. Now with 32-bit RP2060 and MicroPython I could do that! I started with OS and few programs.
Screenshots
Taken from the serial terminal in Thonny.


Real Life Usecases
- Removing unwanted/broken files on board
- Checking free space
- Quicly iterating parameters for a program
- Writing and running own programs in smolOS
- Learning basics of operating disk operating system (using and modyfing)
- Having fun with small computers :)
smolOS Features
- Changes small microcontroller into a working PC from the 80's
- Homemade for fun and learning
- Super small (20KB) and fast
- Easy to use, simillar to MS-DOS
- List and manipulates files
- Minimum viable text editor included
- Write own programs and run them from the OS
- Build on MicroPython
- ★126 stars on GitHub and growing!
Forks
- smolOS by rbenrax - for POSIX-like environment, expanded with a lot of features!
- pegasusOS by 047pegasus - adds easy networking
Download smolOS
- smolos - latest stable version
- smolOS-latest - between releases (may not be stable
Additonal files
- main - auto boot file
- template - boilerplate for user programs
- full list of user applications to download
smolOS Manual
Read the latest manuals and tutorials.
Latest Changes
For latest news see:
Supported Hardware
This is the hardware I have and confirm that the system works as intended. In theory is shoudl work on any board supported by MicroPython.
Boards |
|
---|---|
Espressif ESP8266EX |
Seeed Studio XIAO RP2040 |
![]() |
![]() |
ESP8266EX is integrated with a 32-bit Tensilica® processor (L106), standard digital peripheral interfaces, antenna switches, RF balun, power amplifier, low noise receive amplifier, filters and power management modules. All of them are included in one small package, our ESP8266EX. | RP2040 is the debut microcontroller from Raspberry Pi. It brings our signature values of high performance, low cost, and ease of use to the microcontroller space. |
Tensilica® L106 32-bit processor @160Mhz | ARM Cortex-M0+ dual 32-bit processor @133Mhz |
SRAM: 80KB (user), 32KB (instruction) | SRAM: 264KB |
Flash: 1MB | Flash: 2MB |
LED: YES | LED: YES |
NeoPixel: NO | NeoPixel: YES |
|
Peripherals |
|
---|---|
Buzzer/PC Speaker |
Adafruit NeoPixel Grid 5x5 BBF |
![]() |
|
"Buzzer or beeper is an audio signaling device, which may be mechanical, electromechanical, or piezoelectric (piezo for short)." - Wikipedia |
"We call this the Grid BFF - a "Best Friend Forever". This PCB is designed to fit onto the back of any QT Py or Xiao board, it can be soldered into place or use pin and socket headers to make it removable. Onboard is a grid of 25 1.5x1.5mm NeoPixel LEDs (SK6805 to be exact)" - Adafruit |
|
My Setup - Tiny Cyberdeck
XIAO RP2040 + NeoPixel BFF 5x5 + Buzzer + JST Connector + random Li-Po from a drone.
UPDATE:
RIP XIAO. I'm waiting for a new board as my current release the magic smoke..
Resources
- Thonny IDE Homepage
- ANSI Escape Sequences
- ESPTool for flashing
- Adafruit ampy for uploading files
- Picocom minimal dumb-terminal emulator
Articles about smolOS
- hackster.io "Krzysztof Jankowski's MicroPython-Based smolOS Puts a Tiny POSIX-Like Environment on Your ESP8266"
- cnx-software.com "smolOS brings a Linux-like command line interface to ESP8266 microcontroller" (rewrite from hackster)
- news.ycombinator.com "SmolOS brings a Linux-like command line interface to ESP8266 microcontroller" (links to cnx-software)