MIDI Monitor

Real-time MIDI monitoring

I had this project in mind for a long time: a module with blinking LEDs to indicate what's happening on each MIDI channel in real time. This is particularly useful in my setup, where everything is driven by a single sequencer (I currently use an MPC 1000) controlling synths, visual gear, and FX pedals.

This isn't a very complex project, but I think I may have overengineered it a bit by using a shift register for the LEDs corresponding to channels 9–16. The Nano actually has enough pins to handle those LEDs directly as well. Still, I kept it this way in case I want to add more controls or feedback features in the future.

I also added a 74HC14 to distribute the MIDI signal across multiple outputs, which is very convenient in my setup. You can bypass all of this if you don't need it.
midimon_front
midimon_back
midimon_schematic
Get the code!
Component List:
1x Arduino Nano
1x 6N138 optocoupler
1x 74HC14 Hex Inverter with Schmitt-trigger inputs
1x 74HC595 Shift register
1x 1N4148 diode
1x 10kΩ resistor
1x 470Ω resistor
28x 220Ω resistor
18x LED (chose the color you want)
4x MIDI DIN female
Each MIDI channel triggers its corresponding LED for a short amount of time. System realtime messages (Clock, Start, Stop) are handled separately for transport indication.

Handled messages:

  • Note On
  • Note Off
  • Control Change
  • Program Change
  • Pitch Bend
  • MIDI Clock
  • Start / Stop

All incoming MIDI data is forwarded unchanged to the MIDI output.
midimonitor_insetup
The MIDI monitor with the MIDI Looper v2

Back to projects