Easy Voice-Controlled Christmas Tree (no PC or WiFi Req'd)




Introduction: Easy Voice-Controlled Christmas Tree (no PC or WiFi Req'd)

This Instructable explains how to build a voice-controlled christmas tree by connecting an LED light chain to an Arduino controlled by a MOVI Speech Dialog Shield. See the video above for the result! The voice control does not require an Internet connection and can be configured to other commands than the ones shown in the video above. MOVI also supports other languages, like Spanish and German. For more information on MOVI, check out their page.

This Instructable assumes basic familiarity with Arduino and electronic projects. Please check out the electronics, Arduino and the MOVI Instructable first, if you need to get familiar with these types of projects.

Otherwise, let's go!

Step 1: What You Need

To build the Magic Tree project you will need the following:

  1. An Arduino-compatible board, we used an Arduino Uno.
  2. MOVI Speech Recognizer and Synthesizer for Arduino
  3. String of P9813 LED string such as the TCLPXL25 or TCLPXL50 from CoolNeon.
  4. Single Pixel Signal Extender TCLPXLSE from CoolNeon
  5. A 5V (4A min!) wall power supply, such as this one.
  6. Power connector for the LED lights.
  7. An Arduino project box (optional)
  8. And of course a Christmas tree (they start cheaply)!

Step 2: Let's Begin!

  1. Place the Arduino inside the project box.
  2. Then, mount the MOVI shield onto the Arduino.
    If you are using a MOVI for the first time, you want to check the instructions on how to get started with MOVI regarding jumper settings and other prerequisites.
  3. Drill a hole into the cover of the project box, close to the microphone or better on top of the microphone. This will increase the accuracy and responsiveness of the speech recognition dramatically. In our case, the project box had a pre-perforated hole close to the microphone, so we used that instead of utilizing a drill.

Step 3: Wiring

The TCL connector has 4 wires:

  • Blue / GND
  • Red / 5V
  • Green / DATA
  • Yellow / CLOCK

Cut one of the power plugs (female), strip the black and red wires and solder to the blue and red wire of the TCL Connector (+5V / GND).

Extend the Green and Yellow wire (DATA / CLOCK) of the TCL connect for easier connection to the Arduino header.

Step 4: Connecting the LEDs to Arduino

  1. Connect the Green Wire (DATA) to the Arduino Digital 7 pin.
  2. Connect the Yellow wire (CLK) to the Arduino Digital 8 pin.
  3. Close the box and use one of the female connector to power the Arduino UNO.

Step 5: Programming

  1. Take your laptop and Fire up your Arduino IDE
  2. Connect the laptop via USB to the Arduino board
  3. Download the following program into the Arduino IDE and upload it to the board:

Step 6: Be Cheerful!

  1. Connect the 5V wall power supply to the box. Connect the TCL header to the TCL lights.
  2. Make sure you test the lights before you put them on the tree. The callsign is "MagicTree" just like in the video and the commands to control the tree are:
    • Goodnight
    • Make a Rainbow
    • Light Chase
    • Fireworks
    • Random
    • Slower
    • Faster
    • Red
    • Green
    • Blue
    • Longer
    • Shorter
    • Next mode
    • Freeze
    • Lets Go
      And, of course, there is nothing that prevents you from programming your own commands and have the tree react the way you want.
  3. Play around with different positions for MOVI as you want good audibility of your voice for the device.

    In case you do encounter some trouble, check the next step for some tips.

Step 7: Troubleshooting (only If Needed)

Here are some problems we encountered while building this project along with some ideas:

  • The Arduino/MOVI combination is not booting.
    Cause: The 5V wall power supply is probably not strong enough to power the LED string and the electronics. The Led string is drawing too much current and there is not enough voltage to power the Arduino/MOVI boards.
    Solution: Use separate supplies to power the Arduino/MOVI board and to power the LED string.
  • MOVI is not responding to voice commands.
    Cause: The enclosure is too tight and muffles the sound.
    Solution: Drill a hole in the enclosure above the internal microphone.

Also note that both Arduino as well as MOVI have quite active forums for questions.

Be the First to Share


    • Make It Modular: Student Design Challenge

      Make It Modular: Student Design Challenge
    • Fruits and Veggies Speed Challenge

      Fruits and Veggies Speed Challenge
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest



    5 years ago

    Cool project! Gotta take a look at that voice module. You know, any other languages supported?


    Reply 5 years ago

    MOVI supports all languages that have enough data on Voxforge.org (an open source speech data collection site) and that use roman letters. Right now that's only English, German and Spanish.


    5 years ago

    Couldn't you just buy a Clapper it would be cheap and easy, just saying


    Reply 5 years ago

    A clapper is just on and off. The voice control allows you to chose from a variety of light patterns and command things like "slower", "faster", etc...