Hack-a-Gecko project by Anders and Marius
Introduction to Electronics through a Blinking X-Mas Tree
Marius G had an idea before Christmas for the last hacking event in 2012. The mission was to introduce as many as possible to the joy of soldering and electronics here at Energy Micro. When I heard his ideas about a blinking X-mas tree, I naturally decided to help him out! Even though the blinking x-mas tree electronic kit has been done countless times before, we decided to do an EFM32 version as well. After all, it is Christmas time and nothing is more suitable than blinking LED’s when it comes to learning electronics and soldering.
Christmas Tree Features
We quickly settled on a few criteria for the project.
- It should be easy to solder for people who have never soldered before.
- It should have blinking LED’s, preferably as many as possible.
- It should be battery powered.
- It should include some form of user input.
- It should include some awesome features that differentiate it from the rest of the blinking LED projects out there.
After some brainstorming we ended up with the following design ideas and features:
12 Bi-color LEDs for multiple colors. They should have a wide angle of emission to be visible from all directions.
Powered by two AAA-batteries. Should last at least through the Christmas holidays.
Capacitive touch button for user input and possible low power sleep mode when not in use.
Dual-PCB design to make the tree stand on its own, achieved by having two PCB’s mounted together perpendicular to each other. 6 bi-color LEDs are mounted on each PCB. We decided to use the EFM32TG222 device which can be soldered by hand since it is a QFP48 package.
An the interesting feature we included an IR-receiver which can receive signals from standard television remote controls. This can be used to trigger special blinking sequences remotely by a remote control. Place it next to your television and watch the tree light up when you turn on/off your television for example. If several trees are placed together, the IR-signal can be used to trigger individual trees or make the trees blink with special patterns synchronously. Definitely many possibilities for further improvements here.
Each bi-color LED actually contains two LEDs, one green and one red. The two LED’s are mounted in parallel, but with opposite polarity inside each physical LED package. This arrangement requires the MCU to be able to drive either side of the LED to a high or low voltage. Since we are driving these LED’s with an MCU, we decided to use a special driving scheme to save pins. This would greatly simplify the PCB layout. There exists a driving scheme called “charlieplexing” which we decided to use. (See this page for a description of charlieplexing) This arrangement takes advantage of the tri-stating possibility of a microcontroller pin to achieve more output states with fewer pins than what is possible if only driving outputs high or low.
We managed to design and order the PCB and components in time before the last hack-a-gecko event in 2012. Almost 40 people signed up for a tree, many without much soldering experience from before. During the hacking day and the next couple of days the soldering station was busy almost all the time. At the end we had quite a few happy Christmas tree owners:
Admittedly it is not straight forward to solder a 0.5mm pitch QFP device by hand without a bit of previous soldering experience. We had to help out with soldering the QFP package and the necessary decoupling capacitors for some of participants. But everyone who signed up for a tree, managed to solder the LED’s, battery connector and mounting the two halves together, Great Success.
Building your own X-mas Tree
Everyone is welcome to use our design to make their own X-mas tree. Also feel free to modify it as you see fit. At the end of this post I have included eagle design files, gerber files and software.
This picture shows all the components that the tree consist of, excluding the IR receiver.
Components in this picture:
- PCB #1 with EFM32
- PCB #2 only LED’s
- EFM32 TG222 device
- AAA Battery holder for two batteries
- Decoupling capacitors
- Bi-Color LED’s
This is a list of all the components needed. With Digikey part number.
1 EFM32TG222F32: Energy Micro sample program or 914-1029-2-ND
12 Bi-Color LED’s: 160-1058-ND
4 Battery holders: 82K-ND
4 100nF capacitor: 490-1524-1-ND
1 1uF capacitor: 490-1544-1-ND
1 10uF capacitor: 490-3896-1-ND
The PCB was designed with Eagle. A link to the EFM32 footprint used can be found here.
This Hack a Gecko project is a result of a “fun hacking session” and are provided as is, free of charge with no guarantees or support from Energy Micro, to partially or fully show and demonstrate EFM32 Gecko microcontroller capabilities. Get inspired, use at own risk, and build some awesome and cool applications.”
For technical questions about this project, please use our support forum. The Hack-a-Gecko team will answer your questions directly.