Aurora 48 - 48 RGB LED Sequencer
Intro: Aurora 48 - 48 RGB LED Sequencer
Aurora 48 is a compact and thin profile full-color LED sequencer. It's built entirely with surface mount components, so the profile is nice and clean.
STEP 1: Features
- Capable of individually controlling 48 Full color LEDs.
- Each LED can be faded in 7 bit per channel - 2,097,152 colors.
- Gamma corrected brightness curve for very smooth fades.
- Simple, one button control.
- 11 sequence pattern (as of firmware version 1.0).
- Compact - 2.68 inch (68 mm) in diameter.
- Thin profile construction (0.137 inch (3.5 mm) thick).
- No leads sticking out on the back. Ideal for wearable projects.
- Firmware is easily upgradable via 5 pin ICSP connection.
STEP 2: Circuit
Aurora 48 is capable of individually controlling 48 Full color LEDs using a 40 pin microcontroller. The principle of operation is based on my other "Aurora"s. (see Aurora 9x18)
The circuit is relatively simple and straightforward. If you've seen other LED matrix type circuit, this should look familier.
In a nutshell, the 48 RGB LEDs are divided in two groups, connected in a 6:1 multiplex fashion, taking R, G, and B as bus lines, and common pin of each LED as column lines. There are two pairs of R/G/B buses. Since there are only 3 PWM outputs available on the controller used, I used a binary decoder IC to multiplex the PWM signal, to drive 6 bus lines. 3 pins are used to select one of the 6 buses, and 24 pins are used to control LEDs' common pins.
The controller activates one bus at a time, outputs a pulse to the LED that should be lit. The actual duration that a particular LED turns on is controlled by the PWM pulse that goes into the binary decoder, 74HC238. The controller sends PWM pulses as short as 62.5 ns to as long as 12,500 ns to control the brightness.
The circuit is relatively simple and straightforward. If you've seen other LED matrix type circuit, this should look familier.
In a nutshell, the 48 RGB LEDs are divided in two groups, connected in a 6:1 multiplex fashion, taking R, G, and B as bus lines, and common pin of each LED as column lines. There are two pairs of R/G/B buses. Since there are only 3 PWM outputs available on the controller used, I used a binary decoder IC to multiplex the PWM signal, to drive 6 bus lines. 3 pins are used to select one of the 6 buses, and 24 pins are used to control LEDs' common pins.
The controller activates one bus at a time, outputs a pulse to the LED that should be lit. The actual duration that a particular LED turns on is controlled by the PWM pulse that goes into the binary decoder, 74HC238. The controller sends PWM pulses as short as 62.5 ns to as long as 12,500 ns to control the brightness.
STEP 3: Parts & PCB
Here's the parts list.
- 24x 68 ohm (0603) (RC1-24)
- 6x 220 ohm (0603) (R1,3,5,7,9,11)
- 6x 1k ohm (0603) (R2,4,6,8,10,12)
- 2x 10k ohm (0603) (R13,14)
- 4x 0.1uF (0603)
- 2x 10uF (1206)
- 6x MMBT2222A
- 1x PIC24FV16KA304
- 1x 74HC238
- 48x PLCC4 RGB LED (common-anode)
- 1x Tactile Switch
STEP 4: Assembly
Assembly is very much straightforward, that is if you are familier with surface mount soldering. Please don't be discouraged - surface mount soldering is not difficult and can be done without special equipment. There are many instructables and YouTube how-to videos showing how to solder SMDs. With a little practice you can solder SMD very easily.
Since the PCB doesn't have silkscreen indicating the parts, use the part placement guide provided to locate the spots for the parts.
Start with the center of the PCB and move outwards - 74HC238 and PIC24FV16KA304 would be the first ones to solder. Be sure to apply good amount of flux to the parts to be soldered. Move on to resistors, capacitors, transistors.
The LEDs are in PLCC4 package, which can be a bit tricky. PLCC's have their leads tacked under the body (to make them smaller). They are a bit fragile against heat, so you need to solder quickly. (Again it's not that hard, but you want to be prepared) Solder the LEDs on the outer circle first, then inner. (Ok you might prefer doing it the opposite way, but I found this way to be easier)
The tactile switch would go on last.
The two holes near C1 connect to the power supply. You can solder a 2 pin header, or solder hook up wires directly to connect to your choice of 5V power supply. I used a right angle 2 pin header here and connected a USB power cable.
Check everything, and fix as needed.
Since the PCB doesn't have silkscreen indicating the parts, use the part placement guide provided to locate the spots for the parts.
Start with the center of the PCB and move outwards - 74HC238 and PIC24FV16KA304 would be the first ones to solder. Be sure to apply good amount of flux to the parts to be soldered. Move on to resistors, capacitors, transistors.
The LEDs are in PLCC4 package, which can be a bit tricky. PLCC's have their leads tacked under the body (to make them smaller). They are a bit fragile against heat, so you need to solder quickly. (Again it's not that hard, but you want to be prepared) Solder the LEDs on the outer circle first, then inner. (Ok you might prefer doing it the opposite way, but I found this way to be easier)
The tactile switch would go on last.
The two holes near C1 connect to the power supply. You can solder a 2 pin header, or solder hook up wires directly to connect to your choice of 5V power supply. I used a right angle 2 pin header here and connected a USB power cable.
Check everything, and fix as needed.
STEP 5: Programming
It's time to program the PIC microcontroller.
The 5 holes under the tactile switch are the ICSP connector. First stick in a 5 pin header into the ICSP connector of PICKit 2 or 3. The 6th pin should be left unused. Then stick those 5 pins into the back of Aurora 48 PCB. Align the dot on the PCB with the triangle on the PICKit - this is the MCLR pin. Hold it there and start programming. It typically takes 20 seconds or so to program*.
If you are using different programmer such as ICD, etc., simply route the 5 ICSP signals to the Aurora 48 using hookup wires.
* In case you are wondering, "programming" refers to "uploading" firmware to the microcontroller. It's just like copying a file to a flash drive. It doesn't mean that you have to write program code.
The 5 holes under the tactile switch are the ICSP connector. First stick in a 5 pin header into the ICSP connector of PICKit 2 or 3. The 6th pin should be left unused. Then stick those 5 pins into the back of Aurora 48 PCB. Align the dot on the PCB with the triangle on the PICKit - this is the MCLR pin. Hold it there and start programming. It typically takes 20 seconds or so to program*.
If you are using different programmer such as ICD, etc., simply route the 5 ICSP signals to the Aurora 48 using hookup wires.
* In case you are wondering, "programming" refers to "uploading" firmware to the microcontroller. It's just like copying a file to a flash drive. It doesn't mean that you have to write program code.
STEP 6: Enjoy!
Connect Aurora 48 to a power supply and enjoy the magical quality of lights those LEDs put out. Those little LEDs are still quite bright, and very cool.
A push of the button switch changes the sequence pattern, and holding it down for a second will turn off the power. Push it again to turn it on.
Aurora 48 kit as well as just the PCB are available at my website: www.theLEDart.com.
A push of the button switch changes the sequence pattern, and holding it down for a second will turn off the power. Push it again to turn it on.
Aurora 48 kit as well as just the PCB are available at my website: www.theLEDart.com.
45 Comments
stewii 7 years ago
Hi. Excellent work. Is it possible to have the source code please? I had a couple of dsPIC30F6014A sitting around and have build a modified version of this aurora. But I need the source codes to make the necessary changes. thanks in advanced. cheers
cuberdude 9 years ago
louison39 10 years ago
Hi,
I would like to know what software you use to make the schematic and the pcb.
ledartist 10 years ago
For PCB design I use Osmond (http://www.osmondpcb.com/).
JKPieGuy 10 years ago
altanore 10 years ago
jmarcinkowski 10 years ago
49percentGood 10 years ago
ledartist 10 years ago
Otherwise you can always get the kits from my website www.theLEDart.com!
Aki
49percentGood 10 years ago
ledartist 10 years ago
Aki
49percentGood 10 years ago
ledartist 10 years ago
I don't use Eagle nor know much about it (I use less known program called Osmond). I just use rotate tool to place LEDs and other parts in circular layout.
Shezi71 11 years ago
Can you please tell me what is the maximum source and sink current for your PIC microcontroller?
ledartist 11 years ago
tonyafga 11 years ago
vapid2323 11 years ago
ledartist 11 years ago
Flux can be cleaned with rubbing alcohol quite easily. I usually pour some alcohol and scrub a bit with an old toothbrush. Then wipe off.
It's ok for the switch to be wet a little bit.
Make sure to dry it throughly before powering it.
Aki
RobotGrrl 11 years ago
ledartist 11 years ago