An Arduino Uno controls a bunch of neopixel LEDs that are mounted on an tree shaped metallic structure. The setup also includes a Bluetooth receiver to automatically turn on the animation via an Android app (Tasker).
Step 1: Tree Structure
The tree structure is similar to https://www.instructables.com/id/Wire-Tree-1/
In mine, the trunk has 48 wires. I first split it in 4 branches. Continue splitting the branches until you end up with 3 "leafs" per branch.
Step 2: Micro Controller (Arduino)
The box is a simple plastic container that I've strengthen with tape.
The 3 wires on the left (GND, 5V, Data) go to the tree.
The other wires are connected to a bluetooth module. Here's a tutorial on how to connect an Arduino to a bluetooth module https://howtomechatronics.com/tutorials/arduino/ar...
- UNO R3 MEGA328P https://www.aliexpress.com/item/Best-prices-high-...
- HC-05/06 Bluetooth Serial https://www.aliexpress.com/item/SPP-C-Replace-HC-...
- 50 SK6812 RGBW LED https://www.aliexpress.com/item/SPP-C-Replace-HC-...
Step 3: LEDs
Soldering all the LEDs is the most time consuming part of the project. Each LED is connected to both 5V and GND. The DATA wire must run through all the LEDS in series.
You can have a look at that tutorial for how to connect the LEDs to the Arduino.
Step 4: Animations (rainbow, Lightning...)
This piece of code lets you control the lights via serial.
- Send "0" to start the first animation. There's currently 5 different animations. The animation will run for 15 minutes.
- Send "stop" to stop the animation.
- Send "random" to randomly select an animation.
If you are on Android, I recommend using
Bonus: Smart light
I use Tasker and Tasker Bluetooth Serial to automatically turn the tree on when my phone is close to it. This is done with a bluetooth profile that triggers a serial command to the tree.