A high-performance MIDI sequencer, controller and live performance system. Designed to for use with the Machinedrum and other MIDI devices.
Visit the releases page for:
- Latest firmware binaries
- User documentation
- Installation instructions
The MCL User Documentation is available online.
The editable manual lives in docs/manual. It is written in
Markdown and built into a static GitHub Pages site with:
python3 tools/docs/validate_manual.py
python3 tools/docs/build_manual_site.pyMCL can now be built to run across different hardware platforms using PlatformIO.
Current platforms:
- AVR - MegaCommand DIY and MegaCMD devices
- RP2350 - TBD
- RP2040
-
Install PlatformIO Core
pip install platformio
-
Clone the Repository
First, you need a local copy of the MCL repository. Open your terminal, navigate to a directory of your choice, and run the following commands:
git clone https://github.com/jmamma/MCL.git cd MCL git pull origin master -
Place the MegaCommand in to OS UPGRADE mode
Hold down the < Page > button when powering-on the MegaCommand to enter the boot menu.
Select "OS UPGRADE" to place the MegaCommand in to serial mode.
-
Run the Upload Command
Choose the command that corresponds to your hardware:
MegaCommand DIY:
platformio run -t nobuild -t upload -e megacommand_latest
MegaCMD:
platformio run -t nobuild -t upload -e megacmd_latest
When you execute one of these commands, a script automatically performs the following steps:
- Fetches the latest MCL release manifest from this respostiory.
- Downloads the latest firmware file for your selected device.
- Flashes the downloaded firmware onto your device.
Should platformio not detect the correct upload port you can specify it like so:
platformio run -t nobuild -t upload --upload-port <port> -e <environment>
Building and uploading MCL from Source:
MegaCommand DIY:
platformio run -e megacommand -t uploadMegaCMD:
platformio run -e megacmd -t uploadTBD:
platformio run -e tbd -t upload.
├── art Pixel-art and animations
├── build Release manifest and compiled firmwares.
├── include Header files required for building specific libraries
├── resource Compressable C++ data structures used by MCL
│
├── src
│ ├── mcl MCL source code
│ ├── platform Platform specific code
│ └── resources Compressed C++ data structures
│
└── tools Various tools for building the firmware
The AVR version is built on top of the MegaCore Arduino core, and is extended for relevant platforms in src/platform/avr.
The RP2040/RP2350 version is built on top of the arduino-pico core, and is extended for supported hardware in src/platform/rp2040.
MCL builds upon proven open-source libraries:
- ArduinoPico by Earle F. Philhower, III
- MegaCore by MCUdude
- MIDICtrl Framework by Manuel Odendahl
- SdFat Library by Bill Greiman
- Adafruit GFX Library by Adafruit