Skip to the content
2 layers40 × 100 mmMidiMonger components, the printed circuit board in 3D

MidiMonger components

dchwebb/MidiMonger12

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

Size
40 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
70
Nets
103
Pads
294
Tracks, vias
539, 85
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
24 Oct 2019
Updated
14 Dec 2025

Overview

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.

Main components

5

README

README.md

PCBWay

MidiMonger v2

Image

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:

Image

USB

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.

Technical

Image 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.

Components schematic

Controls schematic

Errata (v2 hardware)

  • The 3.3v linear regulator runs quite warm - some passive PCB cooling would be a good idea or possibly the use of a switched mode power supply (no analog voltages are supplied from this rail).
  • A separate switched mode 5V rail would allow the connection of more power hungry USB devices without risking noise or sagging on the analog 5V reference.
  • The USB device/host icons on the mode switch front panel should be swapped.
  • To allow PWM brightmess control over the CV LEDs, CV1_LED and CV2_LED should be switched to pins lined to TIM4 (CV3_LED and CV4_LED connected to TIM4_CH2 and CH3)

Version 1 Hardware

Image

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.

Sponsorship

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.

PCBWay

Parts

70
QtyValueFootprintReferences
121kResistor_SMD:R_0603_1608MetricR9, R10, R11, R12, R14, R15, R16, R17, R19, R20, R21, R22
8100nFCapacitor_SMD:C_0603_1608MetricC4, C5, C7, C8, C10, C11, C18, C21
610kResistor_SMD:R_0603_1608MetricR1, R2, R3, R4, R18, R23
6TestPointCustom_Footprints:1mm_Test_PointTP1, TP2, TP3, TP4, TP5, TP6
42kResistor_SMD:R_0603_1608MetricR5, R6, R7, R8
31uFCapacitor_SMD:C_0603_1608MetricC9, C17, C19
322uFCapacitor_SMD:CP_Elec_4x5.8C14, C15, C16
210uFCapacitor_SMD:C_1206_3216MetricC12, C13
21N5819Diode_SMD:D_SOD-123D2, D3
230pFCapacitor_SMD:C_0603_1608MetricC2, C3
24.7uFCapacitor_SMD:C_0603_1608MetricC1, C20
2Conn_01x08_MaleConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ3, J4
2Conn_01x09_MaleConnector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_VerticalJ1, J2
11N4148WDiode_SMD:D_SOD-123D1
12.2uFCapacitor_SMD:C_0603_1608MetricC6
1220Resistor_SMD:R_0603_1608MetricR13
16N137Package_DIP:DIP-8_W8.89mm_SMDSocket_LongPadsU5
174HCT244Package_SO:TSSOP-20_4.4x6.5mm_P0.65mmU3
18MHz 20pFCrystal:Crystal_SMD_0603-2Pin_6.0x3.5mmY1
1ESDA6V1BC6Package_TO_SOT_SMD:SOT-23-6D4
1Eurorack_10_pin_powerCustom_Footprints:Eurorack_10_pin_headerJ6
1LInductor_SMD:L_0805_2012Metric_Pad1.05x1.20mm_HandSolderL1
1LM1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U6
1LM1117-5.0Package_TO_SOT_SMD:SOT-223-3_TabPin2U7
1MAX5134Package_SO:TSSOP-16_4.4x5mm_P0.65mmU4
1STM32F446RETxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1SWD_HeaderCustom_Footprints:SWD_headerJ5
1TL074Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU2
1UART_TestConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ7

More from dchwebb/MidiMonger

3
  • 2 layers40 × 110 mmMidiMonger controls, the printed circuit board in 3D

    MidiMonger controls

    dchwebb/MidiMonger

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

    32 parts12
  • 2 layers40 × 110 mmMidiMonger controls, the printed circuit board in 3D

    MidiMonger controls

    dchwebb/MidiMonger

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

    31 parts12
  • 2 layers40 × 102.5 mmQMidiMonger controls, the printed circuit board in 3D

    QMidiMonger controls

    dchwebb/MidiMonger

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

    26 parts12

Similar boards

  • 2 layers37 × 90 mmESP32-BLE GSM, the printed circuit board in 3D

    ESP32-BLE GSM

    shridattdudhat/ESP01-MOSFET-Control

    Control LED or DC Motor using ESP-01!

    43 parts5
  • 2 layers237.7 × 146.1 mmTipi peb, the printed circuit board in 3D

    Tipi peb

    jedimatt42/tipi

    TI-99/4A to Raspberry PI messaging through console sideport

    51 parts77
  • 2 layers175 × 90 mmSkaner3d, the printed circuit board in 3D

    Skaner3d

    DamianPodrazaCode/KiCad-PRJ

    56 parts
  • 2 layers84.3 × 58.4 mmEnocderDriver, the printed circuit board in 3D

    EnocderDriver

    NikodemBartnik/Small-Projects

    All of smaller projects (Arduino, PCBs, electronics, code)

    35 parts55
  • 2 layers97 × 97 mmQO100 RX, the printed circuit board in 3D

    QO100 RX

    barisdinc/N3B_SDR_Transceiver_HW

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

    167 parts20GPL-3.0
  • 2 layers85 × 60 mmBaseModule, the printed circuit board in 3D

    BaseModule

    KarlVaello/VehicleControlSystem

    Vehicle Control System. Using C++ Qt and C. Hardware and Software

    67 parts14GPL-3.0
  • 2 layers96 × 100 mmADS1299EMG8xR2, the printed circuit board in 3D

    ADS1299EMG8xR2

    RF-Lab/emg_platform

    EMG platform

    152 parts9

Questions

How big is the MidiMonger components PCB?

It measures 40 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MidiMonger components use?

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.

Where can I download the MidiMonger components KiCad files?

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.

Can I use the MidiMonger components design in my own project?

Its repository states no licence, so its author keeps all rights: ask dchwebb before reusing the design.