Art and Technology are Friends

Posts tagged “PWM

Variations on Nixie Power Supply Design

Since I started tinkering with Nixie and other Neon tubes, I found the need for simple (read: inexpensive) high voltage power supply capable of generating over 170V from 5V DC.

After a bit of research I found that most of the high voltage power supply designs use boost converter driven by a PWM controller IC such as MC34063, with a high voltage MOSFET switching an inductor. (Here’s an example of the design.)
Those designs looked a bit overkill to me, so I started designing my own from scratch.

Since I’m familiar with transistor based blocking oscillator circuit to boost voltage (i.e. Joule Thief), I wanted to see if I can use a similar circuit. The switching transistor has to withstand the output voltage of 180V so I picked some high voltage transistors and experimented. Turned out that typical high voltage transistors (C-E breakdown of more than 200V) were too wimpy for the purpose, and the simple two transistor circuit that I was using was not capable of very high duty cycle demanded by high input/output voltage ratio (over 90%).

One way to reduce requirement for the boost converter is to add voltage multiplier at the output. I added a 3 stageĀ voltage multiplier to a circuit using pretty ordinary (inexpensive) transistors. This circuit was able to provide required voltage (about 170V) and up to around 3 to 4mA of driving current to medium sized Nixie like IN-12.

After building a couple of prototype Nixie clocks using this circuit, I found a very nice transistor capable of handling 100V and 1A current.

With this new transistor, I can now reduce the voltage multiplier stage to only one, since the boost circuit itself can produce up to 100V (ok, with safety margin, more like 90V). This circuit outperformed the prior version, producing about 8mA at 170V.

Super simple HVPS using only two transistors. 180V output capable.

Simple two transistor HVPS on a Nixie clock controller PCBA. (Inside yellow rectangle – fits in 12mm x 32mm)

While I was happy with this design – especially the size and cost – and built a couple of Nixie clocks and IN-13 Neon indicator tube projects with it, I still wanted to make it better (mostly wanted more power).

If I can find a transistor capable of withstanding over 200V with a reasonably low loss, I can forgo the voltage multiplier. However the only options that I can find were MOSFETs.

After checking the prices of high voltage MOSFETs such as IRF740, I concluded that it can be more cost effective if I can make it work, since I’ll be removing two diodes and capacitors from the voltage multiplier.

After a bit of experimentation, I got it to work! Here’s the MOSFET based circuit. Note that this design needs at least 9V of input voltage to work (due to the MOSFETs gate voltage). So for the 5V powered projects, I’d still use BJT based design.

Super simple HVPS using only two transistors. 240V output capable with 12V input.

This MOSFET based design is capable of delivering at least 50mA at 200V.

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. ***

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.

Aurora 9 bar

Since the introduction of Aurora 9×18, I received many requests for the kits and PCBs. I’m still quite undecided about making those available for a few reasons. However I really want other LED lovers (ok that sounds too much :) to be able to build one themselves.

So I came up with Aurora 9 bar. It’s a bare essential version of Aurora 9×18. In fact the circuit is almost exactly the same (with a lot less number of LEDs of course). Even the firmware is essentially the same. So it has the same super smooth color fades as Aurora 9×18.

You can now build Aurora 9 bar yourself! Details are at Instructables:

Aurora 9×18 on Instructables

Aurora 9×18 is now on Instructables! Which means you can learn how to build one of those yourself!×18-RGB-LED-art/

Aurora 9×18 Teaser Video

I thought it’s time for me to start putting some effort in creating better presentation of the work I do. Here are two versions of video that showcase Aurora 9×18.

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-mini is here

The same circuit posted before has made into a real unit.
Very smooth color changes (gamma-corrected 256 level PWM on each color/LED).

> Updated version is here.

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.


Sneak Peek

Here’s a sneak peek at the new creation. Those small (4 inch dia.) ones are created as teaser/samples of my other, larger objects.

Each has 144 white LEDs. 8 channel PWM to create smooth motion of lights. This microcontroller (PIC16F616) only has one 10 bit PWM module, however I’m combining the hardware PWM with software PWM to create very smooth (equivalent to 16 bit or more resolution) gradation.