Site Content:


MIDI Merger with STM32

DMX512 with STM32

USB <-> MIDI <-> RS232


USB/WiFi/MIDI-Com Interf.

simple USB/DMX Interface

Ethernet/MIDI/DMX Interf.

RS-232 / DMX Interface

MIDI / DMX Interface

MIDI/RS232 Expander

Sound Card MIDI to XBee


MIDI over Ethernet

More ...


* this is a
  private homepage of
  Wolfgang Schemmert
* contact:

* Dies ist eine private
  Homepage von (VisdP)
  Wolfgang Schemmert
* Kontakt:


I am a retired electronics engineer with interest in making music
and experimenting with musical instruments electronics
as well as creating sound and video installations.

To me, MIDI seems to be the bridge or methapor between
the universes of electronics and of art.
At this website I would like to present some of my actual, recent and older work.

"RHYTHMIC" simple rhythm interactive composer (updated Jan'17)

The intention of "RHYTHMIC" is to provide a simple but flexible tool for
generation and handling of rhythm patterns and loops
combined with a polyphonic chromatic instrument track

It is structured a little bit like an electric piano player roll or a punchcard
A chromatic bass line and chords can be added to the percussion pattern as a "rhythm section" for musical instrument training.

Navigation by cursor keys is supported in addition to the mouse to enter or delete chromatic notes and percussion phrases interactively
Notes can be played in "live" with a MIDI keyboard and drum patterns may be created with a MIDI drumset.

MIDI Merger based on STM32 Nucleo-L476

assembled PCB
This device merges/bundles up to 4 conventional MIDI IN to a PC via Ethernet (WIZ850io module) or via USB, selectable with a DIP switch.
Vice versa, a stream of MIDI messages sent over Ethernet or USB is distributed to up to 4 conventional MIDI OUT. For each MIDI OUT a configurable filter is provided, which MIDI channels shall be sent there or blocked.

By default Ethernet operates in UDP Multicast mode together with the ipMIDI driver which provides a standard MIDI port at the host PC. Alternatively, standard UDP can be used.
The USB interface works as MIDI Streaming Class device and is seen as a standard MIDI port at the host PC too.
For configuration USB is reconfigured to provide a virtual COM Port at the PC.

A family of DMX512 controllers with STM32
Common features of these DIY instructions are:
  • A full speed USB interface allows connection to a host PC as standard USB / MIDI interface or as virtual COM port
  • 5V power is supplied via USB connector
  • A command set based on MIDI channel message as well as an ASCII text based command set is implemented.
  • With these command sets a soft fade transition is possible for any number of DMX channels simultaneously.
  • The MiniDMX protocol is implemented, which is a good bridge between complex DMX control software and these boards.
  • The more complex boards support the Art-Net protocol by means of a compact WIZ850io Ethernet module
  • A detailled DIY construction manual, hex code and the source code (EmBitz 1.1 project) for each version is available for download

Simple USB controlled DMX512 Interface

assembled junior PCB


The "junior": a simple and tiny DMX512 controller with STM32F042F6 (20 pin TSSOP) processor. Board size 43x30 mm including a 6 mm strip for fixing by 2 screws.
No Art-Net

STM32 Nucleo based Artnet DMX512 Interface

assembled Nucleo PCB


The Art-Net capable version designed as a Veroboard base plate
for the STM32 Nucleo-L476

STM32F042 based Artnet DMX512 Interface

STM32F042 with Ethernet

The Art-Net capable version with STM32F042 processor (20 pin TSSOP) mounted in a case of aluminium. This version is more compact and handy than the Nucleo version, but takes more technical skills and tools for reproduction
Size of the electronically relevant area of the PCB: 65x37mm

USB <-> Midi <-> RS232 Conversion

STM32 USB-MidiCom

assembled PCB
This small interface with STM32F042F6 or STM32F070F6 processor works as a native USB-to-MIDI converter or as USB-to-RS-232 converter, selected by a jumper/switch . The basic mode is 1:1 bidirectional "transparent" transfer of MIDI messages respectively serial data bytes. Optionally, up to 7 pushbuttons or potentiometers can be attached to the socket arrays at the top side to trigger user configurable MIDI messages via USB and the local serial interface simultaneously.

As an alternative, a Veroboard add-on for the STM32 Nucleo-L053, for the STM32 Nucleo-F411, for the STM32 Nucleo-F446 and for the STM32 Nucleo-L476 boards is described, which offers essentially the same features.

Alternative USB-MIDI Converter Hardware developed by Boleslaw Jamroz

assembly detail

This is a simplified hardware design which can be built on a veroboard without etching a PCB. The TSSOP microcontroller is soldered on a commercially available breakout PCB. The firmware is the same that is used for the SMD version of the converter.

Additionally a corresponding shield for pushbuttons and potentiometer is presented, built on veroboard too.

Alternative USB-MIDI Converter Hardware developed by Mateusz Jagocha

assembly detail

This is a modified design with STM32F070, which fits into the housing of another low-cost USB to MIDI interface.
The firmware is the same as described above with the exception that the STM32F070 processor does not support the crystal-less USB synchronized system clock.

The project link leads you to Dropbox. It is not necessary to register at Google or Dropbox. Simply close the registration window, then click at "Download --> Direct Download".
Complete DIY information is provided there packed in a .zip file - including a detailled description of the project and its background, see file INFO.pdf there.

Conventional MIDI / RS-232 Converter

assembled PCB

This electronic circuit transforms the physical layer and baudrate of a standard RS-232 signal into MIDI physical layer and baudrate - and vice versa.

The RS-232 interface supports 4800, 9600, 19200 and 38400 Baud. The basic mode of operation is bidirectional 1:1 retransmission of every byte.

Optionally bytes sent as hex formatted ASCII text to the RS-232 interface are retransmitted in 8 bit format from MIDI OUT. In the opposite direction, every byte received at MIDI IN is retransmitted then as ASCII text from RS-232.

Hex code is provided for ATmega328P, ATmega168, ATmega88 and ATmega8.

The power supply is designed for 8-28Vdc.

WindowsTM program for up-and download MIDI dump (.SYX or Sysex) files developed by Boleslaw Jamroz

screen design

This software supports the USB to MIDI converter and standard USB MIDI interfaces as well as the conventional MIDI / RS-232 Converter.
The proper structure of SysEx files or packages is a condition for the correct transmission of data.

ATmega based Interfaces

USB to WiFi+MIDI+DMX512 Interface with ATXmega128A4U

assembled USB/WiFi/MIDI/DMX-box
A DIY construction manual for a very flexible device is presented.

Following modes of operation are selectable by a rotary code switch:

  • The USB port supports USB MIDIStreaming class (installs a virtual MIDI port) or USB CDC/ACM class (installs a virtual COM port at the host PC)
  • The basic mode of operation is tri-directional "transparent" communication between USB and MIDI&RS-232 and Wifi. Bytes received at each port are retransmitted 1:1 at both other ports.
  • The combined MIDI&RS-232 port may be set to standard PC baudrates (up to 230400 baud) in addition to MIDI speed (31250 baud).
  • A set of OSC (Open Sound Control) methods is provided, which is most useful to control conventional MIDI devices by apps installed on a smartphone or mobile tablet. The set of implemented OSC methods is oriented to communicate with "TouchOSC" and "Control". More MIDI specific methods and a simple compiler for user specific OSC methods are available.
  • Different command sets for DMX control (max. 256 DMX channels) are provided:
      --- by ASCII text commands
      --- a specific set of OSC methods for DMX512 control
      --- the MiniDMX protocol is implemented,
          compatible with freeware lighting software "DMXControl" and "Freestyler"
  • The RN171 Wifi module may be started in infrastructure mode as well as a simple standalone Wifi access point for direct communication with mobile devices.

USB to WiFi + MIDI&RS-232 Interface
with ATXmega128A4U

assembled USB/Wifi/MIDI box
This project provides essentially the same features as the "USB to WiFi+MIDI+DMX512 Interface", but without DMX transmitter and it is built on a more compact PCB.

By means of 2 jumpers or switches following modes of operation are selectable:

  • The basic mode of operation is tri-directional 1:1 "transparent" communication between USB and MIDI&RS-232 and Wifi. (Jumper 2 not placed or switch OFF)
  • Jumper1 not placed or switch OFF: USB is configured conforming to the
    USB CDC/ACM class (installs a virtual COM port at the host PC)
  • Jumper1 placed or switch ON: USB behaves conforming to the
    USB MIDIStreaming class (installs a virtual MIDI port)
  • Optionally, when jumper 2 is placed, the Wifi interface drives a set of OSC (Open Sound Control) methods, which are most useful to control conventional MIDI devices by apps installed on a smartphone or mobile tablet. The set of implemented OSC methods is oriented to communicate with "TouchOSC" and "Control". Additional MIDI specific OSC methods are available.
    In USB MIDI mode, all MIDI messages triggered by OSC commands are sent to USB as well as to the MIDI&RS-232 port. In CDC/ACM (RS-232) mode however, the USB interface is used for device configuration. A simple compiler for user specific OSC methods is active then.

Simple USB to DMX512 Interface for Arduino Micro or Leonardo (updated Jan. 2017)

assembled USB/DMX-box
The design is held as simple as possible for easy reconstruction on a Veroboard.
The Leonardo version even takes less handicraft.

Due to limited SRAM, the standard firmware supports max. 256 DMX channels, but has special features like soft fade transitions and nonvolatile storage of user designed lighting scenes combined with a simple chaser.
Selectable by a jumper or switch,
--- USB operates as USB CDC/ACM class device (installs a virtual COM port).
      In this case, a simple ASCII text based command set is combined with the
      MiniDMX protocol which is compatible with freeware lighting software "DMXControl". --- or USB operates in MIDIStraming class (installs a virtual MIDI port on the host PC)
      a MIDI message based command set for DMX is provided

An alternative firmware is provided where the MIDI option is replaced by the MiniDMX protocol for 512 DMX channels without faders and stored lighting scenes. ...more

Ethernet to MIDI&RS-232 + DMX512 Interface

assembled Ethernet/MIDI/DMX-box
A DIY construction manual is presented for an interface which controls a serial port (MIDI or RS-232) and a DMX512 transmitter through wired Ethernet
Two different firmware versions are available using the same hardware:
one is capable to send and receive OSC (Open Sound Control) messages via Ethernet, the alternative one supports Art-Net DMX instead
Common modes of operation supported by both versions:
  • Bidirectional 1:1 "transparent" communication between Ethernet (TCP or UDP) and the MIDI&RS-232 port.
  • The MIDI&RS-232 port may be set to standard PC baudrates up to 115200 baud in addition to MIDI speed (31250 baud).
  • Optional ASCII / binary conversion between Ethernet and serial I/O.
  • A transmitter for a complete universe of 512 DMX channels:
    Different command sets for DMX control are provided:
      --- by ASCII text commands
      --- the MiniDMX protocol
      --- by MIDI channel messages
The OSC capable firmware additionally implements a set of OSC methods, which is most useful to control conventional MIDI devices by apps installed on a smartphone or mobile tablet. The set of implemented OSC methods is oriented to communicate with "TouchOSC" and "Control" - plus a specific set of OSC methods for DMX512 control. A simple compiler for user specific OSC methods is provided.
The alternative firmware supports simple features of Art-Net DMX instead of OSC.
This device can handle UDP Multicasting, so it may be well combined with the ipMIDI driver to be recognized as a standard MIDI port at the host PC.

RS-232 / DMX512 Interface
MIDI / DMX512 Interface

assembled PCB
These projects describe DIY construction manuals for DMX-512 interfaces which are operated by
  • MIDI channel messages
  • respectively by RS-232 ASCII text based commends.
    Additionally, the RS-232 version supports the MiniDMX protocol.
Following variants are realizable:
MIDI / DMX OUT only - optoisolated or not
RS-232 / DMX OUT only - optoisolated or not
RS-232 / DMX I/O - DMX IN optoisolated
RS-232 / DMX I/O - DMX OUT optoisolated or not

No specific drivers are needed, so especially the RS-232 version may be well used enhance a PLC with a DMX512 feature.
For different fields of application the PCBs do fit into a selection of enclosure models.
The power supply of both versions is designed for 8-28Vdc.
The internally regulated 5V supply may be extracted from a 2 terminal clamp for supply of external appliances (max.400mA).
...more MIDI      ...more RS-232

MIDI / RS-422 Expander

This PDF file describes an electronic circuit which allows to transport MIDI signals 1:1 over long distances up to 1000 meters.
It transforms the physical layer of a standard MIDI signal into physical layer of an RS-422 signal without change of message content and baudrate.

Wireless MIDI for sound card MPU-401
A detailled description of an electronic circuit which provides wireless communication to a gameport MIDI interface by means of an XBee transceiver module.
The updated version is equiped with a local MIDI I/O, too.

Together with an XBee modified WiFi/MIDI interface, as described above, a simple "wireless MIDI cable" becomes available.

"MIDITERM" simple MIDI test console (updated Dec. 2017)

MIDITERM is a simple but very useful MIDI terminal emulation for Windows.

It is especially helpful as a debugging tool to send any MIDI messages by PC keyboard input and list all received MIDI messages on the PC screen.

Connect Ethernet/UDP with MIDI software

Specific MIDI oriented software (like sequencers or MIDI file recorder/players) usually can open only registered MIDI ports. This is a commonly known barrier for use of MIDI over Ethernet.
Some solutions to overcome this problem are discussed here.


* State of information April 2018.
* The hints presented here are for information only, no product features and specifications are assured in juridical sense.
* All information based on best knowledge, but without any warranty. Any responsibility is excluded.
* Trademarks and product names cited in this text are property of their respective owners.

* Informationsstand April 2018.
* Die hier präsentierten Ratschläge dienen allein zur Information,
sie geben keine Zusicherung von Produkteigenschaften und -Tauglichkeiten im rechtlichen Sinne
* Alle Informationen nach bestem Wissen, jedoch ohne Gewähr und unter Ausschluß jeglicher Haftung.
* Im Text zitierte Warenzeichen und Produktnamen sind geschütztes Eigentum ihrer jeweiligen Eigentümer.