Simple STM32G431 based USB to DMX512 Interface
A simple and compact USB to DMX512 interface based on the STM32G431 microcontroller (32 pin LQFP) is presented.
DMX commands and power supply are provided via USB. It is seen by a host PC as a MIDI interface or as a virtual COM port.
Assembly of the simple STM32G431 USB to DMX interface (breadboard and PCB). Compact PCB size 63x25mm.
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 (total current no DMX load ca. 30 mA, with terminated DMX bus up to 60 mA) is scaled down by a linear low drop regulator to 3.3V which supplies the microcontroller.
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 and user specific USB Vid/Pid. The user setup is stored nonvolatile in the microcontroller flash.
Because no RS-232 interface is installed on the board, the board is programmed (and debugged) via SWD ("Serial-Wire Debug") interface, preferably with ST-LINK, which is connected to the 3 pin socket next to the USB connector.
The source code is quite well suitable as a template for further own development, especially concerning DMX and USB. It is programmed directly on register level, no external libraries or drivers are used.
PCB layout for the USB-DMX-G431 board (1:1 TIF format, mirrored view "from component side" for PCB reproduction)
Firmware "usbdmx-g431v14.hex" for the for the STM32G431 based USB-DMX interface
Source code "usbdmx-g431v14.zip" for the STM32G431 based USB-DMX interface (state 31 July 2020)
* State of information July 2020.
* 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.