STM32 based USB (+ Art-Net) to DMX512 Interfaces
DIY construction information is provided for a set of two different hardware versions providing a variety of command sets for DMX512 lighting control.
Assembly of the STM32 Nucleo-L476 to DMX interface. The DMX connector is below the Nucleo board.
Veroboard size 100x90mm.
The STM32-F042 (20 pin TSSOP) version is quite compact, but needs more technical skills and tools for reproduction:
Assembly of the STM32F042 to DMX interface (built into aluminium case). Board area used by electronics 65x37mm.
The microcontroller, voltage regulator and other SMD components are located at the PCB bottom side.
A more compact USB to DMX interface with the same command set except Art-Net is described at this website.
The USB interface is "full speed USB2.0" grade. The host sided USB class selection between MIDI and virtual COM port is made by a jumper on the SWD connector (may be extended to a switch). The 5V supply (max 200 mA) is scaled down by a linear low drop regulator to 3.3V, which supplies the microcontroller and the WIZ850io module.
In MIDI as well as in ASCII mode,
When USB works as virtual COM port, a special setup mode is available to configure the basic MIDI channel, user specific USB Vid/Pid and Ethernet settings for Art-Net operation. The user setup is stored nonvolatile in the microcontroller flash.
Because no RS-232 interface is installed on these boards, they are programmed via SWD ("Serial-Wire Debug") interface. Preferably with ST-LINK, which is part of the STM Nucleo board or connected to the 3 pin socket installed on both boards.
The firmware was developed with EmBitz 1.11. This source code is quite well suitable as a template for further own development, especially concerning DMX, USB and WIZ850io based Ethernet. It is programmed directly on register level, no external libraries or drivers are used.
PCB layout for the STM32 Nucleo-L476 based USB to DMX+Art-Net board
PCB layout for the STM32F042 based USB to DMX+Art-Net board
Firmware "usbdmxartnet-l476-13.hex" for the STM32 Nucleo-L476 based USB to DMX+Art-Net interface (Version 1.3 , 09 June 2018. Ethernet code optimized, else no changes)
Source code "usbdmxartnet-l476-13.zip" for the STM32 Nucleo-L476 based USB to DMX+Art-Net interface
(status 09 June 2018)
Firmware "usbdmxartnet-f042-8mhz.hex" for the STM32F042 based USB to DMX+Art-Net interface with 8 MHz quartz oscillator (Version 1.3, 09 June 2018. 8 MHz recommended as default now. Ethernet code optimized.)
Firmware "usbdmxartnet-f042-6mhz.hex" for the STM32F042 based USB to DMX+Art-Net interface with 6 MHz quartz oscillator (Version 1.3, 09 June 2018. Older schematics were drawn for 6 MHz. Ethernet code optimized.)
Source code "usbdmxartnet-f042-13.zip" for the STM32F042 based USB to DMX+Art-Net interface
(status 09 June 2018)
* State of information June 2018.
* 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.