Arduino Artnet Node





Introduction: Arduino Artnet Node

A few months ago i needed an Art-Net node. But I didn't have enough money to buy one because they are about £300 and that is quite expensive.

Step 1: Gather the Parts

  • max485
  • 3pin(or 5pin)xlr
  • arduino mega or uno
  • ethernet shield (make sure to use an ethernet shield that uses the w5100 chipset , a shield with a different chipset wont work)
  • 16x2 lcd
  • 100 ohm resistor
  • 220 ohm resistor
  • 10k potentiometer

Step 2: Build the Circuit

The circuit is fairly straight forward but you will need some skill.

Step 3: Upload the Arduino Code

  1. Download the arduino ide (make sure to install version 023)
  2. Plug in your arduino via usb.
  3. Copy the file DMX from the download to the arduino ide's libraries
  4. Open the Art-Net-node.ino
  5. Chose your arduino board from the boards menu.
  6. Upload the code

Step 4: Download Freestyler Lighting Software

  1. Download the latest version of the freestyler lighting software.
  2. Open the software.
  3. Go to setup and then interface setup set this option to Art-Net.
  4. Then set Broadcast address to your Art-Net Node's ip address.
  5. Connect the Art-Net node's ethernet port to your computers ethernet port.
  6. Plug power in to the arduino via usb
  7. Go to your computers control panel then network and change adapter settings.
  8. You should then be able to see that the arduino is plugged into your computers ethernet port.
  9. Bridge your wifi to the arduino.
  10. Re start the freestyler software.

2 People Made This Project!


  • Paper Contest 2018

    Paper Contest 2018
  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Science of Cooking

    Science of Cooking

We have a be nice policy.
Please be positive and constructive.


5 Questions


Is it also possible to extend this node to control at least 6, or maybe even up to 10 universes? If yes, could you point me in the right direction for this?


Would a teensy support up to 6 or more nodes? Possibly with the OCTOWS28xx adapter?

Thanks in advance!

the arduino would not be able to support that many universes i reccomend using a maximum of 3 universes, but what you can do is use multiple arduinos

Hi, I' m finishing now to build this project and i have few questions about the circuit:

1) Should I put 2 resistors 10 ohm 1/4 watt between the pins 6 & 7 of MAX and the pins 2 & 3 of DMX connector?

2) Should I put a 100 nF capacitor between the pins 8 & 5 of MAX?

the capacitor would definitely be a good idea and the resistors also sound like they should work in that configuration

Hello ! I want to get 2 DMX outputs and 1 DMX input. How do I change the code? I now use the scheme without an indicator, based on Mega2560.

Sadly the code does not support DMX input.

it is possible to have 2 DMX outputs though if you wire the second output to pin 18

do you have de frizenting file

im not sure ill have to look at an old backup of my old pc i will post it in the comments if i find it

can you use a dmx shield


Hi, will this work with Martin Mpc as well?

if it supports artnet it should work

hello there,

I also recently tried to get it work but it doesnt. I have used the ip-setup as recommended in youre textfile but i cant establish any further connection. I disabled the firewall and the anti virus program avg. When i try to send a ping to it prompts that the destination host is not available. With wireshark i tried to get a closer look. While sending the ping the following line is displayed:"who has Tell"

Google says that this is a hint for a not configured mac adress. But in the arduino code i easily see the configuration...

The command ipconfig /all displays that my gateway is configured to although i changed it to

See picture

All the other lines displayed in the command window are not really in my understanding ;) i am not really into networks....

Do you have any ideas what the problem could be?

Thanks for the help


try setting the gateway to

Screenshot (1).png

Hey David,

i tried that but it didnt work out.

i researched a little bit and i found that my ethernetshield has another mac adresse than the one in the code that i need to upload. the mac adress of my ethernet shield which is written on a sticker is: 90-A2-DA-11-05-2D

the mac adress in the code is:

uint8_t factory_mac [6] = { 1, 2, 3, 0, 0, 10}; // the mac address of node

I thought the mac adresse has to be the same as the mac adresse on the sticker.

Maybe this is the problem?

But when i try to change it to the mac adress { 90, A2, DA, 11, 05, 2D} i get the error message:

artnet_node.cpp:80:69: error: invalid suffix "D" on integer constant
artnet_node:68: error: 'DA' was not declared in this scope

How can i change the mac adresse without getting this error message?

Hi, I have the Arduino Artnet Node working. I can control my LED spot from my laptop connected directly to the node. I would like to use the node in an existing network setup. I'm aware of the fact to separate Artnet traffic form other network traffic. However, I'm not running any lightshows, just basic control of my garden. I guess that the node cannot be reached in my network setup because it has a MAC address of which packages are dropped by my router. Is is possible to assign another MAC address to the node that won't be dropped by my router. I see knoeterich had a similar question for which updated code is available? I did however not see a download link. Thanks in advance.

open the artnet node.pde file and remove the lines of code shown in the screenshot and replace them with this new code

uint8_t factory_mac [6] = { 1, 2, 3, 0, 0, 10}; // the mac address of node

uint8_t factory_localIp [4] = { 192, 168, 1, 10}; // the IP address of node

uint8_t factory_broadcastIp [4] = { 2, 255, 255, 255}; // broadcast IP

uint8_t factory_gateway [4] = { 192, 168, 1, 1}; // gateway IP address

your artnet nodes ip address will be

also change the first line to a different mac address

Screenshot (7).png

Hi David, many thanks for your reply! It's working now :-)

after a bit of research i found out that the ethernetshield i was using needed another library.

I bought the Ethernetshield 2 from arudino not knowing that it isnt compatible to the ethernet library used in the code because of the Wiznet5500.

Implementing the ethernet2 library left me with some errors that i cant fix.

I simply bought another ethernetshield and i think the problems will be fixed ;)

Sorry for the hustle and thanks for the help