Tool

pyworkshopsystem

Hype41/100

A micropython object model for the Music Thing Modular Workshop System Computer module.

pyworkshopsystem is a tool for the Music Thing Modular Workshop System Computer, by @MJLMills. Open source under MIT, latest release v0.0.2 (April 2025), 3 stars on GitHub.

forMusic Thing Modular Workshop System Computer·by@MJLMills

Unclaimed. Is this yours? Sign in with GitHub as @MJLMills to claim it.

Downloads
0
Stars
3
Fork
1
Commits
292
Last commit
Download v0.0.2

firmware.uf2· 701 KB

MIT· MJLMills/pyworkshopsystem·downloads come from the creator’s GitHub releases

pyworkshopsystem

A micropython object model for the Music Thing Modular Workshop System Computer module.

This repo contains an object model for the Music Thing Modular Workshop System's Computer module. In abstracting away much of the micropython specifics, it aims to allow a user to interact directly with the components of the module (knobs, sockets, switches and LEDs) in software, and to connect them using a signals/slots API.

Building the Package

The source code can be frozen into the micropython code within a .uf2 file, allowing for flashing of Computer modules with both micropython and the extensions in the package. This process is not mature or well-tested, so per-release, pre-built .uf2 files are provided in the release page of the git repo.

Building requires cmake and the appropriate GNU embedded toolchain. On MacOS these can be installed using homebrew:

brew install cmake

and

brew install gcc-arm-embedded

The bash script clone.sh clones the micropython repo, and initializes the submodules needed to build the rp2 port of micropython. The build.sh script then builds the cross-compiler, the board/port submodules and finally the firmware.uf2 file, which is copied to the root dist directory. This file can be copied to the RP2040 in the Computer module, with all Computer-specific functionality then available via import computer in the main.py file running on the RP2040.

Helpful Links

Micropython documentation

Micropython samples

Micropython functionality specific to the RP2040

Micropython RP2xxx quick reference

RP2040 python datasheet

RP2040 Datasheet

pio examples

Micropython SPI documentation