MegaCommand
MCL
5.02
Firmware

MCL

Hype17/100

MCL firmware for the MegaCommand MIDI Controller.

MCL is custom firmware for the Open hardware (jmamma) MegaCommand, Elektron Monomachine, and Elektron Machinedrum, by @jmamma. Latest release 5.02 (July 2026), 94 stars on GitHub.

forOpen hardware (jmamma) MegaCommand,Elektron Monomachine,Elektron Machinedrum·by@jmamma

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

Downloads
0
Stars
94
Forks
14
Commits
5,968
Last commit
Download 5.02

mcl_5_0_2.hex· 675 KB· +1 file

Custom license· jmamma/MCL·downloads come from the creator’s GitHub releases

1,385
Commits
3
Releases
1,385 commits and 3 releases in the last year
Activity · last 12 months

MCL

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

Documentation

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.py

Platform Support

MCL can now be built to run across different hardware platforms using PlatformIO.

Current platforms:

  • AVR - MegaCommand DIY and MegaCMD devices
  • RP2350 - TBD
  • RP2040

Upgrade MCL

  1. Install PlatformIO Core

    pip install platformio
    
  2. 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
    
  3. 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.

  4. 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 from Source Code

Building and uploading MCL from Source:

MegaCommand DIY:

platformio run -e megacommand -t upload

MegaCMD:

platformio run -e megacmd -t upload

TBD:

platformio run -e tbd -t upload

Architecture

.
├── 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.

Libraries

MCL builds upon proven open-source libraries: