Introduction: USB-C Powered Bench Power Supply

About: Hey everyone! My name is Brian and thanks for checking my Instructables. I'm a software developer by trade but I've recently gotten into Arduino development after discovering the esp8266 chip, a WiFi enable…

A bench power supply is an essential tool to have when working with electronics, being able to set the exact voltage your project needs and also being able to limit the current for when things go to plan really useful.

This is my Portable USB-C Powered Bench Power Supply, a surprisingly capable bench supply that is powered using USB-C Power Delivery.

This is a really simple build that should only take a couple of hours to make and the best part, it cost less than $12 including shipping!


Step 1: Watch the Video

The video goes goes over the same information that I show in the Instructables, but it might be easier to see how the power supply looks and works using the video.

Step 2: USB-C Power Delivery

If you are unfamiliar with USB-C Power delivery, I thought I would give a brief intro to what it is. (feel free to skip)

USB-C Power Delivery, or PD, is a USB-C standard that can be used to supply up to 100W of power. More and more devices are powered by PD these days, such as a Nintendo Switch and Apple Macbooks. Not all chargers that power USB-C devices are PD Power Supplies though, they usually specifically state on them if they support PD.

I think USB-C PD is often misunderstood. While it does support various different voltages, you can’t set a specific voltage with PD, It is limited to 5 different voltage levels:

  • 5V
  • 9V
  • 12V (technically not part of the standard anymore, but some supplies still support it)
  • 15V
  • 20V

Even at that not all supplies can provide all of these. For example Mac chargers only support 5, 9 and 20V.

The device being powered by PD negotiates with the Power Supply to take the voltage level that suits it best. But with a bench supply you usually want to have exact control over the voltage and also you want to be able to limit the current, something you can’t do with a PD supply. While PD can take a Power supply's current capability into consideration when negotiating with the supply, but it does not limit the current in any way, it’s a check that the supply will be able to provide the current the device needs. But with this build you can get the convenience of being able to use a PD power source, even a compatible battery bank, with the features you’d expect from a more typical Power supply, including being able to boost to higher voltages that PD normally supports.

Step 3: Components for the Build

USB-C PD Decoy Module

The first thing you’ll need for this build is a way of negotiating with an USB-C PD Power supply. As mentioned previously, the device that is being powered normally negotiates with the charger to decide which voltage to take from the PSU, what we need is something to do this for us.

There are several options for doing this. I made a video looking at some of them if you want to check it out.

Each have their own advantages but the one I picked for this build is this one based on the IP2721 IC, which is the same one I use on my TS100 Flex-C-Friend.

It’s a good choice because:

  • it is cheap, it only costs $2 delivered.
  • It’s behavior is well suited for this project. The IP2721 can be configured to effectively take the highest voltage that the PSU offers, which is good for this use case. (Just make sure to switch the module to “HIGH”)

Power Supply Module

The main part of this project is the ZK-4KX Buck-Boost module. This contains the display and the controls for using the power supply. This module will allow us to convert the voltage we get from the PD supply to whatever we require, even including higher voltages.

These types of modules are not new, but they are more typically seen in projects such as converting old PC power supplies into Bench supplies.

The ZK-4KX is the cheapest one of these types of modules I came across, I only paid $7.50 including delivery for mine, and while it does feel fairly cheap I was actually quite surprised at the features it had. It can output between 0 and 30V (even if the input is less than 30V) and can provide up to 3A (4A with a fan). There is an overall power limit of 35W (50W with a fan) that I will talk about in a later step.

The more expensive ones have different interfaces and also support higher power, but remember you will still be limited by the amount of power you PD supply can provide.

Other Parts of the Build

The final things I used were a couple of Banana jack sockets, which would typically be what is used for bench power supply, so it will work with standard cables and then finally a switch for easily being able to shut the voltage off to the ZK-4KX. For both the sockets and the switch, make sure you get ones that handle the current that you will be using with this supply, some of the cheaper ones will not be able to do enough. You will also need wire, Stranded 22 AWG is what I used.

Other Required Parts

To actually make use of the Bench Power Supply you will need some additional things.

A PD Capable USB-C Power Supply. Basically any PD supply should do.Some leads to be able connect the Power Supply to your projects.

Step 4: Enclosure

For a case to house everything, I ended up modifying one I found on Thingiverse.

I used Tinkercad to modify to suit the parts I had for the build and to add some ventilation for the base, and you can find the STL's for it here.

You don’t need to use a 3d printer though, any large enough box should do the job.

There are some things you could do to potentially improve the build, and I’ll talk about them in a later step.

Step 5: Assembly

After printing the case and making sure everything fit ok, it was now time for assembly, which is actually really straight forward.

The output of the PSU module should be connected directly to the two Banana jack sockets

I connect Ground from the IP2721 module directly to the “IN -” terminal of the PSU module. VCC of the IP2721 is first connected to the switch, and then the other pin of the switch is connected to the “IN +” terminal of the PSU module.

I used crimping tools to add ferrules and connectors to the wires for a secure connection, but I guess you could use some solder, but just be careful that you don’t melt any plastic of the jacks or the switch. For the IP2721 Module I also added a screw terminal, it’s just a standard 5mm one. It’s also recommended you do not solder wire before using them with a screw terminal.

I used some hot glue to hold the IP2721 module in place, and also added a dab to the ZK-4KX as it was a tiny bit loose. And that’s the build completed!

Step 6: Initial Configuration

Before you start using the supply, there are some things you should configure, but these will be saved on the PSU module so you’ll only have to do them once.

To enter into configuration mode, click and hold the “UI” button til the screen changes. To navigate the configuration menu options, you click the “SW” button. The full range of options are listed in the modules description but I will just cover the ones I feel are most important.

First thing I recommend doing is to change the default behavior for when you power it on, it inexplicably enables the output automatically by default, I can’t see why anyone would want this, but thankfully it is configurable.

On the “OPEN” config option, click and hold the encoder wheel in, til the option changes to OFF.

Next we want to set an overall power limit to the module, this is especially useful if your PD supply is a lower wattage one as it will stop the PSU module taking more power than the PD supply has.

On the “OPP” option set the wattage accordingly using the rotary encoder. Pressing in the encoder will change the digit you are changing.

One really important thing about this is that the power limit you are setting seems to apply to the output power of the module, not the input. A certain amount of power is used by the module when converting the voltages, this particular one claims to be 88% efficient, meaning in order to supply 10W of power on the output it may need to use up to 11.5W on the input. I’m not sure how much I would trust that figure, so I think you would be best off limiting this to 80% of what your supply is capable of.

It is also mentioned in the product page that 35W is the most the module can do with “natural heat dissipation” , or in other words, without a fan.

After that I think it’s worth lowering the temperature that the module will cut off at, by default it is 110c, which seems a little cozy to me. On the “OTP” option (although the "t" looks more like a "r" to me) you can change the temperature limit here using the rotary encoder. I set mine to 80c, which is the minimum.

To exit the configuration menu, click and hold the UI button again.

Step 7: Basic Operation

Next let’s take a look at how to use it. The main thing you will want to do with a Power supply is to set the voltage and the current limit. To do this, you press the “UI” button once. The first thing you configure is the voltage, which is the same controls with the rotary encoder as before.
To move to setting the current, just press the “UI” button again and use the rotary encoder as before. To exit this menu, press the “UI” button again, or alternatively it will time out after a few seconds.

Back at the main menu, to enable the output, press in the rotary encoder. While the output is enabled, you can make adjustments to the voltage by rotating the encoder, but I would use this for only minor adjustments as it’s quite slow.

To change what is displayed on the screen, you can single press the “SW” button to change the bottom row to either Amps, Watts, Amp hours or the enabled time.

To change the top row, you have to press and hold the “SW” button and you can change between Voltage out, Voltage In and temperature.

Step 8: Is It Any Good?

Good Question!

It’s certainly better than I originally expected it to be when I bought the stuff for it. Paired with a PD power bank this is a really compact solution that you can use anywhere.

The interface is.... just Ok. Given the type of display it is I’m not sure how else it could be handled, but I often forget which button does what and the flashing character indicating which what digit you are changing makes it feel quite unresponsive

The voltage accuracy is pretty good, although it does drop slightly under heavier loads though, nothing too crazy, but it is worse than my Tenma power supply.

The over current protection does kick-in when you expect it to, although it does output some voltage in this state, which I wasn’t expecting, but the Tenma does this too.

As for ripple, don’t worry, according to the listing it has low ripple (........ I don’t have a scope)

Step 9: What Would I Improve?

If I was building this project again I would consider a few changes.

First, the 3d case could definitely be improved. The modified version I made is ok, but I’m no 3d designer! T

he main issue is the lazy job I did for a place to put the IP2721 module, it’s not even close to being a good fit, I just made sure it was big enough to not be a problem and I let hot glue fix all problems from there.

You’ll also notice that I have stickers indicating positive and negative, when I was modding the case I didn’t think I would need those indications because I thought the colour of the jacks would be enough, but that is not the case, more about that in a minute.

Also, it would be nice if the base of the case was press-fit into the rest of it, the current design is for M2.5 bolts, but I don't have any long enough. It currently stays in place just out of friction, but that might not be the same for all printers.

The banana jacks I got are nice quality, but I think you might be better off going for ones similar in style to the ones on the Tenma, because if you get a cable that is shrouded like these ones, you have to screw off the plastic cover. And this is why I need to mark which one is which!

I’m not sure if the switch is really all that useful, the IP2721 module would still be powered, which isn’t a big deal but you’ll probably just plug out the bench supply when you are done with it anyways.

And finally, to increase the power you can put through the module, you would have to find a way of integrating a fan, both into the case design and find a way of powering it (maybe a separate buck convertor.)

Step 10: Final Thoughts

I think this is a useful device to have, it was cheap to buy the parts for and it was quick to put together , ignoring the time it takes to print the case, you could easily have this built in an hour.

So I think if you have a PD power source already and you want to get an inexpensive Bench power supply, I think this is actually a pretty good option.

I would be interested in hearing other people’s thoughts on it though. A good place to do that is on my discord, you’ll find plenty of helpful makers there.

I’d also like to give a huge thanks to my Github Sponsors for helping to support me and the weird things I like to build.

Thanks for reading!

Build a Tool Contest

Participated in the
Build a Tool Contest