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.
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.
Component List
1× Arduino Nano1× 6N138 optocoupler
1× 74HC14 Hex Inverter with Schmitt-trigger inputs
1× 74HC595 Shift register
1× 1N4148 diode
1× 10kΩ resistor
1× 470Ω resistor
28× 220Ω resistor
18× LED (chose the color you want)
4× 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:
All incoming MIDI data is forwarded unchanged to the MIDI output.
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.
The MIDI monitor with the MIDI Looper v2