One of the electronics maker’s "hello world" projects is converting an old desktop computer’s ATX power supply to a DC bench power supply. I’ve built 3 or 4 of these over the years, and I generally blow them up by shorting them when I’m testing a new circuit. They can take a little bit of abuse, but not very much. I’ve thought about lots of ways to create protection circuits to shut off if there’s too much current drawn (like in a short), but let’s be serious: I’m never going to build a really good power supply.

But I’ve kept trying, if only because good power supplies are $400+, and I’ve got a bunch of ATX stuff lying around. A few weeks ago, I decided to try again with parts I have on hand, including a breakout board that converts the ATX jacks into separate +5v, +3.3v, +12v, and -12v screw terminals. Each voltage has its own jack and on/off button, and the buttons drive relays so the power is isolated from the controls. The buttons light up when there’s power at that jack. Plus there’s a jack that can switch between 3.3, 5, and 12v, and it runs through an ina260 so I can monitor the true voltage and current. Nifty! I thought.

In the photo below, the power supply (the vertical plastic box) is connected to a constant load (I’ll write about this another time). What you need to know about a constant load is that I can set it to draw a fixed current, say 1000mA, no matter what the voltage is.

Here’s the thing: maybe the most important reason we build a constant load is to test power supplies. The idea is that if we tell a power supply to give us, say, 5v, it should give us 5v no matter how much current we try to draw (up to the supply’s capacity). This is what a good power supply would do, anyway. It turns out that ATX power supplies rather badly fail this requirement.

My constant current load runs the power it’s drawing through (yet another) ina260 board which is monitored by an arduino. I did this so that the constant current load can log the voltage and current (and some other stuff, like the temperature of the mosfet that’s burning off the power as heat); the log is written to the serial output through USB (you can see the USB glowing blue, I love cables that blink). From the data generated by the constant load’s cycling through a range of currents, I have created the graph below.

This is Not Good. We want the lines to be flat, that is, we want to see the same voltage at every current. These are not flat. For example, the 5v supply drops from 5.3v at no current to less than 4.5v at 3300mA. This power supply claims to be able to provide 10A at 5v, and nope, that’s just not true. While the proportional loss for 12v isn’t quite as bad, 3.3v is worse.

I think I need to stop messing around with these crappy ATX power supplies. I’ll just build a box with a bunch of jacks — and remember that the voltage is srsly unreliable.

I have a Siglent SPD1305X, and it’s great for one voltage, but I find myself needing several voltages at the same time. Furthermore, I sometimes need a negative voltage source. I guess I’ll start saving for a Siglent SPD3303. It can do all the power things.