To control our LEDs, we will use the Art-Net protocol: https://en.wikipedia.org/wiki/Art-Net
This protocol transmit DMX lightning protocol thought a network using UDP.
It is really fast and compatible with most professional lightning system.
Prepare Your ESP8266You will need to add ESP8266 support to your Arduino IDE, if you haven't done this before, follow these instructions: https://github.com/esp8266/Arduino#installing-with-boards-manager
http://arduino.esp8266.com/stable/package_esp8266com_index.json
There are a lot of way to upload the firmware, I used the Examples-> ESP8266WebServer->WebUpdate sketch
Don't forget to change STASSID and STAPSK with your SSID / PASSWORD
#define STASSID "your-ssid"
#define STAPSK "your-password"
- Upload Examples-> ESP8266WebServer->WebUpdate
- Reset your ESP8266 (or else it won't work)
- Go to http://esp8266-webupdate.local.
Now we can flash our firmware to our ESP8266.
- Download it here : https://github.com/mtongnz/ESP8266_ArtNetNode_v2
- Go back to http://esp8266-webupdate.local.
- Click browse, select espArtnetNode_2.0.0_b5g_WEMOS.bin and click Update
Your ESP8266 will reboot multiples times.
Settings Wi-FIYour ESP8266 is now in Hotspot mode, search your wifi network for espArtNode_00XXX.
The WiFi password is: byMtongnz2017
- Go to: http://2.0.0.1 and click on WiFi and set up SSID/PASSWORD.
- Click on Reboot
Unfortunately, espArtNetNode doesn't use mdns, you will have to find the ip address by yourself.
You can find it with fing (Android version is easier to use) or ArtNet-Lite (this app can detect ArtNet devices).
Jinx also has a scan feature, but I haven't managed to use it with espArtNetNode.
Settings NeoPixelsLast thing to do: Set up PORT A to manage NeoPixel LEDs.
PORT A is pin TX
- Click on PORT A
- Port type: LED pixels - WS2812
- Save changes
- Change number of pixels
We are almost there ! We need to set up 3 things in Jinx:
- Matrix options: This option setup your virtual matrix in Jinx.
- Output devices: Devices connected to Jinx.
- Output patch: Tell Jinx the order of the LED.
If you haven't done it, plug your LED strip to your ESP8266. Schematics are available at the end of this tutorial.
Powering a lot of leds can be tricky, read this for more information : https://learn.adafruit.com/adafruit-neopixel-uberguide/the-magic-of-neopixels
You can power a lot of LEDS using USB as long as you reduce the brightness accordingly, if your brightness is too high, the led will act weirdly and can potentialy get damaged!
- Download Jinx here : http://www.live-leds.de/
- Go to Setup --> Matrix Options
- Set Width / Height
If you are not using a matrix, but an LED strip, set width to the length of your strip and height to 4 (minimal value).
- Go to Setup --> Output Devices
- Click on Add
- Choose Art-Net (default)
- Unselect Broadcast (broadcast is really slow)
- Change the IP address to your ESP8266 address
- Go to Setup --> Output Patch
- Select your Device
- Click Fast Patch
- Select the size of your matrix
- In Patch Mode, select how your matrix is set up
- In Pixel Order, choose GRB
- Check that First Channel is set to 0
You'll probably didn't manage to correctly setup your leds the first time, if something doesn't works correctly just Clear Patch and retry.
If you are not sure that your power supply is sufficient to power all your matrix, lower the Master Brightness.
- Go to Setup / Start Output
- In Channel 1, choose Simple Color, check that all leds light up
- Click Edit and Check Red / Green / Blue is the correct color
- In Channel 1, choose Radar/Scan Lines
- Check that your matrix follow correctly the lines.
I won't explains how Jinx works in details, try the options by yourself! You can find a manual here: http://www.live-leds.de/downloads/
Note About My LEDsYou can find the 3D-printed model for my led thingies in Thingiverse: https://www.thingiverse.com/thing:3458654https://www.thingiverse.com/thing:3462891
It was made by Olivier Sarrailh.
I wouldn't recommended to do a led matrix with LED strips as it will be hard to align them, use a flexible prebuilt matrix (if you want to make it circular)
Once again, check the Adafruit guide to power your LEDs: https://learn.adafruit.com/adafruit-neopixel-uberguide/the-magic-of-neopixels
I managed to power my 20x5 matrix thought USB, but you need to check that you never use it at full brightness as this will likely damage your leds.
And that's it for this tutorial! Feel free to comment if you want to learn more about it and follow my on Twitter for more info: https://twitter.com/m4dnerd.
Comments