
MidiMonger controls
dchwebb/MidiMonger
Eurorack MIDI interface supporting USB and serial MIDI. Based on ARM STM32F446 MCU.

Eurorack MIDI interface supporting USB and serial MIDI. Based on ARM STM32F446 MCU.
MidiMonger components is an open-source printed circuit board by dchwebb, from the dchwebb/MidiMonger repository on GitHub. It is a 2-layer board of 40 × 100 mm with 70 parts on 103 nets, routed with 539 tracks and 85 vias.
It is built around the 74HCT244D, LM1117-3.3 and LM1117-5.0, with the 1N4148W and ESDA6V1BC6 among its other parts. Its parts include 23 resistors, 21 capacitors, 7 ICs, 7 connectors and 4 diodes. It belongs with the audio and music and interfaces and adapters boards and the STM32 boards of this library.

MidiMonger is a Eurorack MIDI interface supporting USB and serial MIDI.
MIDI Monger is a configurable MIDI interface for controlling Eurorack modules from either USB MIDI or Serial MIDI (or both simultaneously). MidiMonger 2 adds support for USB host functionality allowing the use of USB MIDI controllers (and experimentally USB HID mice) to control Eurorack modules.
MIDI Monger has 12 outputs of which 8 are gate outputs and 4 are control voltage outputs. The first eight outputs are configured by default as channel pairs. When assigned a MIDI channel they will act as a monophonic gate/cv driven from a single MIDI channel or in polyphonic mode supporting up to 4 note polyphony.
When not used in a pair a gate output can send a gate for any MIDI note from a channel, for a specific note number on a channel (eg for use as drum triggers) or a clock. The Control Voltage outputs can be configured to send controller data, pitch bend or aftertouch.
Configuration is carried out from a web interface using the Chrome browser or via a Virtual COM Port:

MidiMonger can act as either a USB device (typically for connection to a computer) or a USB Host (allowing USB Midi controllers to be connected). The mode is selected using a switch on the front panel and is connected with a USB-C socket.
In USB device mode USB MIDI data is merged with MIDI Serial data and sent to the CV and gate outputs as configured. In host mode USB devices can be connected directly to the module. This is typically used for MIDI keyboards and controllers that output via USB, but experimental support is also provided for USB HID devices - mouse support is currently implemented, but joysticks etc could be implemented in the future.
When connecting a USB mouse by default the left/right up/down and mouse wheel are output on CV 1, 2 and 3 and the buttons are output to the gates. This can be configured using the serial console.
In host mode the device will output 5v to power connected devices, but it is not recommended use with power hungry devices as the 5v rail is supplied via a linear regulator which has limited power output and also is used to supply a reference voltage to the DAC.
MIDI Monger is controlled by an ARM STM32F446 Microcontroller. The MCU manages USB (device and host modes) and serial MIDI. Control voltages are output from a Maxim MAX5134 16 bit DAC controlled by SPI.
Gate outputs are converted to Eurorack standard of 5V using a SN74HCT244 Octal buffer as a level shifter. MIDI Serial signals are buffered through a 6N137 Optocoupler.
A UART connection is also provided to the module allowing access to the serial console when operating in USB host mode.
Serial MIDI is supplied via a 1/8" TRS jack using the MIDI standard wiring.
Digital power is supplied from a 3.3v linear regulator. An additional 5v regulator is used to supply a reference voltage to the DAC, as power for the octal buffer and also to provide power to USB devices when operating in USB Host mode.
The module is constructed using three PCBs: a component board, a control board and a panel. Schematics and PCB layout created in KiCad v8 and available in Hardware folder.

The original version of the module works with the latest firmware using the build in V1 Hardware folder. The main differences are that the v1 hardware does not support USB host mode, uses a full size MIDI DIN connector and a USB B socket.
PCBWay were kind enough to sponsor the v2 module, manufacturing and supplying the three PCBs used for the component and control boards as well as the front panel. The quality of each PCB was excellent and the fine details were crisp and precise. Hand-soldering the fine-pitch components on the prototypes was extremely easy thanks to the high quality accuracy of the solder mask.
Many thanks to PCBWay for their generosity in sponsoring this project and their services come highly recommended.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 1k | Resistor_SMD:R_0603_1608Metric | R9, R10, R11, R12, R14, R15, R16, R17, R19, R20, R21, R22 |
| 8 | 100nF | Capacitor_SMD:C_0603_1608Metric | C4, C5, C7, C8, C10, C11, C18, C21 |
| 6 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R3, R4, R18, R23 |
| 6 | TestPoint | Custom_Footprints:1mm_Test_Point | TP1, TP2, TP3, TP4, TP5, TP6 |
| 4 | 2k | Resistor_SMD:R_0603_1608Metric | R5, R6, R7, R8 |
| 3 | 1uF | Capacitor_SMD:C_0603_1608Metric | C9, C17, C19 |
| 3 | 22uF | Capacitor_SMD:CP_Elec_4x5.8 | C14, C15, C16 |
| 2 | 10uF | Capacitor_SMD:C_1206_3216Metric | C12, C13 |
| 2 | 1N5819 | Diode_SMD:D_SOD-123 | D2, D3 |
| 2 | 30pF | Capacitor_SMD:C_0603_1608Metric | C2, C3 |
| 2 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C1, C20 |
| 2 | Conn_01x08_Male | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical | J3, J4 |
| 2 | Conn_01x09_Male | Connector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_Vertical | J1, J2 |
| 1 | 1N4148W | Diode_SMD:D_SOD-123 | D1 |
| 1 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C6 |
| 1 | 220 | Resistor_SMD:R_0603_1608Metric | R13 |
| 1 | 6N137 | Package_DIP:DIP-8_W8.89mm_SMDSocket_LongPads | U5 |
| 1 | 74HCT244 | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U3 |
| 1 | 8MHz 20pF | Crystal:Crystal_SMD_0603-2Pin_6.0x3.5mm | Y1 |
| 1 | ESDA6V1BC6 | Package_TO_SOT_SMD:SOT-23-6 | D4 |
| 1 | Eurorack_10_pin_power | Custom_Footprints:Eurorack_10_pin_header | J6 |
| 1 | L | Inductor_SMD:L_0805_2012Metric_Pad1.05x1.20mm_HandSolder | L1 |
| 1 | LM1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U6 |
| 1 | LM1117-5.0 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U7 |
| 1 | MAX5134 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U4 |
| 1 | STM32F446RETx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U1 |
| 1 | SWD_Header | Custom_Footprints:SWD_header | J5 |
| 1 | TL074 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U2 |
| 1 | UART_Test | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J7 |

dchwebb/MidiMonger
Eurorack MIDI interface supporting USB and serial MIDI. Based on ARM STM32F446 MCU.

dchwebb/MidiMonger
Eurorack MIDI interface supporting USB and serial MIDI. Based on ARM STM32F446 MCU.

dchwebb/MidiMonger
Eurorack MIDI interface supporting USB and serial MIDI. Based on ARM STM32F446 MCU.





NikodemBartnik/Small-Projects
All of smaller projects (Arduino, PCBs, electronics, code)

barisdinc/N3B_SDR_Transceiver_HW
V/U/SHF and QO-100 SDR Transceiver Project

KarlVaello/VehicleControlSystem
Vehicle Control System. Using C++ Qt and C. Hardware and Software

It measures 40 × 100 mm and has 2 copper layers, 1.6 mm thick.
70 parts, built around the 74HCT244D, LM1117-3.3, LM1117-5.0 and 1N4148W. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the dchwebb/MidiMonger repository on GitHub, at the commit this page was made from: the board is Hardware_v2/MidiMonger_components.kicad_pcb and its schematic Hardware_v1/MidiMonger.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask dchwebb before reusing the design.