GSM Controlled Star Light – A Galileo Project from the Team at Arduino
To kick off a festive mood, we decided to adapt a typical Scandinavian tradition. In December, many people will decorate their homes by hanging large paper stars inside their windows. The stars usually have a single bulb inside that casts a warm, welcoming glow.
We thought we’d try to make this tradition a bit more merry by making it interactive. By sending text messages, we will change the blink pattern and color of the star.
This project is a fun and easy introduction on how to use the Intel Galileo Gen 2 board and the Arduino GSM shield. After making this tutorial, try modifying the code to change the patterns or taking the functions to insert GSM connectivity into your own projects.
Here is a video of the completed project.
Here is a list of items you’ll need to make this project:
- Intel Galileo Gen 2
- GSM shield
- Arduino Prototype Shield
- 1 white flexible LED strip (63 LEDs)
- 1 blue flexible LED strip (63 LEDs) and accompanying wires
- ULN2803A-18 8x Darlington driver
- 1000 μF Capacitor
- Multistrand Wire
- LED Power Supply
- 2.1 mm DC jack to screw terminal adaptor
- Intel Galileo Gen 2 Power Supply
- Small zip ties
Here is a list of tools you may also use:
- Soldering iron
- Exacto knife
- Wire cutter/stripper
- Hot glue gun
Flexible LED strip
This project uses a very simple LED strip in which all the LEDs are connected and will turn on or off simultaneously. Note that these are not individually addressable LEDs.
The LEDs used in the project require 320 mA per meter and since Galileo only provides 10mA for each pin and 200mA overall output (https://communities.intel.com/docs/DOC-22475), an additional power source will be needed. Make sure to purchase the proper power supply - the LED strip’s datasheet should tell how much current it consumes.
The power supply used in the project has 12V and 2250mA max, which is pretty safe for this application. A 1000uF capacitor between power and ground will prevent sudden power spikes from damaging the LEDs.
Because there is an external power supply, a ULN2803A DIP-18 8x Darlington driver, which is a specific kind of transistor circuit, is needed to bridge between the microcontroller and power source. It is easy to use and one of its main application is powering LEDs.
For the ambitious who want to use addressable LEDs instead (such as Adafruit’s NeoPixels), look into this forum thread for inspiration: .
The Arduino GSM shield is capable of connecting an Arduino to the mobile network, sending/receiving SMS/phone calls, and surfing the web. It is a good solution for when simple communication is needed.
At the time of this writing, there is no official library support for GSM shield on the Intel Galileo Gen 2. Fortunately Telefonica has discovered a workaround. First, download at the bottom of the page the referenced workaround GSM library and place it in Intel’s modified Arduino IDE library folder.
Download the file, unzip it, and place it in [Your Arduino Installation for Galileo]/hardware/arduino/x86/libraries folder.
Note that [Your Arduino Installation for Galileo]/libraries folder does not work for Intel’s version of Arduino IDE (Arduino 1.5.3 - Intel 1.0.3). Also, do not put it in the usual sketch folder. This is to avoid it from appearing in the regular version of the Arduino IDE.
Lastly, connect digital pin 0 to digital pin 2, and digital pin 1 to digital pin 3, as instructed in the step-by-step.
Download the Arduino sketch used for lighting the star (at the bottom of the page).
Step-by-step instructions on how to make the GSM controlled star:
1. Cut out 7 sets of 9 white LEDs and 7 sets of colored wire.
a. Count out 9 white LEDs and cut at the indicated cutting mark - 7 sets.
b. Cut back waterproofing tube and rubber protector to expose copper pads
c. Cut a set of colored wires 30 cm long - 7 sets.
2. Solder colored wires to the white LEDs and connect the blue LEDs wires.
a. Melt beads of solder onto the copper pads.
b. Solder colored wires to the + and - terminals. (Hint: Keep the color pair consistent for the terminals).
c. Hot glue connection points on the LED to strengthen and avoid breakage.
d. Connect the molex wires to the blue LEDs.
3. Attach wires and mount the Darlington driver onto prototype shield.
a. Cut a length of red and black wire 50 cm long for the power source and strip off 3 cm - these wires will go to the power source.
b. Look at the schematic illustration to determine location of wires.
c. Insert the red power source wire through a hole and solder it.
d. Solder the + pole wires of each LED strip to the power row and connect to the power source red wire from underneath.
e. Repeat the previous step for the blue LED
f. Orient the Darlington driver according the the schematic and solder to the IC area of the prototype shield
g. Solder the - pole wires of each LED strip to the “output side”of the Darlington driver
h. Repeat the previous step for the blue LED
i. Cut 8 multi-colored wires (approximately 20 cm) and solder one end to the digital pins
j. Review the schematic illustration and then solder the other ends of the multi-colored wires to the “input side”pin of the Darlington driver accordingly.
k. Cut 1 short black wire (approximately 20 cm) and solder to the common GND of the Darlington driver to GND.
l. Solder the black power source wire to GND.
m. Cut 2 wires 20 cm long and then use them to solder together pin 0 to pin 2 and pin 1 to pin 3.
n. Noting the digital pins, label the white LED strips as follows:
i. Digital 13 = Label 1
ii. Digital 12 = Label 2
iii. Digital 11 = Label 3
iv. Digital 10 = Label 4
v. Digital 8 = Label 5
vi. Digital 6 = Label 6
vii. Digital 5 = Label 7
4. Connect the capacitor and the wires to the power supply
a. Make sure the voltage of the power source corresponds with that of the LED strips.
b. Attach the DC terminal adaptor to the power source.
c. Place the + and - poles of the capacitor into the corresponding hole in the adapter (Hint: The adaptor should be labeled).
d. Connect the power source wires to the adaptor by inserting the red wire into the + hole and the black wire.
e. Tighten the screws.
5. Mount the Intel Galileo Gen 2 board to the metal arm of the star and then mount the shields
a. Remove metal arm of the star and secure the Intel Galileo Gen 2 board using zip ties.
b. Attach the GSM shield and prototype shield.
c. Connect to the the power supply to the Galileo board.
6. Make loop of the blue LEDs
a. Loop of the blue LEDs and secure with zip ties.
b. Mount loosely to the metal arm.
7. Attach the LEDs to the star
a. Insert metal arm into star.
b. Peel off the backing of the 7 white LED strips and attach to the inner part of the arm - refer to the drawing for placement order.
c. Tighten the zip ties of the blue LED loop, making sure it is centered.
8. Program the and test the star
a. Go through the “Getting Started with Intel Galileo Gen 2”guide
b. Plug one end of the USB to the computer and the other to the Galileo board
c. Plug in the power supplies
d. Download the source code
e. Upload the program to Galileo board
f. Test the assembly by texting the following commands to the star:
i. cmd 1
A peacock pattern
ii. cmd 2
A radial pattern
iii. cmd 3
A random pattern
Turns off leds