What is Art-Net?
Art-Net is a network protocol for transmitting DMX512 lighting control data over Ethernet and Wi-Fi networks. Developed by Artistic Licence, it enables lighting consoles, visualizers, and control software to communicate with lighting fixtures over standard IP networks.Protocol
UDP-based protocol on port 6454 (default)
Transport
Standard Ethernet/Wi-Fi (IPv4)
Data Rate
Up to 44 Hz typical refresh rate
Capacity
32,768 universes × 512 channels = 16.7M channels
DMX512 Basics
DMX512 (Digital Multiplex 512) is the foundation protocol that Art-Net encapsulates.Universe Structure
A DMX universe contains exactly 512 channels, numbered 1-512 in DMX terminology or 0-511 in zero-indexed programming.Channel Values
Each channel is an 8-bit value (0-255):- 0: Off / Minimum
- 128: 50% intensity
- 255: Full / Maximum
Art-Net in HNode
HNode uses theArtNetReceiver component to listen for Art-Net packets on the network.
Network Configuration
Bind Address
Configure the IP address HNode listens on:
- 0.0.0.0 (Default): Listen on all network interfaces
- Specific IP: Listen only on that interface (e.g., 192.168.1.100)
ArtNetReceiver.cs:58-62
Port Configuration
Art-Net uses UDP port 6454 by default, but HNode allows customization:
ArtNetReceiver.cs:48-53
Packet Reception
When an Art-Net packet arrives, HNode processes it through the following flow:Packet Parsing
The
ArtNetPacket.Create() method parses the header and identifies the packet type (DMX, Poll, PollReply).ArtNetReceiver.cs:74-94
HNode only stores universes that have been received. Empty universes don’t consume memory until their first packet arrives.
DMX Universe Management
TheDmxManager provides a clean interface for accessing DMX data:
Accessing Universe Data
Universe Merging
During rendering, HNode merges all universes into a single contiguous list:TextureWriter.cs:80-95
Channel Addressing
HNode supports multiple channel addressing formats:Global Index
A single integer representing the absolute channel position:Universe.Channel Notation
Dotted notation for clarity:Equation Support
Channel values can use mathematical expressions:Art-Net Discovery & Polling
HNode implements the Art-Net discovery protocol, allowing it to be automatically found by lighting consoles.Poll Response
When a Poll packet is received, HNode responds with device information:DmxManager.cs:96-125
- Discover HNode on the network
- Display it in device lists
- Show connection status
- Configure universe routing
Connection Status
HNode tracks whether Art-Net data is being received:ArtNetReceiver.cs:37-38
Performance & Throughput
HNode displays real-time performance metrics:TextureWriter.cs:166-172
Typical Performance
3 Universes
1,536 channels~90 KB/s @ 60 FPS
10 Universes
5,120 channels~300 KB/s @ 60 FPS
32 Universes
16,384 channels~960 KB/s @ 60 FPS
Multi-Universe Example
Here’s how a typical stage lighting setup maps to universes:Troubleshooting Art-Net
No Art-Net Data Received
No Art-Net Data Received
- Check HNode is listening on the correct IP (0.0.0.0 for all interfaces)
- Verify Art-Net source is sending to the correct port (6454 default)
- Disable Windows Firewall or add exception for UDP 6454
- Ensure no other application is using port 6454
- Try binding to a specific IP instead of 0.0.0.0
Universes Not Appearing
Universes Not Appearing
- Check
SerializeUniverseCountis high enough in show config - Verify Art-Net source is sending the correct universe numbers
- Use the DmxManagerViewer editor tool to inspect received universes
- Ensure universe numbers don’t exceed HNode’s capacity
Stuttering or Frame Drops
Stuttering or Frame Drops
- Reduce
SerializeUniverseCountto only needed universes - Lower target framerate to 30 FPS
- Use a more efficient serializer (Binary instead of VRSL)
- Disable unnecessary generators and exporters
- Check network bandwidth if receiving many universes
Art-Net is a registered trademark of Artistic Licence Holdings Ltd. HNode is an independent implementation and is not affiliated with Artistic Licence.