MiniCommand Resurrection // MCLive


yes, no case.

What you see below. Includes 8GB MicroSD and an Arduino Mega.


After moving home, i’ve finally got my studio and workspace set up again.

Working on finishing up the WAV designer so that I can get back on to tweaking the live performance functionality.

WAV designer is now working:

  • Loop points are automatically calculated for the generated single cycle waveform.
  • Sample rate is adjusted for ‘best fit’ of the fundamental waveform frequency (eliminates most buzzing artefacts caused by sample/loop point alignment)
  • Generated waves are automatically normalised before upload.
  • 3 Oscillators are working and can be mixed together. Currently Sine, Tri, Pulse and Saw waveforms.
    Sine oscillator contains 15 overtones.


Good news.

I wrote a small python program to mirror the MegaCommand display over USB
This serves a few purposes:

  • Existing MC owners with the 16x2 LCD display can see the enhanced graphical functions by connecting to a laptop.
  • Record videos showing features easily.
  • Quickly update documentation screenshots.

Here’s the new additive synthesiser WavDesigner in action.






Justin, please also make sure that Nick Batt will be happy (and not unhappy!) by adding PWM if that’s possible; TIA.

'cause he loves PWM indeed.

edit: DISCLAIMER: haven’t had time to see the latest commits yet


Pulse width is there!
WavDesigner is still in the dev branch. Have a few GUI things to do first before I push to master.


Hey Justin,

to be clear, the WaveDesigner only works on the OLED or on the 16x2 + Laptop? It does not work on the 16x2 only?


Works on the 16x2 as well, finished the code for that last night. Some waveforms won’t be drawn on screen but they’ll render just the same.


Aiming to push a new release to Master branch tomorrow.
Among the new features there are numerous improvements and bug fixes, specifically around workflow.


I’ve committed all this weekend’s changes to the dev branch.

It needs more testing before I push to master and tag for 2.15 release.

Earlybirds can check out DEV if they wish.


Eager to test TBH, 'cause of 'em waveforms. Hopefully I’ll look into setting up environment tomorrow or the day after (time permitting) to be able to flash dev branch FW. If anything interesting will surface, I’ll report.


DEV branch is stable now.

Read the Changelog before using.

If you’re planning on using the WavDesigner there is a nasty bug in the MD firmware that causes the MD encoders to lock up after receiving a sample dump in certain scenarios. The Changelog has more details.


Should add:

The WAVDesigner mode has 4 pages.


Encoder buttons[1-3] select oscillators [1-3].
Top left button changes wav type.
Certain wav types use the MD trigger interface (Sine and User) + modifier encoder (see below)

Encoder 1 = Pitch/Note (hold shift1 to see frequency)
Encoder 2 = Fine-tune in cents +/- 100
Encoder 3 = Pulse width (0 - 100%)
Encoder 4 = Modifier (only applies to User and Sine wav)

OscMixer Page:

Encoder button 4 is the OscMixer.
Each of the oscillators has a volume adjustment.
Pressing the top right button will render the oscillators and send as SDS to the nth sample slot of your choice. (MD ROM slot numbers are n + 1).


@roboKob I’ve added MIDI Forward functionality. You can choose to forward Midi data from port 1 to 2 or 2 to 1.


After a bit of sysex snooping around I’ve found a whole bunch of undocumented SYSEX commands for controlling elements of the MD GUI. Entering/Exiting submenus, emulating key presses etc.


That’s very, very good!
Hoping to see them documented somewhere some day :wink:

I wonder if such ‘snooping’ but with :elan: / :musical_keyboard: will bring some news, too. Irrationally I still have a hope that they can be commanded more fully. At the last resort, maybe Overbridge proto can be RE’d, but I digress.


Too slow.

I just posted this :smiley:


It’s unfortunate that Elektron have not made MIDI a priority on the new machines.

From working closely with the MD you can see their was great care and attention to make the MIDI spec as comprehensive as possible.


Unfortunately I can’t compile latest -dev as it is ATM, 'cause it says:

In file included from avr/cores/megacommand/MCL/MCLSeq.h:6:0,
                 from avr/cores/megacommand/MCL/MCL.h:21,
fatal error: SeqLFOPage.h: No such file or directory

And yes, there’s no such file there.

If I comment out lines 26 & 36 in avr/cores/megacommand/MCL/SeqPages.h that reference it, then the sketch seems to compile:

Sketch uses 122480 bytes (48%) of program storage space. Maximum is 253952 bytes.
Global variables use 45429 bytes (79%) of dynamic memory, leaving 11914 bytes for local variables. Maximum is 57343 bytes.

Should I try to upload it in such a “state” or not? :wink:


Yeah that’s fine. I need to remove the references to those pages before merging to master.

Edit: Just uploaded a patch for this.


Update: I’ve spent the last 2-3 weeks re-itterating over firmware features, fixing bugs and improving workflow and stability. I’m very happy where the firmware is now.

I plan to release 2.15 tomorrow.