Ethernet to MIDI&RS232 + DMX512 (+Artnet) Interface
This is a do-it-yourself construction manual for an interface which connects wired Ethernet with a combined MIDI/RS-232 interface and provides a DMX512 transmitter.
Based pon the same hardware, two different firmware versions are available:
Both versions commonly support following modes of operation:
The OSC capable firmware supports following additional features:
- The basic mode is 1:1 "transparent" byte transfer between wired Ethernet and the combined MIDI&RS-232 port. MIDI baudrate is supported as well as standard PC baudrates. The baudrate is configured by ASCII command or with semi-automatic baud rate detection.
- ASCII / binary conversion: it is possible to send any (binary) byte coded as ASCII text via Ethernet to the interface, which transmits it in raw binary mode from MIDI/RS-232 OUT. This mode is useful to enable ASCII based PC software or manual terminal input to communicate with MIDI (or any other binary oriented protocol). Vice versa, every binary byte received at MIDI/RS-232 IN is retransmitted coded as ASCII text via Ethernet.
- A complete universe of 512 DMX channels is supported:
--- DMX control is possible by an ASCII text based command set
--- or alternatitively by a MIDI Channel Message based command set
--- furthermore, the MiniDMX protocol is implemented as a quasi subset of the ASCII command set.
These commands can be sent simultaneously through Ethernet (UDP or TCP)
and via the combined MIDI&RS-232 port.
- Configuration of communication parameters like IP-addresses is possible by Telnet, UDP or conventional RS-232.
An alternative modified firmware version is available, which supports the essential features of Art-Net DMX control instead of OSC. It uses the same hardware as the OSC capable version and - when not in Art-Net mode - the same basic modes of operation as described above.
- OSC (Open Sound Control) formatted data packets, received via Ethernet, are decoded and the binary content is transmitted from MIDI OUT (or RS-232 depending on the baud rate setting).
Because OSC is not designed around a well defined set of methods (i.e. commands) - like MIDI is, some predefined methods of the most popular OSC implementations are implemented, as is "Touch OSC" and "Control". Additionally a special set of MIDI and DMX oriented OSC methods is implemented.
- To provide more flexibility, a simple compiler for user defined OSC methods is built in. This way, almost every OSC method generated by 3rd party devices may be recoded to corresponding MIDI or DMX specific or general serial output. Vice versa, every byte received at MIDI IN is accumulated into appropriately timed OSC formatted packets and retransmitted via Ethernet. All OSC methods/commands are fully documented, no specific drivers are required.
For comfortable editing and test of user defined OSC methods, a special OSC mode has been introduced: Editing is done via the RS-232 port while simultaneously the OSC messages can be sent via Ethernet. Binary OSC released serial output from the MIDI&RS-232 port is transformed into readable ASCII text then.
Assembly of the Ethernet to MIDI&RS232 + DMX Interface in "Eurobox" enclosure.
A detailled construction- and operation manual is provided here (PDF file).
- The heart of the circuit is a microcontroller ATmega1284P clocked with 12 MHz. The 40pin DIL case demands no special skills for manual assembly.
- An Atmel compatible programming connector is provided on the PCB. After programming jumpers are placed there to select the different modes of operation, including configuration modes.
Instead of jumpers, a set of switches may be mounted at the front panel, see photo above. Change of modes initates a quick warm start, a TCP connection doesn't get disconnected.
- The actual hardware version is equiped with an optoisolated MIDI IN, which is wired-or connected with a separate single transistor RS-232 input. The MIDI OUT driver is built with an HCMOS inverter, which drives RS-232 too. Both share the same microcontroller USART. This unconventional circuit is very simple but works reliably up to 115200 baud.
DMX OUT is driven by a second USART.
- Pinheads for MIDI I/O, RS-232 and DMX OUT are located at the PCB. These should be wired to conventional connectors with metal flange, which are easier to mount in a DIY project than connectors directly soldered on the PCB.
- The Ethernet frontend is designed with a Wiznet WIZ812NM module using the Indirect Bus Interface mode. This provides a high data throughput combined with a simple hardware.
- Power supply: a switching regulator with input voltage range 8-28Vdc is placed on the reference PCB.
- The layout of the PCB is held simple with a single wire layer.
- The PCB design fits into a low cost plastic standalone enclosure ("Eurobox") as well as into a rugged aluminium one ("Fischer Elektronik FRAME" PCB size 100x75mm).
Pure Data demonstration and test patcher for OSC
Nearly all OSC methods (=commands) for the Ethernet / MIDI+RS232 interface may be sent from this patcher (download see below). It is not too complicated to rebuild a similar user specific TouchOSC structure on a tablet. The right hand part emulates all controls of the TouchOSC "Mix2" layout in a slightly modified arrangement.
Pure Data demonstration and test patcher for ASCII commands via RS-232
The most essential ASCII commands for DMX control may be sent from this Pure Data patcher by RS-232 (download see below).
For smooth execution, input of short numeric parameters is terminated by a semicolon character (ASCII code 59), which works as a dummy command with no effect else.
For some commands (especially save a lighting scene as "preset"), direct command transfer - while the slider is moved - would cause unpleasant side effects. In these cases, command execution has to be triggered explicitly after the parameter value is adjusted by slider.
The ZIP file contains a similar patcher, which is useable to control DMX via UDP/wired Ethernet
The subsequently downloadable material is copyrighted (c)2015-17 by Wolfgang Schemmert
Assembly and use of the interface is permitted for free by everybody for any purpose ("freeware")
All information is based on best knowledge, but without any warranty. Any responsibility is excluded.
single layer PCB layout (1:1 TIF format)
OSC supporting firmware hex code for ATmega1284P (Version 2.12 , 04 Ocotober 2017)
(recommended Fuses programming: extended 0xFD, high 0xCF, low 0xF7)
Alternative firmware hex code for ATmega1284P supporting Art-Net instead of OSC (Version 2.12 , 04 Ocotober 2017)
(recommended Fuses programming: extended 0xFD, high 0xCF, low 0xF7)
Detailled construction- and operation manual (PDF file).
set of pd (Pure Data) demonstration and test patchers (ZIP file).
* State of information October 2017.
* Right of technical modifications reserved. Provided 'as is' - without any warranty. Any responsibility is excluded.
* This description is for information only. No product specifications are assured in juridical sense.
* Trademarks and product names cited in this text are property of their respective owners.