MidiGAL

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

MidiGalBuild_310

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_110 — testing firmware, use it to test MidiGAL LCD, switch, encoder, MIDI I/O and EEPROM.

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_113 midiseq_102 MidiDisp_100 midisync_112 midiclock_110 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)

midigal_brd

Acrylic case

MidiGAL_ClearCase_small

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.

3D printed case

Nowdays most fully assembled MidiGALs are shipped with clamshell 3D printed cases. These are much less brittle, lighter and easier to assemble than previous acrylic cases:

MidiGAL_3DPrintedCase

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.

MidiGAL SMT

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:

MidiGAL_SMD#2_small

MidiGAL_SMD#1_small

237 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)

      thanks

      • 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?

        Thanks!

  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.

  10. Hello Pete. I am not sure if this is the right place to ask but I would like to make sure before ordering the PCB, MCU and the resistors, capacitors, etc.

    The reason I am interested is this : I have a KORG Minilogue but find the built-in 16step sequencer to be completely limited. So I am wondering if the MIDIgal+MIDISEQ fw would be capable of :

    – I plug the MIDI out of the minilogue to the MIDI in of the midigal.
    – I plug the MIDI out of the midigal to the MIDI in of the minilogue.
    – I play on the minilogue keyboard let’s say 64 keys (steps) and record them on the midigal
    – I then play the sequence on the midigal, sit down and see the whole sequence to be played on the minilogue, while I touch the knobs.

    Will this work?

    Thanks in advance mate. I don’t feel like spending a lot of money in fancy HW sequencers like Korg SQ64 which also occupy a lot of space on my desk and… honestly are not as fun as creating a DIY solution!

    Thanks in advance.

      • Hey Pete! Thanks for the fast answer!

        Why would you need a Local Only mode?

        First step is to press the keyboard on the minilogue to record the notes on the midigal. For that, it is good that you hear what you are playing.

        And the second step is to playback those notes to the minilogue, in that case you are not touching the keyboard because you just don’t need it.

        Am I missing something? Could be as I am quite newbie with MIDI/musical gear.

        Cheers,
        Marcus

  11. I just installed my midigal with midisync and i’m very happy. as i am not a midi pro yet i’d like to get more details about the parameters provided by this firmware. any chance to get a manual or explanations ?

  12. Hello
    Are the case files available so i can get one made up more locally, i ordered the black case with the PCB but it i a fingerprint magnet 🙂

  13. Hi Pete (again)
    Got a question about a “Resolution-Problem”: The Korg SQ-1 is a sequencer which i have synced to the MidiGal. Whilst all my other gear is “step” accurate” the korg is receiving the 4x times clock rate. there is sadly no possibility to adjust the sq-1 when externaly synced. The Korg only can be sync-wired with a TRS to Midi cable (Type A) to the MidiGal. Could this be the problem ? It seems that i need a clock divider right after the MidiGal ?

  14. The main thing I’m looking for is chord memory. I was told MIDIPal had the feature. Does MIDIgal have something like this?

      • I’d like to be able to have a 14-bit MIDI LFO (for the Wingie2, which is all 14-bit). I don’t think MidiGAL has this feature currently, but it looks like the original MIDIpal firmware has a mode where the knob can be used for CC or NRPN, which implies that it’s possible. I might consider modding MidiGAL firmware to add this capability, if you think it’s practical.

    • There is no MidiGAL firmware that implements MIDI LFO, so you’ll need to start from MidiGAL_src which implements a basic framework.

      You can borrow LFO code from MidiARP or MidiSEQ firmware i believe.

  15. Hey Peter,
    I love testing various MIDI software and hardware gear combinations with the MidiGAL. Latest is the Midronome, which yields impressive results:
    https://gearspace.com/board/product-alerts-older-than-2-months/1368144-midronome-new-alternative-multiclock-usamo-other-midi-master-clocks-kickstarter-4.html#post16593358
    Too bad the page at Mutable Instruments forum is gone. There were interesting data there, nowhere to be found anymore: https://forum.mutable-instruments.net/t/midigal-yet-another-midipal-inspired-project/6731
    Anyways, it’s a bit cumbersome to manually input data into spreadsheets by looking at the MidiGAL screen and waiting for the numbers being stable (which sometimes never happens with Windows based computers ^^).
    Especially when you have to run the 5 test modes (clock, 1/4, 1/8, 1/16 & 1/32) at various BPM.
    I was thinking about automatizing things, that would require:
    – some kind of MIDI CC control of the MidiGAL UI, to “script” a generic test from any MIDI sequencer, which would switch modes between test stints.
    – a way to get the logs out of the unit real-time. Maybe by encoding datas into SysEx/NRPN on the MIDI Out (MIDI In merge disabled of course), which could then be recorded into a computer in large numbers and then worked out for data visualization?
    Any chance to have this in a future firmware revision?
    Cheers.
    Poumtschak.

      • A few CC mapped to the UI to select the test mode and start/reset. The MidiGAL could then spit out the updated data as NRPN once the buffer is full, at MIDI rate (I suppose the screen refresh rate is much faster?), without the need of a SysEx request.
        And then realtime parsing and plotting into a WebMIDI compatible browser. Just thinking out loud. for this one. 🤣

  16. Quick question: In the scale app, can I have midigal transpose multiple MIDI channels at the same time? (To same scale etc)

    And if not: Would a modified app be possible, or would that require to much processing power?

    Would be cool to run several sequencers through it for different synths, an added benefit would be the ability to change the scale for all signals at once.

    Best. Lau 🙂

    • MIDIpal’s ‘scale’ app only works on a single channel. Dedicated app can certainly do somethile like that but it remain to be seen how many users it may have — it does not look like this firmware will be popolar. Feel free to convince me that im wrong!

  17. Hey Ive been using this for a while and really dig it. I’d like to try and write or modify an app myself. Can you give me the cliff notes for how to go about doing that? or point me to a tutorial? I’ve done some stuff with max/msp but that is the extent of my coding knowledge. Thanks.

  18. Hey Peter.

    I’m encountering the « No Notes » messages using MidiClock tester in MIDI Note mode with some gear, sometimes.

    Last night it was a MPC 2000 XL. It was totally unexpected since it was spitting out the regular MIDI Note On / MIDI Note Off Velocity 0 messages when monitored on the computer from the MidiGAL Out port.

    Also had this with Logic 4 on a Wintel retrocomputer.
    I think I had to change a setting in Cubase VST5 for it to use real MIDI Note Off to have it working.

    Is MidiClock sensitive to the type and velocity of the Note Off messages, which can be Note On Velocity 0 or Note Off Velocity xx if I’m not mistaken.

    Thanks for any insight.

    Cheers.

    Sebastien.

Leave a reply to Lewis Cancel reply