MidiGAL is yet another MIDI controller device inspired by Mutable Instruments MIDIpal.


MidiGAL can run original unmodified Mutable Instruments MIDIpal firmware midipal_v14. There is also a number of other firmware variants that were developed specifically for MidiGAL:

  • MidiClk — MIDI clock tester/generator (see below for new and improved version)
  • MidiArp — advanced MIDI arpeggiator
  • MidiSeq — polyphonic MIDI step sequencer
  • MidiDisp — MIDI events dispatcher
  • MidiClock — MIDI Clock tester (improved MidiClk MIDI clock tester)
  • MidiSync — MIDI Clock generator (improved MidiClk MIDI clock generator)
  • MidiGrids — Mutable Instruments Grids for MIDI (experimental, great with Digitakt)

MidiGAL differences from MIDIpal

MidiGAL hardware is a superset of the original MIDIpal hardware:

  • 8×2 LCD (MIDIpal uses 8×1)
  • tactile switch (MIDIpal has no switch)
  • external EEPROM (MIDIpal has no external EEPROM)
  • 4 x I/O ports (MIDIpal has 8 of them)

DIY Resources

Firmware: midipal_v14 MidiClk_099 midiarp_102 midiseq_102 MidiDisp_100 MidiSync_103 MidiClock_101 midigrids_101

Bill of materials: MidiGAL BOM

Build instructions: Building MidiGAL

Schematics: midigal_sch

Board outline: midigal_dim, SMT: midigal_smd_top  midigal_smd_bottom

Case files: MidiGAL_Case_4 (thanks to Altitude909)

Test firmware with source code: MidiGAL_src (good starting point if you want to develop your own MIDI processing firmware for MidiGAL)


Acrylic case


This case requires 4 x 10mm (top) and 4 x 22mm (bottom) standoffs.

It is compatible with both long (25mm) and short (20mm) shaft encoders. Long encoder works with pretty much any 6mm D-shaft knob, whereas the short one needs a knob with 8mm skirt or less.

It expects rectangular switch button, the one that is specified in the BOM (TACBLK)

The .EPS file is formatted for Ponoko/Formular but any place should be able to accept it.

Ordering MidiGAL

To order MidiGAL, please send an email to pete at kvitek c o m specifying how many PCBs and pre-programmed MCUs you need, a country where to ship them, and an email address to send the PayPal invoice to.

MidiGAL PCB — $20

Pre-programmed ATMega328p — $10 (please specify the firmware variant)

Acrylic case with all the required hardware (stand offs, screws, nuts and rubber legs): — $30

Continental USA — $5 (California residents add 8.75% tax)
Canada — $15 or $20, if pre-built or a case is included
Europe — $20 or $25, if pre-built or a case is included
Australia — $20 or $25, if pre-built or a case is included

Please make sure your PayPal shipping address is correct!

If you don’t trust your soldering skills, we can build a MidiGAL or two for you. The order is usually fulfilled in a couple of days. Fully assembled MidiGAL in an acrylic case is $145 plus shipping, please email pete at kvitek c o m for details if you are interested.


Starting with March 2018, all fully assembled MidiGALs are SMT, unless you request otherwise. MidiGAL SMT is functionally identical to its original through hole variant and has exactly the same form factor:



196 thoughts on “MidiGAL

    • ok so how close is this to functionality of the original midipal?

      i have the pal and love it
      it’s become quite rare & I’m afraid of breaking it
      so much so that i rarely practice/record

      please shoot me an email id love to pick one of these up if it still does the midirouting to various channels (i use it to achieve polyphony live on otherwise limited hardware)


      • When MidiGAL is running MIDIpal firmware the functionality is identical — it’s exactly the same firmware.

        In addition, MIdiGAL has a MidiDispatch firmware which does much more flexible MIDI dispatching comparing to MIDIpal’s implementation.

  1. Hello, Pete!
    Is it possible to use your prom files to program the atmega myself? Is there any pitfalls on this way or I have to buy the preprogrammed MC from you?

    • Absolutely! Flashing MCUs is pretty straighforward once you’ve figured it out. The only pitfall I can think of is choosing an unreliable programmer. I’m using original AVR ISP Mk2 and it’s excellent.

  2. Hello

    its possible to use these one woth hhe Korg MS20m Kit version to simulated a polyphon mode with dispatching?

    I have a MidiPal but the dispatch dont work woth the ms20m kit.

    • Since KORG MS-20M allows you to select MIDI Channel it receives notes on should be able to use a group of MS-20Ms set to different MIDI Channels as a single poly synth by using either MIDIpal “dispatch” app or MidiGALs MidiDispatch firmware.

  3. I’m playing with MidiGrids now, thanks for the awesome port! Have you written up any documentation for this? Currently trying to use it w Digitakt – (I think you mentioned elsewhare you have done this). Are you able to assign the 4 notes to different samples/tracks on the Digitakt, without using a dispatcher?

    • No docs yet, sorry, consider it experimental firmware for now… MidiGrids was actually written specifically with Digitakt use case in mind. You don’t need a dispatcher, just hook up MidiGAL MIDI OUT to DigiTakt MIDI IN and set up the latter to receive MIDI notes on the same channel, then set up the trigger notes in MidiGAL. I also like to use Digitakt 8 soft knobs to control MidiGrids… for that, you connect Digitakt MIDI OUT to MidiGAL’s MIDI IN, and set Digitakt knobs to send the following CCs:
      Trk1Fill = 14
      Trk2Fill = 15
      Trk3Fill = 16
      Trk4Fill = 17
      MapX = 18
      MapY = 19
      MapChaos = 20
      Accent = 21

      This way MidiGrids + Digitakt form a stand alone drum source with pretty decent UX which is a lot of fun to play with.

      • Hey, I’m using the MidiGrids firmware and trying to control it via MIDI; what channel does it need the data sent on? Also wondering if you have any plans to open source the code?

      • MidiGrids receives CCs on MIDI Channel set on the Channel page. These are the CC numbers:

        kCCTrk1Fill = 14;
        kCCTrk2Fill = 15;
        kCCTrk3Fill = 16;
        kCCTrk4Fill = 17;
        kCCMapX = 18;
        kCCMapY = 19;
        kCCMapChaos = 20;
        kCCAccent = 21;

      • Oops, i was suprised to find out that i did not publish MidiGrids source code… i’ll do this ASAP on github/kvitekp.

        If you need it right now, please drop me a line at the email address specified on the ordering page and i’ll send you a copy of the source code.

  4. The link above for the MI firmware is dead…….The midi pal firmware on their website won’t transfer to my midigal. Are they still compatible?

    • Yes, MidiGAL is still compatible with MIDIpal firmware. There is one minor caveat though — if your MidiGAL came with non MIDIpal firmware, its bootloader on it is not compatible with stock MIDIpal firmware. There is avariant of original MIDIpal firmware patched for MidiGAL bootloader that would update nicely though. It contains MIDIpal 1.4 with standard options. For other options contact me.

      If you MidiGAL came with MIDIpal firmware, it is fully compatible with all stock firmware variants from MI.

      • You didn’t understand I think. My question is: Is it possible to trigger the arp or the sequencer of the Midigal with an external audio sound (rim shot of TR-909) or external midi notes instead of the audio to TRIG the sequence. It’s basically the behaviour of the sequencers on SH101 and JX3P. Do you understand my question?

      • “Is it possible to trigger the arp or the sequencer of the Midigal with an external audio sound” — no, MidiGAL is a MIDI device and can only be triggered with MIDI events.

        “or external midi notes” — this is possible.

      • Just to be sure we are on the same page. So the external trig in is available with midi notes right? So, I assume you know the principle of SH-101 external trig in. The Midigal will mimic exactly that with midi instead of audio? Thanks in advance.

      • I have never had real SH-101 sorry.

        MidiGal is a hardware platform, its actual functionality depends on the firmware variant that is currently loaded into it.

        All firmwares support both internal and external synchronization to MIDI Clock events.

        MidiSeq firmware can use Note On events to advance sequencer step. That sounds like SH-101 feature.

        MidiClock firmware can use Note On events to measure jitter and latency,

      • I went to the ancestor MidiPal forum and looks like Cedric Gilet implemented it:
        I quote:
        “The CLK parameter (clock mode) now has a new option called KBD (keyboard trigger). This can be used to step the SH-style sequencer or the arpeggiator using either:

        MIDI note 96 (highest note on a 61-keys keyboard) on the selected channel.
        Any note on channel 16.

        So this function is in the MidiGal right?

        Thanks in advance

      • This function is in that special version of MIDIpal firmware that Cedric hacked together. Any MIDIpal firmware can run on MidiGAL pkatform.

        Similar feature is implemented in MidiSEQ sequencer, see “Key Sync” page

  5. Sorry for the typos:
    I was just wondering if something like the new Keystep 37 (from Arturia) chord mode could be implemented in the MidiGAL, along with its MIDI clock generator abilities?

  6. Is it normal to get blown pixels on the display? Mine had developed some yellowish square on the middle of the screen. Thanks. I took a photo with my smartphone if required.

  7. I’m running grids, and have the cc controls mapped, but the x, y, and chaos controls are not changing the pattern. Am I missing something?

    • Please make sure that CC’s are sent on the MIDI channel MidiGAL is listening to and that CC codes are mapped as following:

      CCTrk1Fill = 14
      CCTrk2Fill = 15
      CCTrk3Fill = 16
      CCTrk4Fill = 17
      CCMapX = 18
      CCMapY = 19
      CCMapChaos = 20
      CCAccent = 21

      • I see the values moving on the box, and the fill knobs do affect the midi note outs, but changing the XY and Chaos values don’t change the pattern of note outs.

  8. Hello,
    Can the Midigal be used with th new Prophet 5 Rev 4 as a standalone Arpeggiator and Sequencer? If yes, can it be sequenced polyphonicly? Also, not sure if this is a dumb question. Does the Midigal have presets, if so how many?

    Thank you,

    • I’m using MidiGAL’s MidiARP and MidiSEQ firmware with my P6 and OB6 module, so it should be possible with P5 Rev4.

      MidiSEQ is a polyphonic step sequencer, think of SH101 sequencer on steroids.

      Yes, both firmwares mentined above have 99 presets.

      • “SH101 sequencer on steroids” sounds good!
        So since Midigal can only run one firmware at a time, only MidiARP or MidiSEQ. Can you have two midi gals running, one with MidiARP or MidiSEQ, and have both get information from the P5 keyboard?
        I also would like to have a Tempest drum machine as the main clock.
        Is this possible with the above setup?


  9. Hi!
    I have Midiarp 1.02 on a Midigal. It’s working with external clock coming from an LXR drum machine. The problem is when I start the LXR sequencer, the message is not transmitted from the midigal to the other devices ( Midirex, Minilogue).
    This is working good with the arpegiator from the midipal firmware.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s