Introduction: GSM Controlled Star Light
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. Happy Holidays!
Here is a video of the completed project.
This tutorial was originally published on Intel Communities here.
Step 1: Needed Components
Here is a list of components you’ll need to make this project:
- Intel Galileo Gen 2
- Arduino GSM shield
- Arduino Protype 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 WireLED Power Supply
- 2.1 mm DC jack to screw terminal adaptor
- Intel Galileo Gen 2 Power Supply
- Small zip ties
Step 2: Needed Tools
Here is a list of tools you’ll need to make this project:
- Soldering iron
- Exacto knife
- Wire cutter/stripper
- Hot glue gun
Step 3: 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, 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.
Step 4: GSM Shield
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.
A working SIM card with a valid number is needed - check with local network providers to see there is a cash SIM or good plan. Look at the Arduino GSM page for more detailed information.
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 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.
Step 5: Arduino Sketch
Download the Arduino sketch used for lighting the star.
Step 6: Cut Out 7 Sets of 9 White LEDs and 7 Sets of Colored Wire
- Count out 9 white LEDs and cut at the indicated cutting mark - 7 sets.
- Cut back waterproofing tube and rubber protector to expose copper pads
- Cut a set of colored wires 30 cm long - 7 sets.
Step 7: Solder Colored Wires to the White LEDs and Connect the Blue LEDs Wires
- Melt beads of solder onto the copper pads
- Solder colored wires to the + and - terminals. (Hint: Keep the color pair consistent for the terminals)
- Hot glue connection points on the LED to strengthen and avoid breakage
- Connect the molex wires to the blue LEDs
Step 8: Attach Wires and Mount the Darlington Driver Onto Prototype Shield
- 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
- Look at the schematic illustration to determine location of wires
- Insert the red power source wire through a hole and solder it
- Solder the + pole wires of each LED strip to the power row and connect to the power source red wire from underneath
- Repeat the previous step for the blue LED
- Orient the Darlington driver according the the schematic and solder to the IC area of the prototype shield
- Solder the - pole wires of each LED strip to the “output side”of the Darlington driver
- Repeat the previous step for the blue LED
- Cut 8 multi-colored wires (approximately 20 cm) and solder one end to the digital pins
- 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
- Cut 1 short black wire (approximately 20 cm) and solder to the common GND of the Darlington driver to GND.
- Solder the black power source wire to GND
- Cut 2 wires 20 cm long and then use them to solder together pin 0 to pin 2 and pin 1 to pin 3
- Noting the digital pins, label the white LED strips as follows:
- Digital 13 = Label 1
- Digital 5 = Label 7
- Digital 6 = Label 6
- Digital 8 = Label 5
- Digital 10 = Label 4
- Digital 11 = Label 3
- Digital 12 = Label 2
Step 9: Connect the Capacitor and the Wires to the Power Supply
- Make sure the voltage of the power source corresponds with that of the LED strips
- Attach the DC terminal adaptor to the power source
- Place the + and - poles of the capacitor into the corresponding hole in the adapter (Hint: The adaptor should be labeled)
- Connect the power source wires to the adaptor by inserting the red wire into the + hole and the black wire
- Tighten the screws
Step 10: Mount the Intel Galileo Gen 2 Board to the Metal Arm of the Star and Then Mount the Shields
- Remove metal arm of the star and secure the Intel Galileo Gen 2 board using zip ties
- Attach the GSM shield and prototype shield.
- Connect to the the power supply to the Galileo board
Step 11: Make Loop of the Blue LEDs
- Loop of the blue LEDs and secure with zip ties
- Mount loosely to the metal arm
Step 12: Attach the LEDs to the Star
- Insert metal arm into star
- 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
- Tighten the zip ties of the blue LED loop, making sure it is centred
Step 13: Program the and Test the Star
- Go through the Getting Started with Intel Galileo Gen 2 guide
Plug one end of the USB to the computer and the other to the Galileo board
- Plug in the power supplies
- Upload the downloaded code to Galileo board
- Test the assembly by texting the following commands to the star:
- cmd 1 A peacock pattern
- cmd 2 A radial pattern
- cmd 3 A random pattern
- stop Turns off leds