The programmable bench power supply project was an attempt to create reliable, modular, open and programmable power supply. It’s also replicable at home and can be used for various tasks starting with powering breadboard, charge (or to some extent discharge) batteries of various types and sizes or use as a tool in school/educational and science experiments. It can be even used as a building block in the Automatic Test Equipment (ATE) environment. Here and in accompanying articles and documents a shorter form PSU (from Power Supply Unit) will be used for the sake of simplicity.

Building a power supply is a popular between electronic hobbyists and DIYers that wants to get some experience and it’s often chosen or recommended as the first project that one should made. That is logical since in principle it’s very simple and also represents important electronic benchtop instrument. In general such designs is very simple and they are openly shared and discussed on various sites on the Internet. There is also many commercial devices that comes from many sides, different capabilities and feature lists. They promises a long term reliability, precision, support, etc. Their design could be very complex and difficult to replicate because and can include many trade secrets that made some manufacturers famous.

As in many other examples a huge gap exists between hobbyists and commercial solutions and this project is aimed to bridge that gap by offering the most attractive ingredients from the both side. Hopefully this and other projects with the same aim will be recognized as interesting approach that could be beneficial for all parties.


Lets briefly describe key features mentioned at the beginning that was used as guidelines during the design process:


A PSU is a “sourcing device” that could be used for powering various loads/devices. Some of them are very tolerant to applied voltage and current even for longer period of time (i.e. power resistors/heaters, batteries in general with exception of Li-Ion, etc.). But many loads that include active components (semiconductors) are in general sensitive to applied max. voltage or current. Therefore the PSU has to be designed in the way that no dangerous oscillation in voltage or current is present over the long period of deployment. That includes border case of turning the PSU on and off, applying or disconnecting load, etc. Many times a device could cost more (or is harder to obtain) then PSU to what it is connected. Long term stability of the PSU output has to be backed up with some form of protection mechanism if connected load is prone to various failures (e.g. testing a batch of newly manufactured devices when one or more components is wrongly assembled or damaged). Common type of protections are over-voltage (OVP) and over-current (OCP) protections has to be deployed in some form.

Another aspect of reliability is addressing the PSU alone. It can do the best to reliably power connected load but jeopardizing its own “health” (e.g. compromising SOA). In the first place that means overheating that could results in the unrecoverable damage of active components (i.e. power mosfet). A over-temperature protection (OTP) that can be combined with over-power protection (OPP) is required for efficient protection. It is advisable that PSU is also equipped with some form of its input (AC mains) and output from high transients and reverse polarity.


Modular design means that the PSU could be build by combining various building blocks to achieve required performance and capacity. One of more of them could be over the time completely replaced with better or more capable module without necessarily retire the rest (i.e. power transformer, local control panel, enclosure, etc.). We believe that real benefit of modular approach is also simpler, or step-by-step assembly of the whole PSU that could be attractive for DIY builders who decide to follow this project. In practice that mean that one can assembly and test only the pre-regulator board, then continue with post-regulator board, multiply that by two if dual channel is needed and have functional solution that can be “manually” controlled (i.e. by using multi-turn potentiometers and switches). When analog stage is completed, one can continue with digital control board and auxiliary power supply board required for isolated powering of the mentioned control board. Another possible scenario is that one use only digital part of this project for controlling some other analog power supply circuit.

A possible disadvantage of modular approach become visible if mass production is desired. Assembling a PSU with e.g. six PCB could be more expensive than with only one or two. If something like that is ever happen it shouldn’t be a problem to merge proven modules into bigger one.


The term programmable power supply could have many means and faces. In the DIY and non-commercial area that means usage of some popular MCU (i.e. PIC or AVR family) equipped with some sort of LCD display (2 x 16 character display, 128 x 64 graphic display, etc.) and keypad (e.g. 4 to 16 keys). A built-in MCU ADC and PWM (as a DAC) capability is then used for programming and monitoring PSU’s voltage and current control loops. Software/firmware is due to lack of hardware or human (programmer’s) resources rather simple, and in many cases it is not more then sort of “Hello World!” for PSU application. Important features such as calibration and various type of protections or less important like simple arbitrary waveform generation, remote control using 3rd party controller software is not implemented. Limits of such approach could be reached pretty soon in everyday exploitation that existing hardware and/or software part needs upgrade. When that is not possible a complete redesign of hardware and rewriting of controlling software will follow. Our aim is to provide software that is feature rich and flexible enough to be modified and upgraded in a way not only to follow improvement of this PSU power management part (pre-regulation, post-regulation, protection circuits, etc.) but to be used with other solutions regardless of their complexity.

Having digitally controlled power supply also opens some new possibilities beyond primary purpose of providing a constant voltage output. It can be used for example as a test platform for experimenting with battery charging algorithms for quick charge, MPPT, etc. Many valuable electrical measurements that correlated with the used software parameters could be collected in that way and then use for building a specialized device.


Openness of both hardware and software of the feature rich design is a strong point of this project. The commercial devices could be well equipped with hardware and software features but leaving user no possibility to intervene especially on the software/firmware side regardless if the reason for intervention is an obvious bug that manufacturer do not want to confirm/accept (using “It's not a bug, it's a feature” excuse) or it’s not scheduled to be fixed soon or it’s a new feature that is required in the operation. Having open hardware design (that includes schematics and PCB layout) could helps one to understand a source of possible undesired habits that could be improved, allows simpler servicing if the PSU is damaged for some reason, and use it as a basis for major redesign that still will take care of some electrical and software compatibility for whatever reason.


There is many possible track that one can follow today to build an electronic device. Semiconductor and related industries offers each and every day more attractive items and approaches. Due to complexity and level of miniaturization they also puts many new barriers that one in home lab environment cannot easily overcome. A good balance between performance, form-factor and accessibility of selected components and technologies is required that end product is attractive with its features but also replicable at home. For example as a basic requirement a SMT over THT can be selected but that still does not mean that selected parts should require reflow soldering instead of soldering iron (will small assistance of magnified glass :).




Joomla templates by a4joomla