Git Product home page Git Product logo

mightymos / smolos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from w84death/smolos

0.0 0.0 0.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%

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

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.