Special Pages


MIDI to 24 Outputs

Courtesy/Thanks to: Tom Scarff

Description: The MIDI to 24 Outputs unit consists of:

  • a PCB screw terminal power socket, on/off switch, and associated LED, and 9v battery connector
  • a 4-way DIP switch which selects the MIDI
    channel at power-on, or in programme mode, shown in table 1
  • a MIDI 5-pin DIN input socket,
  • each output (0-23) is programable to a particular MIDI note on/off combination
  • The circuit
    schematic is available in GIF format,
  • The circuit layout is also available.
  • a programme mode switch and associated LED

    The MIDI to 24 outputs requires:

  • a 9v battery or equivalent
    DC power source


    1) Normal Mode

    2) Programme Mode

    Normal Mode:
    The unit detects the incoming MIDI data and if the MIDI channel corresponds to the DIP switch
    MIDI channel setting, when a corresponding Note-on is detected, (to the pre-set note-on data), the corresponding output is switched on (+5 Volts) and stays on until the corresponding note-off is detected and
    the output is switched off (0 Volts). This allows each output to operate independently.

    Programme Mode:
    At power-up, when switching on the unit, if the programme switch is pressed and
    held on, then the unit will enter programme mode, and the programme LED is lit.

    Now the first Note-on command from a MIDI keyboard or sequencer is detected and stored in the EEPROM. This note is
    the first of 24 consecutive note values, associated with outputs 0 to 23.

    After the Note-on is detected the unit goes into normal operating mode, and the programme LED is off. So the 24 outputs can be
    programmed to operate consecutively from only the first Note-on command detected.

    Programming the unit only has to be done once and the 24 values are stored internally in the EEPROM and the unit
    will continue to operate in this mode, even when power is removed, until reprogrammed.


    The MIDI to 24 output unit can be operated live in real time from a MIDI keyboard or from a
    hardware/software sequencer with pre-programmed MIDI Note on/off data. The outputs can be used, via suitable interface circuitry, to switch electrical devices, such as lights, motors, pumps etc., in time with
    the music. Use the outputs to control tape decks, or energize and synchronize auxiliary circuitry. This provides a direct interface to the world of analog electronics.

    MIDI Specification:

    outputs are switched ON via MIDI 'Note-On' commands and OFF by MIDI 'Note-off' commands. These MIDI commands are all channel (1-16) dependent. Also, all outputs will switch off if the 'All Notes-Off'
    command is received. This MIDI command is channel independent.

    DIP Switch Selections
    MIDI Channel
    4 3
    on on on on 1
    on on on off 2
    on on off on 3
    on on off off 4
    on off on on 5
    on off on off 6
    on off off on 7
    on off off off 8
    off on on on 9
    off on on off 10
    off on off on 11
    off on off off 12
    off off on on 13
    off off on off 14
    off off off on 15
    off off off off 16
    Table 1 MIDI Channel

  • Comments

    You need to be logged in to add a comment.

    Added 2016-08-01 17:42:45 by laamma

    Hello Pirvcb , I need the correct files to realize the decoder MIDI to 24 out . I would use the pic 16F877A you can send me .asm .hex file for this project ? Thank you

    Report Abuse   

    Added 2016-03-11 07:33:38 by Robi1

    Hi,pirvcb. I got the kit from Tom many years ago, and want to use it now for a friend's college project.I also want a spare PIC (in case I damage the existing one). Tom couldn't help and the hex file on his old site didn't work. Any cures? I seem to be in the same situation as PIC_Novice... Help! Please!

    Report Abuse   

    Added 2015-08-21 06:40:00 by Tiller

    Hi pirvcb. Any chance you can email me a copy of the working firmware or hex file? It would be most appreciated. Thank you

    Report Abuse   

    Added 2013-12-05 12:07:55 by PIC_Novice

    Hi, can someone upload or attach working (updated) source code and compiled hex for this project (Midi to 24 outputs by Tom Scarrf)? Thanks...

    Report Abuse   

    Added 2010-03-06 22:33:20 by pirvcb

    I've got trouble like you with this project, then i wrote an e-mail to the autor Tom Scarff and him, very kindly, sent me un updatet firmware version that's works fine. I've also compiled this firmware for 16F877A. If needed i can send a copy by e-mail. let me know...

    Report Abuse   

    Added 2010-02-11 17:47:42 by hannelore

    Do You get the HEX file to work ? Tony

    Report Abuse   

    Added 2009-06-07 18:08:46 by botsmaker

    I loaded the hex file to this project on a 16f877 but the program fails to work. Is the HEX file up to date?

    Report Abuse   

    Editing and adding
    You need to be logged in to edit and add files and urls etc.
    Categories & Tags
    Popular tags for this:

    You must be logged in to add tags.

    Inventory & Trading

    You need to be logged in to administer your inventory

    No one is selling this product at this time.

       Schematics of the MIDI to 24 Outputs
       Layout of the MIDI to 24 Outputs PCB
       Screenshot of the Schematic Publisher software.
       Screenshot of the DIY Layout Creator
    Tom Scarff
       a guy who has made som nice MIDI tools
    Parts used
    PIC 16F877
       PIC Microcontroller
       8-Pin DIP Single-Channel Low Input Current High Gain Split Darlington Output Optocoupler
    Similar on Ebay