Neighborhood Christmas Light and Sound Show

I am intrigued by the capabilities of the Hallmark Peanuts(R) Gang Light Show Set. Each of five pieces is autonomous; any of the five may be activated – it in turn wirelessly triggers the other four to join in a synchronized light display while playing a song. A YouTube demo is here:

I would like to implement this concept on a neighborhood-wide basis. Give autonomous boxes to each of my neighbors that will control Christmas lights up/down the block in their yards, in sync with a master control. Like the Peanuts(R) Gang, I would like this to be done wirelessly.

BASIC REQUIREMENTS * Master control Arduino * Sends music to attached FM transmitter (provided separately) * Communicates wirelessly to numerous Slave Arduinos within a couple blocks (1000+ feet) * Sends explicit light activation commands to all slave Arduinos in real-time, or * Tells each slave Arduino which sequence to initiate * Slave Arduinos (many) * Receive wireless commands telling which lights to turn on/off. * Alternatively, receive commands telling which stored command sequence to initiate on its own. * Control (dozens of) Solid State Relays (SSRs), which in turn control strings of (probably 110V) Christmas lights.

BONUS REQUIREMENTS * Master control Arduino * Quieries each Slave Arduino to ensure it is still working * Provides a web page or a simple accessible HTML text file that shows the status of all system components, again wirelessly * Slave Arduinos * When queried, provides health status. * Both Master and Slave Arduinos * Ability to update their sketches wirelessly (from a PC). * Low cost (goes without saying!).

This is a follow-on to a project I implemented with a single local Arduino that controlled 32 strings of lights via SSRs, no music. In summary, I stored a light sequence that would activate strands that were arranged on four tree-shaped poles. This provided a pleasing but limited animated display.

It can be done with Arduino. If everyone has Wifi you can use that. XBee Pro can send signals up to miles apart depending on the power and antennas.

But… Others have solved this problem. Maybe not as much fun if you like the nuts-and-bolts part of the design and (maybe) more expensive. Here is a great overview of the technology available to home light display enthusiasts.

Thanks for your pointer to Bill Porter's excellent article. He provides a wealth of information, and high quality.

Not yet a home run for me, however. I DO want to, and AM having fun with the nuts-and-bolts design, but am avoiding expenses like the plague. The result of Bill's designs are excellent as shown in his video, but I'm not read to make such a large investment. Lots of expense involved in the controllers.

With the Arduino-based solution I am pursuing the result will be more basic, and much less expensive. The toughest nut I haven't yet cracked is wireless. I don't think Bill uses wireless - he mentions cables running 800 MHz signals.

So, many thanks for the pointer to Bill's site - it's a great addition to my toolbox.

Here’s a summary of my Christmas 2017 project result. I deployed a Master unit and 5 Slave units in my front yard capable of controlling 496 individual circuits, of which I implemented 104 110V and 64 5V circuits. To expand I need only add more Slave units/circuits.

  • The Master unit stores MP3 music files and a Playlist of songs to be played on a MicroSD card.
  • Slave units receive their synchronized light commands from the Master unit via 433 MHz transceivers. Commands are then sent to shift registers that control the light string circuits.
  • Music is broadcast on FM 89.3 MHz.
  • A RTC turns the show on at 5 pm and off at 11 pm; each show starts with the lighting of a flag and playing of the National Anthem.
  • C++ code is the same on all Arduinos; configuration jumpers are used to determine if the unit is a Master or Slave, and to specify the subset of light commands it is responsible to display.
  • A custom PCB was created using the web-based EasyEDA application. The PCB contains shift registers, circuits for driving 5V LED light strings, and connections to SSRs for 110V incadescent light strings.

A simplified block diagram of the 2017 implementation is attached.

My wish list is to implement OTA updates of files (songs and Playlists), as well as updated sketches. That’s not on my 2018 priority list, as I’m hoping for ESP32 environment documentation to mature more before taking the plunge. Once OTA is conquered the health checks and status reporting would soon follow.

Functional Block Diagram.pdf (154 KB)