First display, and questions

perigalacticon

New elf
Joined
Nov 21, 2019
Messages
18
Location
Troy, MI, USA
Hi,

Here is my first show with XLights. It's a very simple animation because I was fighting many gremlins trying to put it all together on a tight budget, and only started in mid-November.

View: https://drive.google.com/open?id=1DTQTv9KzaHXb4milVyqn6NZo96EBJ46J


There's a sequence of 8 solid colors on the whole house and then the plasma effect for a bit and then repeat. I apologize, because the show wasn't running well when I took the video. There were glitches where the controllers randomly stop playing for a while, and then come back online, which you can see in the video. The camera shot leaves out a tree wrapped in a long led strand with a Christmas star at the top, and a battery powered Christmas present box in the yard.

Details:

The Christmas star just mentioned above was made from a cut up WS2812B led strip glued to Coro-type plastic board. The strand wrapped around the tree was made from 4x 50 count standard bullet-type WS2811 strings in series, but I added the C9 clear covers to them, had to attach them with hot glue. The tree strand was powered from a TalentCell 72W, 100W-h Li-ion battery and lasted about 4 hours with reduced brightness. Also not in the video was a battery powered plastic Christmas present box "3D cube" made from 12" square pieces of polycarbonate with about 100 WS2812B and WS2811 leds inside and out.

All the props are hand-made from scratch or modifications of purchased decorations. I had most of the props from previous years when I ran FastLed holiday animations. All the props are individually controlled by ESPixelStick firmware running on ESP8266's that I had accumulated over the past several years. I used to run simple shows using FastLed broadcast over UDP from an ESP32 program which I developed from scratch. There were 18 ESPixelStick controllers total, one for each prop. I made the controllers from assembling ESP8266 modules (mainly ESP01's and Wemos) onto solderless breadboards using jumper wires, a reset button, capacitors, voltage converters, and a SN74AHCT125N level shifter. I ran the show from FPP running on a RPi4 connected via Ethernet to a low-cost Netgear AC1000 router. There was often glitching which I'll mention later.

Starting from the left, the house outlining strands are 5050 size WS2812B led strips with 60 led/m density. The present is made from a 5V neon flex strip with 300 leds, attached to plastic coro-type board with zip ties through drilled holes. The 2 small snowflakes in the windows are made from cut up led strips, I soldered all the pieces together with white wire, they are also WS2812B with 60led/m density. They are just taped to foamboard, but they are inside the house so tape works fine. The middle large snowflake is a decoration from Target I modified. I took out the white twinkle leds and taped in about 3 strands of standard WS2811 bullet type strings. Had to do quite a bit of splicing! Each bullet is taped sideways to the back of the plastic snowflake structure, so far no problems with the weather! They are wrapped probably 4-5 times in scotch tape. The layered star on the right is made from cut up WS2812B led strips, 60/m density. They are just taped and hot glued to a piece of clear polycarbonate, but again no problems with loosening yet. There are a couple of different led string types on it actually, some from Adafruit that have a few inch spacing between leds. The ball strand below the windows is made from a set of white translucent plastic ornaments I had, and I used a cut up string of leds, something like the strip type, and each ball has 2 leds glued to it, shining through holes I put in the top. The 2 leds are in parallel at each ball and were necessary for brightness. The balls are then connected by extension wires. The lights in the bushes are "dumb" copper-wire type strings that are not controlled by the show they have their own integral controllers. The candy canes are purchased and are red plastic. I removed the internal leds and inserted a few WS2811 bullet strings into them. This actually required lubrication to accomplish as the fit was too tight. The porch string is a standard 50 count WS2811 bullet string that I hot glued ping pong balls to after poking holes in them. On the front door is a wreath and a snowman. The wreath is battery powered, and is just a small Christmas wreath wrapped in a 20-count led string from Adafruit. The snowman is made from taping leds onto 2 pieces of foamboard taped together. The outline is just 'dumb' 12V RGB type strips that I turned on their side to make the outline but work pretty well for that. They are controlled by a Arduino Mega2650 and a set of led drivers I hand-made from mosfets and driven by the Arduino PWM. It runs it's own program not controlled by XLights. I don't know the best way to control dumb RGBs from an ESPixelStick yet. Other features on the snowman are controlled by the Mega2650 such as the nose which are strip and the buttons which are 3W 5V leds with integral drivers from Adafruit. The eyes are NeoPixel Jewels from Adafruit. They are RGBW and I didn't have time to figure out how to control them correctly in XLights considering they were on the end of the mouth string which was only RGB. In the picture window is a Christmas tree. The tree outline is made from a cut-up 'dumb' 12V RGB strand, and is controlled independently from an Arduino Due. The matrix of leds inside the tree are a string of 50 standard square WS2811 leds that are taped onto the back of foamboard with holes drilled in it. The power supplies are all inexpensive indoor types, about one per prop, and are all located in the house, along with all of the controllers. They range in amperage from 4 to 15 amps and 5V and 12V. All the power and data cables/wires to the props are routed out of the house through openings in windows and doors, and I sealed the window gaps with tape. BTW, I highy recommend putting a label at the end of power supply cables that has the voltage so you don't fry anything if you are mixing 5 and 12V. I hope you find some of this useful.

My focus was to get a lot of props running, so the show looked something like the big shows I had seen online. I really didn't get time to make a developed sequence, but I think it was interesting to people, I hope, anyway. The plasma effect looked really good IMHO. Thanks XLights developers! :)

Some issues I need help with. The glitching. I tried to fix everything I know how to fix, and I don't know where it's coming from. Here's a list of things I tried:

Used static IP addresses for all devices.
Upgraded from RPi zero to RPi4.
Took RPi4 out of case and moved to cooler location (it runs at ~60 deg. C now).
Upgraded from using home router to separate Netgear AC1000 show router.
Replaced older components on the controller solderless breadboards.
Switched to higher quality SN74AHCT125N level shifters (recommended by Adafruit).
Disconnected show router from internet and PC when running.
Tried Multicast setting on controllers FPP and XLights.
Tried 40 fps instead of 25 fps. The show looked smoother IMHO, but just made the glitching "different". At 25fps the whole show used to slow down and hang up simultaneously in sync, but at 40 fps it happens to a smaller portion of the props.
Moved router to different locations. Doesn't seem to matter as the controllers are affected seemingly randomly. FPP reports "Cannot ping controller X".

What I've found is that when the show is running, FPP becomes very slow to respond, sometimes pages timeout trying to load. If I stop the show it's normal. At this point I am suspecting either the RPi4 is running beyond capacity, or the router is running beyond capacity. Can anyone help me figure out which it might be? I am using 18 ESPixelStick controllers, is this too much for the RPi4? Each controller has either 1 or 2 universes. The channel count in XLights is 11202, and 27 universes. Should this be able to run smoothly with my hardware? The problem is, it also glitches if I run directly from XLights on my Win10PC as well, so it's not all FPP related, or could be a different issue from the PC. I welcome any thoughts on how to make it run better. And thanks to the many people that have helped me already on numerous forums trying to get this much done! It has been a fun and challenging project :)

Sincerely,
Stephen
 

perigalacticon

New elf
Joined
Nov 21, 2019
Messages
18
Location
Troy, MI, USA
UPDATE :D :

I got a new router, a RPiZ, and a RPiZW, and now everything works!
2019 Christmas Xlights Display
Snowman Close-Up

Please note lanterns were hung for the Lunar new year (I made an XLights display for it also), also why the tree is in red, it is normally a RGB pattern.

The router did the trick. First I tried the Zeros, I used the RPiHat options but didn't actually use a RPiHat on them, I just soldered wires to GPIO18, 19, & GND. I'm used to this with ESPs / Arduino hardware. They worked perfectly, and reduced the device count and WIFI load. BTW, the RPiZW was MUCH faster than the RPiZ as far as loading and running FPP. I even used a stronger antenna with the RPiZ and it was still slow, see photo:
RPiZ Setup

I got rid of the Netgear AC1000 and picked up a Netgear AC1750. I think the major difference is likely the RAM. AC1000: 8 MB flash and 64 MB RAM; AC1750: 128 MB flash and 256 MB RAM. I only notice occasional slight hesitancies now. It was more than double the price though ($150).

Here are some closer photos of my hardware:
Router, RPi4, PC.
Typical generic ESP8266 controller running ESPixelStick sketch.
Typical WEMOS Esp8266 controller running ESPixelStick sketch.
Some controllers in-situ.
Wiring of Snowman with Mega2650, ESP8266 controller, RGB drivers.
A hand-made RGB driver board. (Sections of the snowman light up separately but are all in sync here.)

Again thanks to everyone for your support. I think you could call this project "DIY XLights Display on a Tight Budget!"
 
Last edited:
Top