MidiALF is an 8 step DIY friendly MIDI/CV sequencer with 40×2 LCD, 8+2 clickable rotary encoders, 8 LED switches and 8 tactile switches.





Build instructions



Latest firmware: midialf_201


8 steps in 4 sub-sequences which could be linked as two 16 step sub-sequences or one 32 step sequence.

Each sequence contains 10 tracks:

  • note/mute
  • velocity/skip
  • gate/legato
  • CC1/send
  • CC2/send

Sequence direction: forward, backward, pendulum, random.

Nonlinear sequence progression modes (same as in MIDIBox SEQ v4):

  • forward, backward, replay
  • interval, repeat, skip

Conditional triggers for Note, CC1/2 and re-trigger, similar to the ones in Elektron’s RYTM and Digitakt. No more static sequences, spice it up periodically, randomly or manually by pressing the SHIFT key!

Note, Velocity, CC1/2 randomization. Note value can be randomized according to a selected scale which can be different for each step of the sequence. Try mixing different scales in the same sequence, endless joy!

Note re-triggering, 2-16 per step, velocity and pitch modulated, chromatic or restricted to a selected scale. Also can be conditionally triggered. Now you can ratchet just like TD.

Song mode: up to eight steps, each specifies the sequence to play, how many times and at what transposition.

Sequence and step randomization using 167 music scales (thanks to MIDIbox.org).

Real-time and step recording modes: records notes, velocity, legato and CC1/CC2 values.

Two assignable CC LFOs with the period of up to 2 bars and sync to start, sequence and step in addition to free running.

Internal storage for 64 programs each containing 4 sequences with setup parameters and 16 character name.

Sysex send/receive of sequence, program or all programs.

Remote control with CC.

Super stable internal clock based on Mutable Instruments MIDIpal technology, 25-250 BPM.

Optional CV extension board: adds 4 x CV an 4 x Gate outputs.

Firmware upgradable by SysEx.

Midi only variant is powered by external 7.5 – 9V DC power supply, center pin positive, minimum 300mA. MidiALF/CV variant needs 16VAC AC power supply.

DIY Resources

Schematics: alfsch#1 alfsch#2 alfsch#3


Bill of materials.

Source code: midialf2_src


You can purchase MidiALF main board directly from me for US$35.00 and pre-programmed ATmega644p MCU for US$15.00. The CV extension board is US$30. The prices do not include shipping from California, USA. PayPal payments only.


[to be announced]



MidiALF is built around technology developed by Mutable Instruments: most of its hardware components can be found in various MI’s projects (mostly Shruthi-1 and Ambika), while software implementation uses quite a lot of code from MIDIpal. Not to mention the breakthrough Avril programming framework that brought modern C++ programming (read: productivity and sanity) to Atmel MCU world. Without this MidiALF project would not be possible, so thank you, Olivier, for sharing your talent with all of us!

I’d also like to thank Thorsten Klose of MIDIbox.org for his kind permission to use music scale definitions and non-linear sequencer progression modes found in MIDIbox SEQ v4.

MidiALF v2 Conditions are fully modeled after famous Elektron’s Trig Conditions. Whoever invented them at Elektron is a genius. This invention made the whole concept of sequencing a lot more interesting musically. Thank you, Elektron!

265 thoughts on “MidiALF

  1. Is there a way to change gate polarity per step in the gate page as opposed to changing the polarity on the cv/gate output page? I’m looking to engage/disengage switches via the sequencer.

    • I’m not sure I understand your problem: gate polarity setting only changes the meaning of on and off states normal ( off is low, on is high) to inverted (off is high, on is low). It does not make any sense to change this setting per step.

      • I think I was having an issue getting the gate to trigger in this case the echo cancel input of a Roland space echo. I think the issue was the velocity was set to zero. When the velocity is above 0, the gate seems to work fine.

  2. Hi Pete,
    I want to rehouse my MidiAlf into a custom enclosure. Do you know if any of the case designs of the recent years were made available?

    And another question, are you still developing on firmware 2.0?


    • The only case design i;m aware of is acrylic from Frank. There is also a Euro panel from Altitude.

      ALF 2.0 — it’s still on the todo list, but it hardly gets any time allocated these days due to other things.

  3. So glad to hear that Alf 2.0 will/could happen someday!
    One thing that I would love is to be able to edit the other sequences while another one is playing. It’s hard to edit sequences when they’re linked as the pages keep flipping,and this would also be great for building songs or melodic progressions.

  4. Hey, this looks very interesting. I wonder if it is possible to transpose the recorded midi sequences live from the keyboard connected to the midi in port (like on MidiSEQ)?

  5. Hey, this looks very interesting. I wonder if it is possible to transpose the recorded midi sequences live from the keyboard connected to the midi in port (like on MidiSEQ)?

  6. Anyone know if its possible to daisy chain e.g. MidiGAL and MidiALF to a single Midi thru box to run two synths on different channels?

  7. Hey Pete, if I build MidiALF without CV is it easy enough to add later or do I need to make that decision now?

  8. Hi there, I am looking for a Midi cc step sequencer to control a Bastl Microgranny which responds to cc 102 – 109. Will this do the job for me?

  9. Hi, do you plan on revising the board layout to enable the use of a more common tactile switch and seperate led for the 4 switches on the left and 4 on the right, instead of those Mec led switches which are expensive and not widely available? I had to use the non led model for mine. I would like to build another soon, maybe 2

    • You can buy non LED variant of the MEC switches and insert a LED yourself. This is a lot cheaper than buying a switch with the LED inserted. You can also choose the color you like.

  10. Hi Pete,
    First of all, I wish you a Merry Christmas.
    I would like to add a step sequencer before the Midirex, to help programming bass line. But I have no capability for soldering. Please coul you tell me if you can do assembly and what will be the price with a case?

  11. Helo Pete,
    hope you had great christmas.
    Please, i have one question.Is there a possibility to run 2 different sequences to 2 different synth withone MIDIALF ?
    And what is price for complete assembled unit ?
    Thank you in advance.
    All the best

      • Thank you. So i’d like to order 1MIDIALF-Mainboard + programmed MCU-Chip. Please send me your payment information.
        Concerning my first question …. maybe you have solution to control 2 synth with two different sequences and using MIDIALF, REX, GAL units ? Because of a little bit fractal information an bad english on my side i havo no real idea how to do it, hoe it can work. Could you help me.
        Thank you in advanced.
        Best Gunter

      • I usually split incoming clock into several MIDI routes to ALF, REX and GALs in parallel. Sometimes they also share the same controller input, so i can transpose them all at once.

  12. The encoders are clickable but there doesn’t seem to be any function tied to their clicking. Is that right? Do you plan to extend MidiAlf functionality with this clickiness?

  13. Hi Pete, MIDIALF ist now working well. Great. But please i have one question. Is there a possibility to setup SeqA-D channels with different MIDI-output-channels. It would be great to control different Synths with different sequences. Or do you have other solution ?
    Thank you in advance.

  14. Hey kvitekp. First of all, thank you for your great work – I have been enjoying the MidiALF for quite some time, and it is a key part of my setup.
    There are, however, one thing that has been bugging me for quite some time: When root note is changed from C4, the step-sequencer, song-mode and randomizer pages don’t update to reflect that the sequence is transposed. I’ve been looking over the source code, but would like your insight in determining if it is at all possible, maybe even trivial, to implement such a change?

    Best regards

      • Thank you for your response

        Steps executed:
        1. Load an empty slot
        2. Step sequence reads C4 C4 C4 C4 C4 C4 C4 C4
        3. Scale notes adhere to C as root note
        4. In setup, change root note to C#4

        Expected result:
        1. Step sequence reads C#4 C#4 C#4 C#4 C#4 C#4 C#4 C#4
        2. Sequenced notes are audibly transposed one semitone up
        3. Scale notes in randomizer adhere to C#4 as root note
        4. Song mode reads C#4 (or maybe just ‘0’ to indicate relative position from root note)

        Actual result:
        1. Step sequence reads C4 C4 C4 C4 C4 C4 C4 C4
        2. Sequenced notes are audibly transposed one semitone down
        3. Scale notes in randomizer still adhere to C4 as root note
        4. Song mode reads C4

      • Yep, that makes sense… sequence notes and song root are set to the root note at the time of initialization and are not updated when the root note is changed. I’ll see what can be done.

      • Yeah, MidiALF v2 is a year old, so it’s time for a review. I’ll see what can be done about dynamic root note adherence for the next update.

      • Awesome, I’m eagerly awaiting your solution. Meanwhile I’ll just do the necessary mental arithemetic to transpose my sequences:) Thank you, again, for your tremendous work

  15. Hi there. I’ve been a MidiAlf user for a while and I’m very pleased with it. I wonder if it is possible to somehow make a Clock Input mod – and if so how much work had to be done?

  16. And here’s anoter question from a long time user (and who loves the machine), and who just got the cv-version working properly:
    Is the microcontroller/circuit able to run all four sequences (8 steps) simultaneously on each cv-channel?
    And I also wonder about the CV clock input in order to synch from external sources…

    • Not really, even w/o the CV. I tried to squeeze in 2 sequences, and it was a stretch, resulted in sluggish response to UI controls and slow LCD update.

      Digital clock input implementatino is possible by repurposing MISO port. You’ll have to add voltage limiting circuitry to protect the port and a bit of code into system clock interrupt handler.

  17. Hi there, I would like to order a MidiALF main board, pre-programmed ATmega644p MCU and CV extension board please. I would also like to order some other components with this order. Could you email me and I’ll reply with the rest of the order?

Leave a Reply to Emy Cancel 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 )

Facebook photo

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

Connecting to %s