DMX512 Integration for LED System
Budget: $30 – $250 USD
Project: Add DMX512 output to existing MicroPython LED animation system
Modify existing code
Current System:
Pyboard v1.0 running MicroPython
Controls 24 channels of PWM (8 RGB LEDs) via custom pwm.py library
Reads animation sequences from s.txt file
Uses main.py to parse sequences and output PWM to GPIO pins
Required Enhancement:
Add parallel DMX512 output via WPM432 module on pin X2
Send the same 24 PWM channels as DMX data (scale 0-100 to 0-255)
Maintain existing LED animation functionality unchanged
DMX should update at least every 100ms and after each animation step
Key Files:
main.py - Main animation controller (needs DMX integration)
pwm.py - PWM library (needs last-value tracking)
boot.py - Simple boot loader
s.txt - Animation sequences
Technical Requirements:
Use Pyboard's UART2 (pin X2) at 250k baud, 8N2 format
DMX packets: start code 0 + 24 channel values
Must send DMX break (88µs low) before each packet
PWM values stored in pwm.py class need to be accessible for DMX
Issue: Current implementation fails to output DMX despite correct UART configuration.
Deliverable: Working code that outputs both PWM to LEDs and DMX to WPM432 simultaneously.
Modify existing code
Current System:
Pyboard v1.0 running MicroPython
Controls 24 channels of PWM (8 RGB LEDs) via custom pwm.py library
Reads animation sequences from s.txt file
Uses main.py to parse sequences and output PWM to GPIO pins
Required Enhancement:
Add parallel DMX512 output via WPM432 module on pin X2
Send the same 24 PWM channels as DMX data (scale 0-100 to 0-255)
Maintain existing LED animation functionality unchanged
DMX should update at least every 100ms and after each animation step
Key Files:
main.py - Main animation controller (needs DMX integration)
pwm.py - PWM library (needs last-value tracking)
boot.py - Simple boot loader
s.txt - Animation sequences
Technical Requirements:
Use Pyboard's UART2 (pin X2) at 250k baud, 8N2 format
DMX packets: start code 0 + 24 channel values
Must send DMX break (88µs low) before each packet
PWM values stored in pwm.py class need to be accessible for DMX
Issue: Current implementation fails to output DMX despite correct UART configuration.
Deliverable: Working code that outputs both PWM to LEDs and DMX to WPM432 simultaneously.