While the MicroPython community is amazing at making powerful packages that make embedded development a dream, historically it has been painful to actually find what has previously been made. This has lead to a lot of re-created wheels.
mim aims to solve this problem by providing a singular place to find all MicroPython packages that can be installed with mip, making the process for installation consistent and providing a clear command to follow to get running with the package you need.
mim contains both "Official" MicroPython packages (from the micropython-lib repo) and "Community" packages, open-source packages submitted by the users of mim.
This is a MicroPython implementation of the TV-B-Gone project. The TV-B-Gone (by Mitch Altman) is a universal remote control that can turn off most televisions. Unfortunately, the existing open-source implementations (for the ATTiny microcontrollers) have very outdated code databases and don't work with many modern TVs. This project is designed to work with the ESP32 microcontroller and a recent version of MicroPython (I used v1.25.0). I wanted to use the ESP32 because its RMT peripheral allows for simple and well controlled modulated IR signal generation.
Currently supports around a dozen different manufacturers.
You can also capture new shutoff codes from remote controls in the wild.
Code in both C and Micropython for the RasPi Pico which implements frequency measurement of external signals.
A Micropython port of Software Automatic Mouth Text-To-Speech program.
WARNING: This project is not under any open source software license. Use it at your own risk.
This MicroPython module usamtts is trimmed and optimized for MicroPython from the CPython package samtts. It keeps the core of samtts which consists of Reciter, Processor and Renderer. And it puts all the code in a single file for easy installation.
This project is an unofficial Python port of SAM. It is translated by hand from the adaption to C by Stefan Macke and the refactorings by Vidar Hokstad.
PiChart is a lightweight library for creating charts, cards, and image tiles on MicroPython-driven displays, optimized for devices like the Raspberry Pi Pico with Pimoroni displays. Plot data as bars, lines, or points, display text cards, or show JPEG images in a customizable grid layout.
Supports bar and line graphs, point charts, text cards, and JPG image tiles. Grid based layout. Customizable colors, sizes, and options.
The 1.28-inch watch development board uses RP2040 single-chip microcomputer. RP2040 has a pair of ARMCortex-MO+cores with a clock frequency of 133MHz, providing sufficient integer performance. With 264 KB of large RAM and 4 Mbytes of spi-flash on board, users can develop a large number of applications using c or MicroPython.
Basically, it's a smartwatch kit that you can hack. No documentation so you'll have to do your homework to figure it out.
A MicroPython port for the famous Flipper Zero. No need to learn C: Use your favorite programming language to create apps, games and scripts. .py files are copied onto the Flipper Zero's microSD card. Adding Python support to the Flipper Zero platform was only possible by rigorously sorting out unnecessary language features. I didn't know it was possible to sift even more stuff out of Python to make an embedded version, but so far the list of what they removed makes sense. Be careful with external Micropython modules, though.
Support for basic language constructs like functions, classes, loops, and so forth. Access the Flipper’s hardware: buttons, speaker, LED, GPIO, ADC, PWM, etc. No custom firmware required so no risk of bricking your Flipper.
API documentation: https://ofabel.github.io/mp-flipper/reference.html
Linux-like shell interface for MicroPython. ( See cpy_shell for the CircuitPython version.) Inspired by mipyshell and busybox, here is a command-line shell for your MicroPython board carefully implementing a range of useful commands and features.
Everything is written to save RAM and Flash; command bytecode is not loaded if you don't run the command, history is stored in a file, not in RAM, pipes use flash instead of RAM, command recall and editing and tab-completion is intelligent, etc.
import sh
starts the shell.
Has a surprising amount of functionality! Very Busybox-like.
An online *python IDE for embedded applications. No software installation required, just a browser. Implements the functionality of common tools, like mpremote, ampy, and rshell. Connect to the device in question over USB, serial, a web-based REPL, Bluetooth LE, WebRTC, and even emulation. Has the beginning of a file manager. Has a Micropython package manager. Has a Micropython compiler(!) Supports multiple devboards.
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.
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.
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.
Wasp-os is a firmware for smart watches that are based on the nRF52 family of microcontrollers, and especially for hacker friendly watches such as the Pine64 PineTime. Wasp-os features full heart rate monitoring and step counting support together with multiple clock faces, a stopwatch, an alarm clock, a countdown timer, a calculator and lots of other games and utilities. All of this, and still with access to the MicroPython REPL for interactive tweaking, development and testing.
Wasp-os comes fully integrated with a robust bootloader based on the Adafruit NRF52 Bootloader. The bootloader has been extended to make it robust for development on form-factor devices without a reset button, power switch, SWD debugger or UART. This allows us to confidently develop on sealed devices relying on Bluetooth Low Energy for over-the-air updates.
An implementation of BASIC for the BBC micro:bit, written in Micropython.
M5's custom build of Micropython for the StackC series of products.
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
.
PicoCat v2 is a complete redesign of the original opensource Opencat project; that is to say each part has been remodelled in Fusion 360 to allow for the different size of servo used. The old model used either the SG90 or the MG90. The DS-929MG is slightly longer than the sg90 and mg90. The only parts not changed are the head assembly parts.
MicroPython/CircuitPython DOS-like shell for microcontroller boards like the RasPi Pico and Featherwing.