Over the past few years, I looked at micro-controllers as a solution for better customization and control of Christmas lights. I started with an Arduino Mega 2560, an older multi-purpose development kit board. I then replaced that with a smaller Arduino Uno, hopefully making it more compact.

I had planned to use 433 MHz radios or Bluetooth Low Energy to remotely control the Arduino and G-35 lights. An always-on Raspberry Pi would then run a web server to control the Arduino with RF commands. I did not end up doing this, and instead spent most of the last year working on other projects.

Outdoor RF Lights

Home Collection Lights

Last year I had my outdoor 433 MHz controlled lights controlled by an ESP32 connected to Home Assistant. I was able to convert the remote codes from the Arduino code to ESPHome remote codes, making any ESPHome device into a remote for this lights set. In practice the remote usually worked, but about 10% of the time would fail to turn off the lights on a schedule.

I would like to increase the reliability this year, which will likely require properly powering the transmitters and locating them in better areas. Replacing the controllers with ESP8266 or similar might be possible, but is a low priority for me compared to the other tasks.

GE G-35

GE G-35 light set

For the individually-addressable GE G-35 lights, I think I can control these with an ESP8266 or ESP32. This is a much smaller package than the Arduino Uno/Mega, and the ESP has WiFi and BLE! I would like to run ESPHome or WLED, but I expect to have to do some work to get the G35 Arduino code to work in those environments. Once one of those control software packages is installed, I should be able to remotely control with Home Assistant.

I will be hanging these indoors, but the 29-foot string of lights is too long for one of my second story windows. I think I can cut the string into two 18-light strings, each controlled by their microcontroller separately. Then each window would have a 14-foot string of 18 lights, running their own or a shared program. (Hopefully it can synchronize properly.) I will need to do some more research again before I make any cuts.

Indoor RF Lights

NOMA Advanced Cluster Lights

I purchased three sets of small bulb lights for indoors, and run those around the ceiling. Almost two years ago I showed how a Raspberry Pi could be paired with a 433 MHz transmitter to control these lights. This year I could do the same as the Outdoor RF Lights and have them controlled by an ESP8266/ESP32. Maybe even the same ESP could store both remote code sets and control both sets of lights.

I don’t like the default RF commands for this light set, as the programs are pre-defined and you are forced to cycle through them one-by-one. I would like to see if I could run them with an ESP8266/ESP32, and 1) run my own programs, and 2) control it via Wi-Fi.

Each set I purchased came with its own RF controller, but when linked together only a single controller is needed. So I have two controllers that I can use for experiments.

New Lights for 2020?

I have been walking around the neighbourhood the past few years looking at other holiday light displays to get ideas, and I have some general notes.

  • Laser projectors are underwhelming, but look a bit better projected onto a tree
  • Using a guide or clip to align lightbulbs looks tidy
  • Lights on a conifer look best when the lights go right to the top
  • Using automotive underlighting on your porch is REALLY bright
  • Single colour “fill” lights aren’t commonly used and give a different vibe than light strings
  • “Net” lights seem to cover bushes nicely

One of the newer products in holiday lights are addressable LED strips. These have different light densities (e.g. “lights/foot”), and can do some amazing programs when arranged in arrays and matrices. I will have to see some good in-person examples to bother wanting these.


Here is a basic list of what I want to finish by the end of the month (November 2020):

  • Indoor GE G-35 Lights (C9 size)
    • Test with ESP8266/ESP32 instead of Arduino Uno
    • Design better controller enclosure
    • Split 36-light string into TWO 18-light strings
      • One for each second floor window
  • Indoor RF Lights
    • Look into replacing controller with ESP8266/ESP32
  • Outdoor RF Lights (C9 size)
    • Set up a more reliable remote transmitter via ESPHome
    • (low priority) Can the controllers be opened and replaced with an ESP8266/ESP32?