back to menue

CForth based USB/DMX controller with STM32G431

This is an experimental approach for a minimal user programmable USB/DMX512 controller with rather complex built-in possiblities to create auto-running or interactive lighting sequences.

This device it is not intended for big stage shows. But the CForth interpreter provides possibilities to create time based and sensor controlled animated lighting art objects or light installations for buildings or similar.

Two different hardware solutions are provided with almost the same circuit layout.
A hardware DIY manual for these USB/DMX controllers is described in detail at another place of this website.

The firmware is a special version of the CForth interpreter with
an additional set of DMX related kernel operators (Forth "words") as: photo of assembled PCB and Veroboard

Most essential general features of the CForth-DMX module:

A detailled CForth Operating Manual is available (PDF file), DMX related instructions see last page

An alternative firmware for these modules with a more conventional ASCII and MIDI based command set is provided at this website, too.

Downloads:
The subsequently downloadable material is copyrighted (c)2020-24 by Wolfgang Schemmert.
Assembly of the devices, programming and use of the software is permitted for free by everybody for any purpose ("freeware"). For commercial use, restrictions of third-party software contributors (Segger GmbH, STM) must be respected.
All information is based on best knowledge, but "as is" and without any warranty. Any responsibility is excluded. Use for dangerous, life-threatening and medical applications is forbidden.

PCB layout for the "small STM32G431 board" PCB
(1:1 TIF format. BOTTOM layer as well as component placement view are "from component side", i.e. BOTTOM layer shown mirrored "through the PCB" (as needed for PCB production))

PCB layout for the " STM32G431 Veroboard" PCB
(1:1 TIF format. BOTTOM layer as well as component placement view are "from component side", i.e. BOTTOM layer shown mirrored "through the PCB" (as needed for PCB production))

Firmware "CForth-G4xx-MINI48.hex" for "minimal USB/DMX conroller", SysClock = 48MHz
(14 January 2024 - improvements and minor bugfixes)

Firmware "CForth-G4xx-MINI144.hex" for "minimal USB/DMX conroller", SysClock = 144MHz
(14 January 2024 - improvements and minor bugfixes)

Firmware "CForth-G4xx-MICRO48.hex" for "minimal USB/DMX conroller", SysClock = 48MHz
(14 January 2024 - improvements and minor bugfixes)

Firmware "CForth-G4xx-MICRO144.hex" for "minimal USB/DMX conroller", SysClock = 144MHz
(14 January 2024 - improvements and minor bugfixes)

Source code "CForth-G4xx-v60.zip"
(state 14 January 2024) This source code is provided as complete "Segger Embedded Studio" project (ZIP file, 839 kB).
Parts published by Segger GmbH are under license of Segger&|Rowley, parts published by STM are under license of STM, parts programmed by me are provided under GNU GPL3 license.)

This project is programmed directly on register level, no external libraries (except "cmsis" and startup code), no external drivers or HAL are used.


back to menue


* State of information January 2024.
* 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.