This repository contains tools and scripts for interfacing with the M5Unit Synth using CircuitPython. It provides basic functionality such as resetting the synth, adjusting volume, and sending MIDI commands.
Before you can use this toolkit, you'll need to install CircuitPython on your M5Stack Cardputer and set up your CircuitPython environment.
-
Install CircuitPython on M5Stack Cardputer
To install CircuitPython on your M5Stack Cardputer, follow these steps:
-
Download the CircuitPython Firmware: Visit the CircuitPython M5Stack Cardputer page and download the
.binfirmware file. -
Use the M5Stick-Launcher to Install CircuitPython: You can use the M5Stick-Launcher to install the CircuitPython firmware from an SD card. Download and copy the
.binfile to your SD card.- Insert the SD card into your M5Stack Cardputer.
- Open the M5Stick-Launcher, navigate to the
.binfile, and execute it. - The firmware will be installed, and your M5Stack Cardputer will boot into CircuitPython.
-
-
Clone the Repository
Clone this repository to your local machine:
git clone https://github.com/Axlfc/M5Unit-Synth-CircuitPython-Toolkit.git
-
Copy Files to Your CircuitPython Device
After cloning the repository, connect your CircuitPython device to your computer. Copy the files from the repository into the
CIRCUITPYdirectory on your device. -
Install Required Libraries
This project depends on several libraries. You need to download and place these libraries into the
libfolder on your CircuitPython device.-
Download the
adafruit_midilibrary: Download theadafruit_midilibrary from the Adafruit CircuitPython MIDI GitHub Repository.- Direct link to the
adafruit_midifolder: Adafruit MIDI Library Folder.
- Direct link to the
-
Download the
asynciolibrary: Download theasynciolibrary from the Adafruit CircuitPython asyncio GitHub Repository.- Direct link to the library release: Adafruit CircuitPython asyncio 1.3.2.
-
Download the
adafruit_tickslibrary: Download theadafruit_tickslibrary from the Adafruit CircuitPython Ticks GitHub Repository.- Direct link to the library release: Adafruit CircuitPython Ticks 1.1.0.
-
Download the
adafruit_display_textlibrary: Download theadafruit_display_textlibrary from the Adafruit CircuitPython Display Text GitHub Repository.- Direct link to the library release: Adafruit CircuitPython Display Text 3.1.2.
-
Download the
adafruit_display_shapeslibrary: Download theadafruit_display_shapeslibrary from the Adafruit CircuitPython Display Shapes GitHub Repository.- Direct link to the library release: Adafruit CircuitPython Display Shapes 2.8.3.
-
Download the
adafruit_displayio_layoutlibrary: Download theadafruit_displayio_layoutlibrary from the Adafruit CircuitPython DisplayIO Layout GitHub Repository.- Direct link to the library release: Adafruit CircuitPython DisplayIO Layout 2.1.0.
-
Copy the Libraries: Locate the
adafruit_midi,asyncio,adafruit_ticks,adafruit_display_text,adafruit_displayio_layoutfolders from the downloaded repositories and copy them to thelibfolder on your CircuitPython device.
Your
libdirectory should now look like this:CIRCUITPY/ ├── code.py └── lib/ ├── adafruit_midi/ ├── adafruit_display_text/ ├── adafruit_displayio_layout/ ├── adafruit_display_shapes/ ├── adafruit_ticks.py └── asyncio/ -
-
Run the Code
After setting everything up, your device should be ready to run the scripts in this toolkit and interact with the M5Unit Synth.
This toolkit includes functions to send MIDI commands, reset the synth, and adjust the volume. Refer to the individual scripts for specific usage examples.
If you'd like to contribute to this project, please fork the repository and submit a pull request with your changes.
This project is licensed under the GPL-2.0 License. See the LICENSE file for details.
- Special thanks to Adafruit for providing the necessary libraries and support for CircuitPython development, and to bmorcelli for the M5Stick-Launcher project.
- Big shoutout to bmorcelli's M5Stick-Launcher project, thanks to that I was able to install CircuitPython into my M5Stack Cardputer with such ease.
- Refer to M5Stack documentation for more information.