phosphene
A cable-free, battery-powered stage lighting system that receives ETC Eos console commands over W5500 wired Ethernet and relays them via LoRa wireless.
How a Wireless Battery-Powered Stage Lighting System Uses WIZnet W5500 to Bridge a Pro Lighting Console to Cable-Free LoRa Endpoints
Overview
Stage lighting normally wires every fixture with DMX cables and power lines. Those cables become a real constraint when you want light inside an actor's costume, on a moving prop, or in hard-to-reach rigging. Phosphene removes that constraint — it's a wireless, battery-powered stage lighting system. It takes commands from a professional lighting console (ETC Eos) and controls battery-powered NeoPixel fixtures anywhere on stage, cable-free.
The signal flow is ETC Eos → Ethernet → LoRa 915 MHz → battery-powered NeoPixel endpoints. Here, WIZnet W5500 serves as the wired gateway between the console and the system. The gateway receives sACN (E1.31) or ArtNet from Eos over W5500 wired Ethernet, converts it into compact 12-byte LoRa packets, and transmits them wirelessly.
(Confirmed facts: the README and source explicitly state the use of the Adafruit WIZ5500 breakout and its sACN/ArtNet reception role. Components and figures below are values from the repository.)
Key Features
- Cable-free, power-free wireless lighting: Endpoints run on battery and hide in props or rigging — no power line needs to run to the stage. To achieve this, the console↔gateway leg uses stable W5500 wired Ethernet, while the gateway↔fixture leg goes over LoRa wireless.
- Standard integration with a pro console (ETC Eos): It supports both sACN (E1.31) and ArtNet, slotting directly into existing stage-lighting workflows. The point is controlling wireless lighting from the very console a lighting designer already uses — and the W5500 is the gateway that receives that standard lighting data.
- Long-range LoRa wireless with reliability measures: Each command is transmitted three times at 50 ms intervals, and endpoints apply it only once via duplicate suppression. In ACK mode, they report RSSI and battery level back to the gateway. A design that secures reliability in the demanding RF environment of a stage.
- Wired-first, WiFi optional: The default path is W5500 wired Ethernet. A
DMX_WIFI_ENABLEDoption can also receive DMX over WiFi, but the design intent to keep wired as the default — for reliability-critical venues — is clear. - Polished operational features: 28 lighting presets, a touch-friendly web UI, a GDTF fixture profile to import into Eos, and per-stage status LEDs during boot. This is a system built for real show operation, not a sample.
System Architecture
The W5500's role in the data path: The W5500 is the entrance that links a professional lighting console to the wireless system. It's the point that takes in the standard lighting data (sACN/ArtNet) Eos outputs, over the wire, and from there the LoRa wireless leg begins. The gateway handles the W5500 (Primary SPI) and the RFM95W LoRa (Second SPI) on two separate SPI buses simultaneously.
Role and Application of the WIZnet Chip
- Chip used: WIZnet W5500 (Adafruit WIZ5500 breakout #6348)
- Connection: Wired to the ESP32-S3 Feather's Primary SPI bus. (The RFM95W LoRa radio is separated onto a Second SPI bus, so Ethernet and wireless operate without interfering with each other.)
- Its role: Wired Ethernet communication between ETC Eos ↔ gateway. It receives DMX channel data arriving over sACN (port 5568) or ArtNet (port 6454).
- Why wired Ethernet:
- Reliability: A dropped lighting command mid-show is an instant failure. Keeping the console↔gateway leg wired avoids the interference and congestion risks of WiFi.
- Standard integration: sACN and ArtNet are Ethernet-based standards, so receiving them over W5500 wired meshes most naturally with a pro console like Eos.
- Division of labor: Separating wired reception (W5500) from wireless transmission (LoRa) lets each leg use the medium best suited to it.
- What weakens without the W5500: The console connection would depend on WiFi alone, dropping reliability in the crowded 2.4 GHz band of a venue. This project does offer optional WiFi reception, but keeps wired as the default path — and that wired foundation is the W5500.
(Usage note: this project drives the W5500 via CircuitPython's adafruit_wiznet5k library and socket API — i.e., it receives UDP (sACN/ArtNet) the standard socket way. The W5500 chip embeds hardware TCP/IP, but here it is used via the socket API.)
Related Existing Contents
A case on WIZnet Makers whose content we verified directly is especially close to this project.
ArtNet to ESP-NOW DMX512 — ESP32 + W5500 (irina)
A wireless lighting system where an ESP32 master receives ArtNet over W5500 wired, relays it wirelessly (ESP-NOW), and slaves output DMX512.
- Similarities: The core structure of "receiving standard lighting data (ArtNet/sACN) over W5500 wired and relaying it wirelessly" is the same as Phosphene. The division of wired reception (W5500) + wireless transmission is identical too.
- Differences: irina's wireless method is ESP-NOW (short-range 2.4 GHz) and its output is standard DMX512. Phosphene's wireless is LoRa 915 MHz (long-range, low-power) and its endpoints are battery-powered NeoPixels. Phosphene is also a performance-specific system with ACK, battery reporting, 28 presets, and GDTF.
- Extension value: Together, the two form a category of "W5500 wired reception → wireless relay lighting," broadening the spectrum of wireless method (ESP-NOW↔LoRa) and application (mains-powered↔battery).
(Note: maker.wiznet.io also surfaces W5500+RFM95 LoRa gateway cases such as "LoRaWAN-to-Ethernet Gateway with W5500 and RFM95" (sophia). The hardware makeup is similar to Phosphene, but its content was not directly verified, so it is not asserted here.)
Market & Application Value
- Performance / stage lighting (B2C/B2B): Theater, musicals, and concerts that put light into costumes, props, and sets without cables. Especially useful for productions with frequent scene changes or actors wearing moving light.
- Events / installation art: Battery-powered wireless lighting in exhibition spaces or temporary installations where power and wiring are difficult.
- Broadcast / film sets: Controlling hidden wireless lighting on shoots where cables must not appear on camera.
- Theme parks / attractions: Battery lighting inside moving figures or rides, controlled from a central console.
- System-integration angle: Because it takes sACN/ArtNet standards as-is, it slots immediately into existing lighting consoles and workflows. A lighting designer handles wireless fixtures from the familiar Eos without learning a new tool.
Why it's advantageous in real operation: a performance needs reliability and creative freedom at once. Receiving the console reliably over wired (W5500) while gaining placement freedom via wireless (LoRa) and battery satisfies both demands together.
WIZnet Strategic Value
- A hybrid reference for the lighting/performance market: A clear case where the W5500 is the wired gateway in a "receive wired, broadcast wireless" structure. It shows where WIZnet chips mesh with the professional lighting ecosystem (ETC Eos, sACN/ArtNet).
- A LoRa + Ethernet combination case: Handling the W5500 (wired) + RFM95W (LoRa) on two SPI buses in one gateway extends into a reference for gateways bridging long-range LoRa wireless and Ethernet.
- Standard-protocol support: Receiving the lighting-industry standards sACN (E1.31) and ArtNet over the W5500 broadens WIZnet's applicability in the lighting/entertainment tech market.
- A CircuitPython ecosystem touchpoint: Using the W5500 easily via the
adafruit_wiznet5klibrary makes it a low-barrier reference for Python-based prototyping users. - Reference-design potential: The "console → W5500 wired → conversion → wireless → battery node" pipeline is a gateway pattern that ports across wireless sensor/actuator networks in general.
Limitations / Notes
- The chip used is the W5500 (Adafruit WIZ5500 breakout). It serves as the gateway's wired-Ethernet entrance.
- What the W5500 does not do: LoRa wireless TX/RX (RFM95W), lighting-effect computation and NeoPixel driving (ESP32-S3), and battery management (bq25185) are not the W5500's roles. The W5500 is limited to receiving wired lighting data from the console.
- Hardware TCP/IP usage: This project drives the W5500 via
adafruit_wiznet5kand the socket API. The chip itself embeds hardware TCP/IP, but here it receives UDP in socket form. - Related projects: The irina case was verified directly. sophia's W5500+RFM95 LoRa gateway is similar in title and makeup but was not content-verified, so it is not asserted.
- Performance/config figures (~4.5 h runtime, 28 presets, 3× transmit at 50 ms, 915 MHz, etc.) are values from the repository (README).
- This article introduces an open-source project (MIT); it describes a self-made, published system, not a commercial product.
Source / Reference Links
- GitHub: lynnroth/phosphene
- WIZnet W5500: https://docs.wiznet.io/Product/Chip/Ethernet/W5500
Related Projects on WIZnet Makers
