This 3D-Printed Benchtop Power Supply Was Built Purely with Components Languishing in a Parts Bin
An upcycled ATX PSU becomes a two-channel variable-voltage adjustable-current power supply, complete with Arduino UNO-powered UI.
Maker J. Franklin has taken a shortcut to building a handy dual-channel variable-voltage power supply — by using a salvaged ATX PC power supply in a 3D-printed housing.
"In my drawers and bins of electrical kit left behind from my university days (and garbage picking) lies the potential for greatness," Franklin says of the project's inspiration and component source, "or at least some fun hobbyist projects. While rummaging through an E-Waste bin, a wild ATX Power Supply appeared! After knocking off some dust, it works! I have a couple of buck-boost modules hanging around and gathering dust. These and the stray ATX beckoned me to get the creative juices flowing. Anyways, I have been lacking a benchtop power supply…"
ATX is a standard for desktop and server power supplies, building on the earlier AT standard and providing specifically-wired connections so that any manufacturer's ATX-compliant power supply will happily connect to any other manufacturer's ATX-compliant motherboard — providing it's got the amperage to drive whatever you're powering, of course.
An ATX PSU isn't variable-voltage, though: it supplies a number of fixed-voltage power rails, often at high amperage. While it does most of the hard work in regulating an incoming AC feed to DC, it's not enough on its own to use as a benchtop power supply unless you're happy selecting from 3.3V, 5V, and 12V. The solution: variable-voltage buck-boost converters, capable of converting an incoming fixed-voltage DC supply into the output voltage of your choice. In Franklin's case, the choice was made by one key restriction in the project's specification: "electronics and materials must be things in my possession," the maker explains, "putting old stuff to good use."
The finished design powers a pair of buck-boost modules from the ATX power supply, with a user interface displayed on an I2C-connected LCD panel and driven by an Arduino UNO. Current sensing is provided by an Allegro MicroSystems ACS712 linear current sensor, providing feedback on the display as to the voltage and current of the two independent channels. Finally, relays provide the ability to power each channel on and off individually — while a chunky switch added at the back allows the entire power supply to be switched off without unplugging the mains cable.
The project is documented in full on Instructables, though at the time of writing Franklin had not shared source code or 3D print files. Anyone looking to follow in Franklin's footsteps is reminded to take care around mains voltage, and to be aware that 3D-printed chassis are not necessarily suitable electrical insulation.