Holiday Lights – Project Description

Alright! I’ve been selected for the The Internet of Holiday Lights RoadTest Plus (or “mini challenge”) along with 19 other competitors.

In this post, I will describe my submission and what I intend to realise for this RoadTest.

The idea

My internet holiday lights idea for this Road Test plus is about making a Christmas tree with both classic and modern elements.

The classic element would be the base of the tree, where I would hollow a wood log in order to stuff the electronics in (Arduino Yun + Infineon Shield).
The modern element will obviously be the lights. I’d like to use a combination of LED strips (addressable and non-addressable) to create a Christmas tree shape and tree topper.

This is a quick sketch of what I have in mind:


The tree shape would be controlled by the Infineon shield to control color, brightness and other effects (glowing, fade in/out, …).
For the tree topper, I’d like to use an addressable strip and neopixel ring to create more granular animations (rotation, inward/outward motion, random, …).

The color of both the tree and the topper would be controlled individually via an app on the smartphone. The app would also allow for an automatic mode where the colors and animations would randomly change.

In “manual” mode, everything is controlled by the user via his/her smartphone: selection of colors and animation.

One of the types of animation I was thinking of, could be triggered by a local sensor. I’ve experimented with this before as demonstrated in the video below, using a distance sensor.

What I’d like to achieve is to have the tree topper have an inward motion when nearing the tree and outward motion when getting further away (or vice versa).

When in “automatic” mode, the colors and animations for the tree and the topper would be determined based on data gathered from the internet.

An example could be to change colors based on keywords found in song titles. By tuning in on an internet radio channel playing Christmas songs, the lights could adapt based on certain keywords in the title of the song playing at that specific moment:

  • “Let it snow”: glowing white
  • “Mr. Santa”: alternate between red and white
    etc …


For the communication between the Yun and the smartphone, I was thinking of using MQTT and openHAB, which I would deploy on an earlier project: Internet Radio Player with Raspberry Pi, PiFace CAD and MPD/MPC


While doing some research for this project, I came across an Arduino library for MQTT that is compatible with both the Yun and the UNO (combined with an ethernet shield).
I couldn’t help myself, and already gave it a try with the UNO and ethernet shield.

Screen Shot 2014-11-19 at 10.51.57

Using an online MQTT client from 2lemetry, which I found via — Ecosystem I was able to successfully publish data from the Arduino and visualise it online.
This is only part of the solution, as the actual project will also require the Arduino to subscribe to a certain topic in order to retrieve the colors and animations that need to be used.

Screen Shot 2014-11-24 at 20.30.20  Screen Shot 2014-11-24 at 20.34.51

While exploring MQTT for the CC3200, I discovered that a Paho Arduino client exists. Thanks to one of kartben’s posts, I also discovered MQTTlens to visualise MQTT message easily.
After my submission, Benjamin also posted a nice tutorial on how to use the Paho client with the Arduino Yun. You can find it here.

That’s my project idea for this RoadTest, hope you like it!

© Frederick Vandenbosch, 2014-2021. Unauthorised use and/or duplication of this material without express and written permission from this blog’s author and owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Frederick Vandenbosch with appropriate and specific direction to the original content.