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.