The installation has 2 main components
-
The Controller Application
For the Controller Application, you can either use the compiled Release or work directly with the Processing code.
-
The Hardware Receiver
For the Hardware Receiver, you must download the arduino code and upload it to the board
| Controller Interface | WiFi Settings |
|---|---|
![]() |
![]() |
- Install the current OpenJDK version for your system
- Download the current Release for your system
- Unzip the folder and run the application
- Install the latest version of Processing
- Clone or Download the Repo
- Install the Required Libraries
- ControlP5
- ArtNet for Java and Processing
- Install the latest version of the Arduino IDE
- Either Clone/Download the Repo or the Release
- Install the Board Package
- ESP32
- Install the Required Libraries
- Adafruit NeoPixel
- ArtnetWifi
- Determine the IP address of your computer & range of your network
- Update the WiFi and IP info in the Arduino Code
- Connect your computer to your Wifi Network
- Open the costumeLight_controls application or run the Processing code
- Determine the IP Address of your computer from the Controller IP: data in the top right corner
In this example our Controller IP is 192.168.1.2, but this will be different for each computer/network
- From our Device IP Address we can determine important data that we will need for the Arduino code
- Open the Arduino file: costumeLight_receiver.ino
- In the Arduino IDE, goto the tab WifiSettings.h and update the code to match your local network
// WiFi network credentials
// Change these to match your WiFi network
const char* WIFI_SSID = "myHomeNetwork"; // The name of your WiFi network
const char* WIFI_PASSWORD = "blinkylights"; // Your WiFi password
// Fixed IP address configuration
// Change these if they conflict with your network setup
IPAddress LOCAL_IP(192, 168, 1, 100); // Static IP address for the ESP32
IPAddress GATEWAY(192, 168, 1, 1); // Gateway (usually your router's IP)
IPAddress SUBNET(255, 255, 255, 0); // Subnet mask
// Art-Net specific settings
const int UNIVERSE = 0; // Art-Net universe to listen on *No need to update*
- Use the IP address of the controller as the staring point. In our case it is: 192.168.1.2
- This means that the base address in this scenario is 192.168.1
- Generally your router has address 1 within this range so GATEWAY(192, 168, 1, 1)
- Next choose a number to assign to the device. Generally choose a number between 1-255. There are likely devices on your network, so choose a higher number. In this case we chose 100, so LOCAL_IP(192, 168, 1, 100)
- For example, your Controller IP might look like: 10.0.0.25
- This means your base address would be 10.0.0
- Following the same logic, your router is likely 10.0.0.1, so GATEWAY(10, 0, 0, 1)
- Choose a device number between 1-255 (avoiding low numbers), for example 100: LOCAL_IP(10, 0, 0, 100)



