Building a 12V DC UPS

2009-2013 Michael Knudsen.
$Date: 2019/02/25 14:24:05 $

I needed a UPS and since I needed it for a machine that runs on 7-18V DC, it would make sense to use one that outputs this to avoid lots of conversion losses (AC->DC->AC->DC). Having one that provides 12V (ca.) means that it could supply power (and thus provide backup) for other devices that need 12V -- e.g. my DSL CPE, my DECT base, and my Ethernet switch. Doing this would also mean that I would only have one AC->DC conversion which means saving power. Most importantly, though, it would be fun.

I decided to base it on the PicoUPS-100 from For the case I decided to use 16mm MDF plates, which turned out to be a bad idea. If I were to redo this project I would use 3.6mm plywood.

PicoUPS-100 note

A brief comment about the PicoUPS-100: It can run off 6-18V DC which at first seems pretty flexible. However, it can only charge the battery when supplied with at least 15V. While this may seem reasonable enough, the board does no conversion of its input voltage -- if input voltage is higher than battery voltage, it simply routes the input voltage directly to the UPS output. What this really means is that the devices you run off the UPS need to function with 15V, and they need to be able to handle voltage suddenly dropping to 12V as will happen when the UPS switches to battery power. This is somewhat unfortunate but not a complete showstopper. It does mean, though, that the UPS is only as flexible as the devices you connect to it.

It is possible to work around this problem by adding an extra converter step that regulates the UPS output to 12V but this is a horrible kludge for something that really should have been part of the PicoUPS design. I'm not sure I would have used this board if I had known this in advance, but since this information is hidden away in an old KB entry, I suppose this is something they're trying to hide.


I built the case out of a 12cm x 24cm base board with two holes in the top to hang the case from. The sides are 18cm x 6cm. For mounting the board, I drilled 2mm holes in the base board and inserted standard ATX mounting studs in them.

Here the board is mounted in the case. Notice how I managed to mess up the position of the lower right stud. The board has connectors for power supply, battery, and output power. The four wires to the left came with the UPS board -- the connectors are Faston connectors. Another pair of wires for the right connectors were also included with the board.

Here the case mounted connectors for the battery and power supply are shown; the left one is an XLR connector for the battery, the right one is a standard DC plug for power supply. I wanted to make sure that I used different connectors to not risk connecting things incorrectly. I decided to use a standard DC plug for the power supply since it's what most DC power supplies use (so I won't have to add a converter or change the plug). The battery is connected with the center pin connected to plus on the battery and ground connected to minus. This was a bad choice (explained later with a picture that clearly shows the issue), so I later changed it to use one of the two remaining pins, leaving ground on the XLR plug unconnected.

The yellow rectangle is a Polyswitch RGE 600 -- a fuse to limit the current from the battery in case something bad happens. Notice how I used heatshrink to hide all the ugly soldering I did. I just wish there was some way to hide the horrid way I ended up mounting the DC connector, though.

I had to make some sort of compromise between having long wires (that would get in the way) and having short wires (that would make dismantling the UPS a nightmare).

This looks much better than the inside. Notice that the XLR connector (for the battery) has a locking mechanism that will ensure that the battery stays plugged in. I couldn't find something similar for the DC plug, but I decided that, in case of trouble, I would add a locking mechanism based on duct tape.

Case with both female and male XLR connectors, and a ruler for scale (and to hold up the male connector).

The cable I made to connect the UPS and the battery. It's made from, I think, 2mm silicone cable with "cable shoes" to attach on the battery. Notice again how heatshrink makes everything look really good.

This picture shows pretty clearly that the XLR connections in the picture above was bad and needed to be changed. The middle of the three pins on the XLR connector is postive while the connector itself is negative. If the connector falls onto the cathode ("plus"), the wire will probably melt if the battery doesn't explode first. I was too lazy to take new pictures, but if anyone bases their own design on mine, they will only get bitten if they only look at the pictures, which is fine.

Here the UPS is being supplied with 16V DC by an old IBM Thinkpad PSU. The voltmeter is showing the voltage of the battery (ca. 13.5V, the float charge voltage meaning the battery is mostly fully charged). If you look carefully, you can see the green LED light on the UPS board just to the right above the middle capacitor. This indicates normal operation.

Here you can quite clearly see the red LED on the UPS board which means the system is running on battery power. The voltmeter shows 11.48V which is the voltage of the battery. At the bottom of the picture is a D-Link ethernet switch that is being powered by the UPS -- if you look carefully you can see the green LED at the front panel showing that it's on.


I still need to add output connectors for devices that will run off the UPS. I'm planning to use XLR connectors like for the battery but of a smaller size. For now, due to being lazy and really wanting to start using the UPS, I just connected my net4801 for now.

I also need to find a solution for the 15-to-12V behavior so I can hook up whatever I want to this UPS.

[1] This often means ``will never happen''.