Git Product home page Git Product logo

w84death / smolos Goto Github PK

View Code? Open in Web Editor NEW
147.0 10.0 11.0 1.24 MB

smolOS - a tiny and simple ๐Ÿงช research โš™๏ธ operating system โŒจ๏ธ written in ๐Ÿ MicroPython for microcontrollers giving user a POSIX-like ๐Ÿ“ environment and ๐Ÿงฐ tools to play.

Home Page: http://smol.p1x.in/os/

License: MIT License

Python 100.00%
micropython micropython-esp8266 os esp8266 neopixels rp2040 xiao research-project seeeduino-xiao operating-system

smolos's Introduction

smolOS

Specialized Microcontroller-Oriented Lightweight Operating System

smolOS is 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.

System should run on any MicroPython supproted board but it's tested and developed on Seeed XIAO RP2040,

Official homepage:

smolOS XIAO

Real Life Usecases

  • listing and removing unwanted files on board
  • checking free space
  • easy way to write simple programs and run them from the OS
  • quicly iterating parameters for a program
  • editing small bugs in programs
  • having fun with microcontrollers

smolOS Features

  • Changes microcontroller into a small working PC
  • Homemade for fun and learning
  • Super small and fast
  • Easy to use, simillar to MS-DOS, POSIX-like environments
  • List and manipulates files
  • Text editor included (very basic but capable)
  • Basic tools and demos included (for NeoPixels, Buzzers, LEDs)
  • Build on MicroPython with clear code
  • Stability and simplicity are the main principle behind the code
  • Free and open :)

Additoinal Programs

  • ansi - Displays ANSI escape codes
  • life - Game of Life implementation for smolOS (text)
  • buzz - Simple synthezator for 1-bit music (requies a buzzer)
  • bytebeat - Implementation of ByteBeat for a buzzer

All of those are for NeoPixel Grid 5x5 BFF:

  • duck - Yellow Rubber Duck for programmers
  • neolife - Game of Life implementation
  • pixel - Tools for playing with one LED
  • plasma - Demoscene plasma effect
  • font - Font bitmaps (for scroller)
  • scroller - Scrolls text

Installation

Super Quick Quide

  • put main system file smolos.py onto the board flash (that has latest MicroPython firmware)
  • (optional) for auto-boot copy main.py too
  • restart device

Detailed Guides

Connecting

As normal user:

$ picocom /dev/ttyACM0

Press ctrl+a+x to exit.

Running

First start. Or after flashing new main.py file. Restart the microcontroller:

>>> machine.soft_reset()

Autoboot

This should restart the device and "boot" you into the smolOS. Like so:

smolOS XIAO

Manual

If you put smolos.py then you need to boot the system by hand. In MicroPython REPL write:

>>> from smolos import smolOS
>>> os = smolOS()
>>> os.boot()

Using

Write help for manual :)

smolOS list

smolOS help

smolOS editor

Intresting forks

Missing Features / ROADMAP

Some kind of a roadmap (from high to low priority)

  • os: move/copy files
  • (external, threaded programs) check exception for used core instead of class variable
  • good manual

Articles

smolos's People

Contributors

w84death avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smolos's Issues

Add ESP32 support

As the title implies, ESP32-S3 is a very popular chip powered by Xtensa LX7 as opposed to the C variant of ESP32 (such as ESP32-C3 and ESP32-C6) powered by RISC-V processors.

So since the S3 variant is pretty similar to ESP8266 it should be relatively easy to port it (with the exception of dual core and being 32 bit) while the C variant is a different story and might be more complex.

Thank you for this awesome project!

Installation instructions

Super Quick Quide

Just put main.py into the board (that has latest MicroPython firmware) and restart.

Don't you mean smolos.py?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.