YAFLC (Yet Another Flickering LED Candle)

by Gadre in Circuits > LEDs

15561 Views, 23 Favorites, 0 Comments

YAFLC (Yet Another Flickering LED Candle)

cand1.JPG
cand2.JPG
There are numerous posts on Instructables about how to make a flickering LED candle. This is my version.

The project requires the following components:
1. Tiny45 AVR Microcontroller (Tiny13 would also do)
2. 1W Warm white (or yellow) LED
3. Perspex tube
4. AA or AAA size batteries- 4 (alkaline or NiMH)
5. PCB stock (or a general purpose veroboard)
6. Battery holders
7. 1/4W resistors 50 Ohm- 4 and 10K -1.
8. On/Off switch
9. Connecting wire
10. piece of wood for the base
11. masking tape

Tools:
1. Solder iron and solder
2. Hot glue gun
3. AVR ISP Programmer
4. screwdriver, files, drilling machine and suitable drilling bits.


The Circuit Diagram

flickering_candle_sch.JPG
flickering_candle_brd.JPG
led_board_layout.JPG
led_board_sch.JPG
The required circuit diagram for the candle is here. Also seen is the board layout. In the board layout, the blue tracks are handled as jumper wires. The complete circuit is split in two boards, one containing the controller and the has the 1-W LED. The two boards are arranged in a double-decker, circular PCBs. The idea is to have a smaller total diameter for the circuit. four 2-pin connectors are used to connect the controller board to the LED board. The fifth connector on the controller board is for the power supply.

Making the PCBs

cand_step1.JPG
I used Modela Milling machineModela Milling machine to mill and cut my boards. You can get these boards fabricated from commercial PCB manufacturers such as PCB ExpressPCB Express or you can even make them at home as described herehere.

Soldering the PCBs

cand_step2.JPG
cand_step3.JPG
cand_step4.JPG
cand_step5.JPG
I soldered all the components as seen in the photographs. By distributing the circuit on two boards, one for the controller and another for the LED is not only useful in reducing the diameter of the board but also to ensure that when the controller board is programmed through the ISP connector (by first disconnecting the LED board from the controller board), the LED does not load the ISP signals.

I soldered all the SMD components first, followed by the jumper wires and then the rest of the components.

Prepare the LED Board

cand_step6.JPG
After the LED board is soldered, I used hot glue gun to pour some glue on the LED. As the hot glue begins to cool, I draw the glue out as a sort of a 'wick'. The glue serves two purposes: it diffuses the light and the 'wick' gives a feel of a real candle.

Program the Controller

The code for the project is really very small. Code compiled with AVRGCC. The code was programmed into the controller through the ISP connector on the controller PCB.

/*Code for a flickering candle project*/
/*Connect a 1-W Yellow/Warm White LED on */
/*Pin 2 - PB3 <-- 50Ohm R --> LED Cathode*/
/*Pin 3 - PB4 <-- 50Ohm R --> LED Cathode*/
/*Pin 5 - PB0 <-- 50Ohm R --> LED Cathode*/
/*Pin 6 - PB1 <-- 50Ohm R --> LED Cathode*/
/*Pin 7 - PB2 <-- 50Ohm R --> LED Cathode*/
/*LED Anode to Vcc
/*Set max current to be 30 mA for each LED*/
/*LFSR Source: http://en.wikipedia.org/wiki/Linear_feedback_shift_register*/

#include<avr/io.h>
#include<avr/delay.h>
main()
{
unsigned long lfsr = 1;
unsigned char temp;
DDRB=255;

for(;;)
{
lfsr = (lfsr >> 1) (-(lfsr & 1u) & 0xd0000001u); /* taps 32 31 29 1 */
temp = (unsigned char) lfsr;

DDRB= ~temp;
PORTB = temp;

temp = (unsigned char) (lfsr >> 24);
_delay_loop_2(temp<<7);
}

}

Building the Enclosure

cand_step9.JPG
cand_step11.JPG
cand_step10.JPG
A 6-inch long, 2.2 inch wide perspex tube was chosen to enclose the candle. A wood pedestal was machined to mount the perspex tube. The controller PCB and the LED PCB was installed inside the tube on another 'holder' PCB which also has the On/Off switch.

Candle Pedestal

cand_step13.JPG
cand_step12.JPG
A wooden candle pedestal was machined. The two battery holders, each with 2 x 1.2V Eneloop ( :) ) batteries were mounted on the pedestal and held together with hot glue.

Wrap Up

cand1.JPG
cand2.JPG
Finally, the perspex tube was covered with yellow masking tape to hide the insides and also to give an illusion of a wax candle...maybe I will paint it later..

But this is how it stands now.

I enjoyed building the candle, hope you would too...