Power Conversion Projects

The pages here describe a number of power conversion circuits that have practical value as well as providing an introduction to switch mode power conversion. All circuits are intended for use in a raw 12V dc battery power environment (i.e 11.5V-14.5V). The circuits converge towards finding efficient ways to manage a remote 12V power system that derives power from sources such as wind and solar, and using battery storage.

  1. MC34063 SPICE model and design aids. This chip is a very low cost and readily available SMPS controller for simple circuits.

  2. Buck non-synchronous dc-dc converter 12V to 6V with high side P-type MOSFET switch.

  3. Buck non-synchronous dc-dc converter 12V to 6V with high side N-type MOSFET switch and floating driver.

  4. Buck synchronous dc-dc converter 12V to 6V with high side P-type MOSFET switch and Atmel AVR microcontroller.

  5. Buck-Boost half H-bridge dc-dc converter with high side N-type MOSFET switch and Atmel AVR microcontroller.

  6. Buck-Boost full H-bridge dc-dc converter with high side P-type MOSFET switches and Atmel AVR microcontroller.

  7. Constant current LED Drivers.

Practical Notes

It has been noted in various publications that when working with switched power circuits, it is essential that well laid out printed circuit boards be used, with a great deal of care taken to minimize stray inductance and capacitances, to minimize the length of paths for current flows and to isolate sensitive control logic from the high current parts of the circuit. The aim of the circuits described here is to be able to explore some simple SMPS circuits without the expense and time delays of PCB manufacture.

The circuits described here have made use of pre-drilled prototyping board. PC boards will be made towards the end of the design process. If care is taken this type of board may work for low power designs and low frequencies. Tracks can be thickened for lower resistance by soldering lengths of wire across them, or heavy wire can be used in place of circuit tracks to carry large currents. Careful layout can minimize the length of these interconnections and avoid cross coupling. Some circuits can even be assembled for initial testing at low powers on plug-in prototype systems. Frequencies used in the projects described here are below 100kHz and testing is done at 5 to 10 watts.


For experimental purposes inductors can be scrounged from dead power supplies and other equipment. Old monitors are a rich source of these. The inductor saturation tester by Alan Yates has proved invaluable in measuring the maximum current before core saturation takes place and also whether the saturation is hard or soft. It will measure values around 10µH to 100µH with saturation currents from 1A to 10A, but the circuit could be modified to extend these ranges if necessary. This range is suitable for many of the circuits here using a switching frequency upward of 50kHz. A small number of inductor values are available from electronics distributors, although information about core properties is often not provided. A third option is to make up an inductor, and for this purpose cores can be purchased or scrounged inductors could be modified. This would of course be impractical for toroids if the number of windings is large. Some valuable advice is provided in this thread.


For SMPS work microprocessor control allows a great deal of flexibility. Most general purpose microcontrollers however require an amount of external supporting circuitry such as high speed A/D and D/A converters and feedback amplifiers depending on the circuit configuration.

STM ARM Cortex M3

The ARM Cortex M microcontrollers have a number of advantages for SMPS work, notably speed and a rich set of peripherals. The STM32 series have 12 bit A/D at 1MS/s, and 12 bit D/A converters which provide good dynamic range. The STM32F3 family also has built-in analogue comparators necessary for rapid response to current control events. They also have very richly featured timers with comprehensive PWM modes.

Atmel AVR

In some of the projects described here the Atmel AVR microcontrollers provide A/D conversion at only 8 bit resolution and a maximum rate of 70,000 samples per second, which is somewhat low for SMPS work. This is aggravated if only one A/D converter is present and several feedback signals are to be measured. In addition the sample and hold amplifiers have poor frequency response. Some of the AVR range provide useful PWM features such as deadtime control between complementary PWM output pairs, useful for driving synchronous switching circuits. The AVR microcontrollers however are well supported by open source software development tools, and programming the devices is very simple. The PDIP package formats allow for simple prototyping.

Microchips dsPIC

There are a number of microcontrollers specially designed for SMPS applications. Suitable choices for the more advanced SMPS projects include the Microchip dsPIC30F1010, dsPIC30F2020 and dsPIC30F2023. These have an on-board D/A converter attached to the analogue comparator, and 2 megasample per second A/D converters. Microchip has produced a very large range of devices providing a rich choice for any application. They also provide a development environment at no cost, having only some limitations on code optimization. The IDE is unfortunately not open source and is only available for Windows operating systems. However it will run under Linux (and presumably OS/X) using recent versions of Wine. Microchip's own device programmer only works under Windows, but open source programmers are available.

First created 5 August 2010

Last Modified 29 October 2015
© Ken Sarkies 2010