smolOS - Tiny Operating System For Tiny Devices

Specialized Microcontroller-Oriented Lightweight Operating System

smolOS header

Welcome to the official homepage of the **smolOS*

  • a tiny (<20KB, <500LOC) and simple 🧪 research ⚙️ operating system ⌨️ written in 🐍 MicroPython for microcontrollers giving user a POSIX-like 📁 environment to play.
    It came with a set of 🧰 tools and 🪄 demos.

    Created by Krzysztof Krystian Jankowskiweb at 22nd of July, 2023.

  • 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.


    smolOS welcome screen Writing and running a program

    Real Life Usecases

    smolOS Features

    Forks

    Download smolOS

    Additonal files

    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

    ESP8266 board ESP8266 board
    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 installed
    "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 Tiny Cyberdeck

    XIAO RP2040 + NeoPixel BFF 5x5 + Buzzer + JST Connector + random Li-Po from a drone.

    UPDATE:
    XIAO Tiny Cyberdeck RIP XIAO. I'm waiting for a new board as my current release the magic smoke..

    Resources

    Articles about smolOS