ShowMagicESPInterface

22 Jan 2026

Showmagic USB Art-Net Bridge

Firmware for an ESP32-S3 USB Ethernet adapter that receives Art-Net (ArtDMX) from Showmagic and maps DMX channels to Spacekraft commands.

Repository Layout

  • espidf/ - Current ESP-IDF 5.5 firmware (USB NCM + Art-Net receiver + mapping + LED test).
  • src/ - Legacy Arduino/PlatformIO prototype (no USB NIC).
  • manual.md - Setup and testing guide.
  • plan.md - Development plan and phases.
  • progress.md - What has been tried and why things failed so far.
  • platformio.ini - Legacy PlatformIO config.
  • tools/artnet_sender.py - Simple Art-Net sender for RGB testing.
  • tools/pdf_extract/ - Helper to extract art-net.pdf to text.

Quick Start (ESP-IDF)

From espidf/:

idf.py set-target esp32s3
idf.py menuconfig
idf.py build
idf.py -p <PORT> flash

Required menuconfig setting:

  • Component config -> TinyUSB Stack -> Network driver -> Network mode -> NCM

Static USB IP:

  • ESP32-S3: 2.0.0.1/8 (Art-Net II default range)
  • PC: 2.0.0.2/8

Test Art-Net Without Showmagic

Use the RGB test sender from the repo root:

python tools/artnet_sender.py --ip 2.0.0.1 --universe 0

Broadcast variant:

python tools/artnet_sender.py --ip 2.255.255.255 --broadcast --universe 0

Where to Look

  • USB NCM + netif bring-up: espidf/main/main.cpp
  • Art-Net parser + DMX state + mapping: espidf/main/main.cpp
  • LED test behavior: espidf/main/main.cpp
  • Build notes and dependencies: espidf/README.md

Recent Activity

  • 71ec264 updated docs (2026-01-22)
  • 89d28d9 swapped colour order - now works perfectly thansk to discovereing the patch vie (2026-01-22)
  • a6a599c initial commit - ESP as ethernet device working, test script to verify art-net v (2026-01-21)

Languages

  • C: 86%
  • CMake: 6%
  • Assembly: 4%
  • Makefile: 1%
  • C++: 1%
  • Python: 1%