DMX-Board (2024)
As part of the study module “Microcontroller Applications”, I developed this board and the associated software in collaboration with my fellow student Tom Wahl. The technical basis is an ESP32 microcontroller from Espressif.
The original aim as part of the module was to enable simple recording and playback of light programmes, i.e. incoming data on the input including their timing.
After the module was completed, the hardware was then extended to include GPIO terminals at the request of the professor. The aim was to be able to use the circuit board as a demonstration and test object in lectures.
My focus in this project was on the software: The software submitted during the module was developed directly using the ESP-IDF, without the Arduino framework. The DMX bus and the interaction elements (OLED display, encoder) are controlled via separate FreeRTOS tasks. This ensures that the operation of the DMX bus is prioritised.
In addition, the DMX bus is controlled via the ESP32’s DMA controller. This makes sense as the DMX bus is usually controlled by a central node (whose role we assume here), the controller. A DMX transmission with data for all 512 channels of a DMX universe requires approx. 22 ms. If this is done at the usual frame rate of 40 FPS, you will notice that the DMX bus is almost continuously being sent on. However, as all the data is already known at the start of the transmission, it would be inefficient to carry this out using CPU time.
Using DMA, the microcontroller can operate the DMX bus and all other peripherals available for operation without any problems, as can be seen in the Logic Analyser screenshot.
Experimental setup of the circuit on breadboard. The Arduino Uno in the upper part served temporarily as a logic analyser.
First software written for testing to control an RGB spotlight. M stands for Mode, S is an irrelevant additional parameter for RGB control (Mode 0).
Concurrent activity on the various data buses. Top: DMX
Circuit as a simple CNC-milled circuit board
Manufactured Boards
Board after one year of use in teaching at HTWK Leipzig