Art and Technology are Friends

LED Circuits

A60 Source Code Published

A60 Front View

After receiving many requests, I finally decided to publish/share the firmware source code of A60.

I was put off by the cheap clone made available, but I now think there can be something good in sharing the firmware, so that others might learn something from my code – not that my coding skill is that good, but the way you can use a simple MCU like a PIC24Fxx to directly control the individual brightness of 180 LEDs (60 x (R+G+B)) is pretty cool, because you can same money and space by not using PWM controller ICs.

You can find the code here:


Prototype PCB Giveaway!

As a part of developing new projects, I make PCBs for prototypes. I usually use OSH Park to have my prototype PCBs made. They are great – sophisticated web ordering page compete with full preview of the PCB design, which has helped me notice the errors before ordering. Low, no-gimmick pricing – just $5/sq. inch for a set of three PCBs.

Since I don’t always use all prototype PCBs, I have a few PCBs laying around. Some of them contain errors (that’s the point of prototyping, right?), but most of them (lucky for me) are perfectly functional.

So I want to give away those good prototype PCBs. The schematics and BOMs are provided on this site or instructables already, so you can gather parts and build them!

The qualification is simple – give me/my site a mention and a link on your web site, or if you have made any of my designs, put up a project at instructables (with pictures or/and video). Let me know what you did by either leaving a comment here or email, and I will send you a PCB. (Free shipping within USA only – sorry, international shipping will cost $5.)

I have more than a few good PCBs for the published and unpublished designs. Offer is limited to while PCBs last.


Aurora 48 Preview

Here’s the new project that I’ve been working on.

Aurora 48 has 48 full-color/RGB LEDs, each individually controlled. Each and every 48 LEDs has 7 bit per channel = 2,097,152 possible colors. Like other Auroras brightness curve is gamma corrected so the fades are very smooth.

Using all SMT components, Aurora 48 is compact and low profile. 2.68 inch (68 mm) in diameter and only 0.137 inch (3.5 mm) thick.

Aurora 48 inherits most of its circuit from other Auroras before it. The controller is PIC24FV16KA304 (same as Aurora 18×18), however doubling the RGB bus by the help of a binary decoder chip (74HC238).

- Schematic-rev3a mention of JT Blinker

Mr. Watson of blog wrote about the LED blinker circuit using Joule Thief. I’ve sent him a PCB of my prototype, named JT Blinker – multivibrator and Joule Thief combined to blink LEDs with one 1.5V battery.

He had designed a similar circuit years ago, and has some insights about this type of circuits…

> read the article at Rustybolt

USB Blinky!

USB Blinky in action

Every now and then, I feel like designing something really simple and basic. Blinkies are my go to circuit for the simple LED joy. Just ten parts and the two LEDs blink back & forth…
However I always find powering the circuit a bit of pain – if I use battery, I’d have to change the battery all the time. But using an AC adaptor is kind of messy. Then I realize that USB ports are everywhere – on my computer, on the side of my keyboard, phone chargers, etc. Being able to just plug a blinky into any of USB ports around would be fun.

So here it is, USB Blinky. I used thicker PCB material so that the PCB will fit into USB port nicely making the simplest possible USB plug.

USB Blinky schematic

- view detailed technical info and assembly instructions @ instructables

- purchase USB Blinky

Wave JT – LED chaser with Joule Thief

Wave JT is a multi-function LED chaser/scanner/sequencer. Wave JT incorporates Joule Thief to power the LEDs, so it operates on just a single AA battery.
Wave JT has over 16 sequence patterns, and speed can be adjusted by double/triple tapping the button. It’s the most compact yet versatile LED chaser.

Sequence patterns include many variation of the classic “Larson Scanner” from “Knight Rider”, random sparks, fade in/out, flashing, etc.

Even though there is only one button switch on Wave JT, you can control many things with it.

> Purchase Wave JT kit or PCB

Poorman’s Buck Schematic and BOM

Here are the schematic and the BOM (Bill Of Material) for the Poorman’s Buck LED driver.

Poormans_Buck_schematic-rev2a (PDF)


  • 1 or 2x 1 ohm 1W – R10, R11 (use only one to get 350mA, or 500mA (with R2=2.7k) output current)
  • 1x 10 ohm – R8
  • 2x 1k ohm – R3, R9
  • 3x 4.7k ohm – R1, R4, R7
  • 3x 10k ohm – R2, R5, R6 (change R2 to 2.7k ohm to get 1A output current)
  • 1x 10k ohm Potentiometer – VR1
  • 1x 22pF – C5 (optional)
  • 2x 0.1uF – C2, C3 (optional)
  • 1x 2.2uF – C1
  • 1x 100uF / 35V – C4
  • 1x 47-100uH / 1.2A – L1
  • 1x GPN (5551, 2222, 3904, etc.) – Q1
  • 1x GPP (5401, 2907, 3906, etc.) – Q2
  • 1x P-ch MOSFET (NTD2955 or IRFU9024) – Q3
  • 2x 1N4148 – D1, D2
  • 1x SB140 – D3
  • 1x LM393 – IC1

For more information including assembly instructions, please view my instructables.

- You can purchase Poorman’s Buck Kit here.

Poorman’s Buck – High Power LED driver

Poorman’s Buck is a simple, constant-current high power LED driver capable of driving 350mA to 1A of output current. It is compact (footprint is 1 x 1.5 inches) and easy to build, yet very versatile.

Input power supply voltage can be anywhere between 5 to 20V (must be higher than the connected LED’s forward voltage drop). Up to 5 LEDs can be connected in series, and by parallel connecting the series connected LEDs, up to 18W total of LEDs can be driven (with 20V power supply).

Output current is configurable; 350mA, 700mA, or 1A using included parts. In board potentiometer can lower the output current down to about 9% level – which can be used as a dimmer. Full dimming control can also be done via the PWM input, making Poorman’s Buck a perfect building block for Arduino or other microcontroller projects.

For technical details please view my instructables.

You can purchase full kits or just the PCBs. Please use the buttons below to purchase.

*** Poorman’s Buck Kits and PCBs are sold out and discontinued. ***

Aurora 9×18 mk2 & 18×18 Technical Info

Here are some technical information on the new Aurora 9×18 mk2 and Aurora 18×18.

Aurora 9×18 mk2

Assembly Details

Will be posted on Instructables ( Meanwhile please view my Instructables for Aurora 9×18.


Parts List

  • 4x 47 ohm (0603)
  • 162x 150 ohm (0603)
  • 9x 220 ohm (0603)
  • 13x 1k ohm (0603)
  • 4x 10k ohm (0603)
  • 2x 0.1uF (0603)
  • 2x 10uF (1206)
  • 1x 22uF (1210)
  • 3x DMP3098L (P-ch MOSFET)
  • 9x MMBT2222A (NPN transistor)
  • 1x PIC24FV16KA301
  • 1x GP1UX311QS or equivalent (IR remote receiver)
  • 1x Tactile Switch
  • 162x Tricolor LED (common-cathode)


Aurora 18×18

Assembly Details

View my Instructables


Parts List

  • 4x 47 ohm (0603)
  • 324x 150 ohm (0603)
  • 18x 220 ohm (0603)
  • 21x 1k ohm (0603)
  • 4x 10k ohm (0603)
  • 3x 0.1uF (0603)
  • 2x 10uF (1206)
  • 1x 47uF (1210)
  • 3x DMP3098L (P-ch MOSFET)
  • 18x MMBT2222A (NPN transistor)
  • 1x PIC24FV16KA304
  • 1x GP1UX311QS or equivalent (IR remote receiver)
  • 1x Tactile Switch
  • 324x Tricolor LED (common-cathode)



“Colour Night Joule Thief” LED Mood Light

Detailed information including building instructions:

Universal High-Power LED Driver Kit & PCB

Universal High-Power LED Driver is a PIC microcontroller based switch-mode LED driver. This driver can boost or reduce the supply voltage to drive wide range of high power LEDs efficiently.

You can find the detailed information here:

*** Sorry, this product has been SOLD OUT and retired. ***

* If you live in Australia, you can purchase this kit from LED Sales.

Universal High-Power LED Driver

For the last 4 months, I’ve been working on “practical” side of things, and finally released this.
It’s a “universal” LED driver that supply constant current to high power (1 – 3W) LEDs. With remote controllable dimming and up to 3A of peak output current makes this a “one size fits all” kind of driver for many of your LED lighting projects.

Detailed information is posted at instructables. (

“Joule Thief” LED Night Light

“Joule Thief” circuit is an inductor based voltage booster circuit to light LEDs with low supply voltage. The circuit was published in 1999 and has been quite popular. You can see the principle of the circuit here:

My version is a variation that uses single coil inductor, to make the inductor easily obtainable. I design the circuit using readily available parts only, to make it an ideal DIY project.

Please see the full article on Instructables (

Purchase here.

Aurora 9×18 assembled

Just finished assembling Aurora 9×18. Based on the prototype aurora 9, this unit has 18 tri-color LEDs in each of 9 circles.
Because of the number of components (162 LEDs), assembly was quite a chore. Tri-color LED has pins that are close together, very narrow for a through-hole component. Solder bridging can happen very easily. (I’ve been soldering for over 30 years now, and thought I had good enough skill to get through the soldering, but I had a bit of a struggle…)

Now it’s done, and the hard work is worth it. It’s beautiful… LEDs are controlled in 9 groups of 18 each. Each group of LEDs are forming a circle. Each RGB component is controlled by PWM, with effective resolution of about 13 bits.

The colors produced by those LEDs are beautiful, the transitions between colors are smooth. To me this is fascinating…

Here’s the schematic if you are interested.
Aurora 9x18 Schematic

Aurora 18 prototype

New project using RGB/tricolor LEDs. Tricolor means triple the number of LEDs to control – more load on the processor. I decided to move up to 16 bit PIC, 24F series for the increased processing speed (MIPS) and memory. 16 MIPS and 4 KB of RAM and still had to resort to multiplexing RGB channels. 18 LEDs color/brightness individually controlled in gamma-corrected 8 bit levels (equivalent to about 14 bit linear PWM).

Countless software tweaks later I’m getting 200 Hz refresh rate. Hard to tell from the video, but the fades are truly smooth.


Two LED Blinky