freezeFS.py is a utility program that runs on a PC and converts an arbitrary folder, subfolder and file structure into a Python source file. The generated Python file can then be frozen as bytecode into a MicroPython image together with the Virtual File System driver vfsfrozen.py.
When the generated Python file is imported, the file structure is mounted with os.mount() as a read only Virtual File System, which can be accessed on the microcontroller with regular file operations such as open in "r" or "rb" mode, read, readinto, readline, seek, tell, close, listdir, ilistidr, stat.
If the deploy option is used, the files and folders of the frozen files are copied to the standard flash file system. This enables installing configuration and data files when booting the MicroPython image the first time.
An important topic is that opening files in "r" mode requires to buffer the file in RAM. However, many libraries such as web servers and json support reading text modes in "rb" mode, and no overhead is incurred.
This is a plugin for the Flipper Zero that ports pForth.
Once started the plugin will add a forth command to the CLI that can be used to call up a basic forth shell.
Calling the forth command with a file path as parameter will cause that file to be executed as a forth script. Examples are provided under forth_scripts.
To use one of the provided scripts (for example notif_success.fth), copy it to your SD card. Then run the plugin and execute forth /ext/<path to your file> (for example forth /ext/notif_success.fth) on the CLI.
A small webserver and templating library specifically designed for MicroPython on the Pico W. It aims to provide a complete toolkit for easily creating high quality web based interfaces for your projects. Basic web server that implements GET and POST. Optimized for speed and minimal memory use. Parameterized routing. Templating engine. Query string decoding and parsing included. Multiple types of POST bodies. connect_to_wifi
and access_point
(enable AP mode) convenience methods.
Tiny research project build on top of MicroPython providing DOS/POSIX-like operating system. Designed for ESP8266 and RP2040. Should work on any board with no or little changes.
I always wanted to make my own small operating system. I grew up using MS-DOS and now using Linux exclusively on all my computers. So my system will look very similar to those, just simpler. Another dream was to build as small a computer as possible. Now with 32-bit ESP8266 and MicroPython I could do that! So I did.
A data compression/decompression library for embedded/real-time systems. Low memory usage (as low as 50 bytes). You can chew on input data in arbitrarily tiny bites. This is a useful property in hard real-time environments. The library doesn't impose any constraints on memory management.
This repository contains code to control Raspberry Pi Pico, ESP8266, ESP32 or other MicroPython projects using a browser-based user interface. It allows you to interact with your Pico projects remotely from any device with a web browser, including smartphones, tablets, and computers.
Serve static and dynamic web pages from your Raspberry Pi Pico. Run Python functions on your microcontroller device from a web browser. Create dynamic web pages with live data from your Pico or other microcontroller. Blink the IP address using the built-in LED, handy when you're out in the field with no screen or computer. Display a file and folder list of your root directory with an attractive and responsive user interface.
M5's custom build of Micropython for the StackC series of products.
Snek is a tiny embeddable language targeting processors with only a few kB of flash and ram. Think of something that would have been running BASIC years ago and you'll have the idea. These processors are too small to run MicroPython.
Snek borrows semantics and syntax from python, but only provides a tiny subset of that large language. The goal is to have Snek programs able to run in a full Python (version 3) implementation so that any knowledge gained in learning Snek will transfer directly to learning Python.
Github and list of supported microcontrollers: https://github.com/keith-packard/snek
webOS is a web-centric and usability-focused software platform for smart devices, which has proven its performance and stability in over 70 million LG Smart TVs. Since its adaptation to display products, webOS has come a long way and evolved into a software platform applicable to a broader range of products.
The open source project of webOS, called webOS Open Source Edition (OSE), was announced in March 2018 under the philosophy of open platform, open partnership, and open connectivity. On top of the core architecture of webOS, webOS OSE offers additional features that allow extension to more diverse industry verticals.
A pure Python-implemented database that looks and works like MongoDB. Supports in-memory, flat file, SQLite, and lmdb storage. Seems very flexible.
DictDataBase is a simple and fast database for handling json or compressed json as the underlying storage mechanism. Multi threading and multi processing safe. ACID compliant. No database server required. Simply import DictDataBase in your project and use it. JSON files can be stored normally or compressed. Fast. Heavily unit tested.
PikaScript is an ultra-lightweight Python engine with zero dependencies and zero-configuration, that can run with 4KB of RAM and 32KB of flash (such as STM32G030C8 and STM32F103C8).
A list of useful payloads and bypasses for Web Application Security.
This CLI tool provides an integrated set of utilities to remotely interact with and automate a MicroPython device over a serial connection. This will automatically connect to the device and provide an interactive REPL. No additional serial support software is required. Part of Micropython but can be installed as a stand-alone utility wherever you can install Python and run pip
.
A tiny HTTP server made for CircuitPython WiFi devices (like the ESP32).
Note that ampule is in alpha and right now for use by tally_circuitpy. Feel free to use it, but know that there are tons of things not yet implemented.
ampule gathers inspiration from Bottle: Python Web Framework, Adafruit's CircuitPython WSGI library, Adafruit's ESP32 SPI WSGI Server, and Adafruit's CircuitPython Requests library.
A "linux" written in python, for the Raspberry Pi Pico. Important note: Do not take this project seriously.
It runs on the rpi pico, circuitpython 7. You can optionally attach a SSD1306 display for output, a ds1302 RTC (make sure to set fixrtc to false from config.json) for persistent time or a w5500 networking breakout board for networking. For the missing hardware the functions will be automatically deactivated. (The hardware will also be deactivated in case of missing libraries.). It expects to find a /LjinuxRoot folder which uses as it's root. It can be on the built in fs, or an sd card, more details at Configuration.
Elara DB is an easy to use, lightweight NoSQL database written for python that can also be used as a fast in-memory cache for JSON-serializable data. Includes various methods and features to manipulate data structures in-memory, protect database files and export data. Can serialize and dump to disk for storage and restoration. Integrity checking built in.
Not a server, it's an embedded database.
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system.
BusyBox has been written with size-optimization and limited resources in mind. It is also extremely modular so you can easily include or exclude commands (or features) at compile time. This makes it easy to customize your embedded systems. To create a working system, just add some device nodes in /dev, a few configuration files in /etc, and a Linux kernel.