It's time to effectively manage the power distribution into your project and with the SparkFun Power Delivery Board, you can! Traditional power adapters can provide a wide range of current but the voltage stays fixed at 5V. With the SparkFun Power Delivery Board's USB-C connection it has the ability to achieve higher voltages, typically 5-20V and up to 100W of power. The Power Delivery Board uses a standalone controller to negotiate with the power adapters and have them switch to a higher voltage other than just 5V. This uses the same power adapter for different projects rather than relying on multiple power adapters to provide different output voltages. The Power Delivery Board is also part of SparkFun’s Qwiic connect system, so you won’t have to do any soldering to figure out how things are oriented.
The SparkFun Power Delivery Board takes advantage of the power delivery standard with the use of a standalone controller from STMicroelectronics, the STUSB4500. The STUSB4500 is a USB power delivery controller that addresses sink devices. It implements a proprietary algorithm to allow the negotiation of a power delivery contract with a source (i.e. a power delivery wall wart or power adapter) without the need for an external microcontroller, although you will need a microcontroller to configure the board. PDO profiles are configured in an integrated non-volatile memory. The controller does all the heavy lifting of power negotiation and provides an easy way to configure over I2C.
To configure the board, you will need an I2C bus. The Qwiic system makes it easy to connect the Power Delivery board to a microcontroller. Depending on your application, you can also connect to the I2C bus via the plated through holes for SDA and SCL.
The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels
Based on 4 ratings:
1 of 1 found this helpful:
Setup didn't take long and now I'm using it to power a 12 V, 4 Amp fan.
1 of 2 found this helpful:
Great board, and the Arduino utilities rock! I was able to program with an Uno, just sticking a 0.1" header into the breakout holes and applying pressure.
I've used USB Micro connectors to power stuff for years, and often include boost converters if higher voltages are needed. This board makes life a lot simpler.
Do not expect this to deliver 20V in any case. It is highly dependent on the used source, especially laptops (even when rated for 20V power delivery) do not seem to like it and you only get 5V. But when it works (together with the source), it works quite well! NOTE: It is NOT a booster. You only get for example 20V if the board can negotiate this with the source.
Product preformed as expected and the unexpected nice feature was that I found the sparkfun library that had 1000+ lines of code that allowed me to configure the chip quickly. Though I probably could have gotten what I needed working within a day or two, it was sure nice not to have to code this from scratch.
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Log in or register to post comments.
I have a system which needs to charge a battery by either a PD power supply or a non PD power supply - the user may connect one kind or the other and I have no control over that.
The battery is charged using a TI charger IC.
I want to design my system so that in any case, power will be available to the charger IC and I was thinking of using this board but connect the VBUS pin DIRECTLY to the charger IC (which can handle 5 to 15 volts). I see two options here:
If a PD power supply is connected, the 4500 will negotiate a contract and the agreed power will be supplied on VBUS. If a non PD power supply is connected, the 4500 will negotiate nothing but in any case VBUS will have power (since any regular USB C power supply will power that pin)
Do you think this can work?
Does sparkfun plan to have any boards supporting both source and sink (i.e. Dual Role)? I'm looking for something like this (https://www.onsemi.com/pub/Collateral/EVBUM2559-D.PDF) but more compact.
Very easy to use with the included library and examples. But I have an interesting phenomena with the DEV-15801 though - whenever I connect either one of the probe tips my battery powered multimeter to the output pins, the DEV-15801 turns off. If I connect both leads, press reset, the output remains on, after the STUSB4500 chip restarts and queries successfully the USB-PD source. After this, I can disconnect and reconnect multimeter leads, all OK. But, if I now reverse the leads (multimeter would read just negative voltage), the output gets switched off again immediately as I touch either one of the output terminals with the multimeter. If I connect the multimeter leads reversed, and again press reset, all works again, I get negative output voltage. But this turning off happens forever - if I reverse the leads back to normal (red to positive, black to negative), the magic auto-off happens again whenever even one lead touches the output terminals. Could it be that the DEV-15801 lacks output capacitor and thus the multimeter leads with some capacitance, I assume, are already creating too much surge for the chip to turn off?
Hola! Why are there no examples for changing profiles on the fly? I tried simply changing the argument in pd.setPdoNumber() but no voltage change on the output. I also tried changing the individual PDO voltages to no avail. Any hopes of an example or a pro tip?
For other users interested in this... there is a reply on the hookup guide.
Though this board and its examples worked for me (sort of). My main goal was to be able to take advantage of selecting a power profile +5-20V/0-5A in 50mV/10mA increments. When trying this by using usb.setVoltage(3,7.0); It does not work. I am assuming that my USB wall wart does not follow the standard. Has anyone tried odd voltages and gotten them to work ? If so what USB wall ward were you using ?
With USB-C when a device gets connected, it advertises its capabilities. With a dongle that has HDMI, and USB for example, when it gets connected it advertises that it supports the version of HDMI that's supported, and USB 2.0/3.x. Similarly with power delivery, when the power delivery board gets connected, it wall wart says "I support power delivery. My output options are 5V/3A, 9V/2A...."
Based on the PDO settings of the power delivery board, it looks at the settings for the highest priority power delivery option that matches with capabilities the source advertised. So in your example because your source doesn't advertised a 7.0V option, it won't find a match. To see what options your wall wart supports, you'll need to look at the wall wart as shown here. What might get confusing is that it lists "20.3V" as a power delivery option, but in the settings, you'll need to actually request 20.0V.
Based on all of the power delivery wall warts I've looked at, they've only provided some combination of 5/9/12/15/20V because most of the use cases are cellphones and laptops manufactures which use those voltages. If you need a different voltage you would need to negotiate for a slightly higher voltage that what you need, and use a buck converter or linear regulator to drop the voltage to the exact value you need.
Thanks for the reply. I don't think this is 100% correct though. My supply does advertise 5/9/12/15 & 20V. I have verified that I can switch through the voltages by using This Product I bought.
I also bought This product as well. With this one I can confirm you can change the voltage from the advertised. However, I was only able to adjust the voltage on a portable USB battery bank, and not with my USB wall wart. All I was able to do on the wall wart was switch between 5,9,12,15 & 20V.
So either I am really missing it, or there are just hardly any USB wall warts following the USB PD 3.0 spec. The STUSB4500 data sheet says you can request other voltages. The USB PD 3.0 specification data sheet explains that you can request other voltages as well. Not to mention there are sites like this that say "the Sink can also make requests from USB PD programmable power supplies, providing any voltage from up to 4–21 V at 20 mV increments". link here
I didn't realize there were any sources that allowed for that fine of control. The power delivery board uses the STUSB4500, which is certified for PD 2.0, but the datasheet does say that it's interoperable with v3.0. I haven't dived into the specifics of v3.0, I thought it was mostly sharing information back to the source about faults like over temperature, over current, and over voltage.
I've only torn apart a couple PD chargers, but the ones I have seem to operate similarly to the example circuit for the STUSB4710 source controller (page 20 and 21) where it uses fixed resistors to adjust the VBUS voltage. It's certainly doable, with the right source controller though to get the full range.
Can the D-/D+ pins be passed on to another board of yours to end up with serial? I bought one of the CH boards but despite passing a loopback wire test, it is unable to communicate with my supposedly 3.3V device I had no trouble talking to an RPI with. I'm looking for alternatives and figured while I'm at it, I might as well source power.
D- and D+ are just regular USB 1/2, and you can't get serial directly from them. You'd need to connect a USB to serial converter to them to get TTL serial.
This looks slick as snot, but without a power supply it's just a paper weight. Where's the links to the USB-C power supply with power delivery sold by Sparkfun that actually powers this thing?
I'd have to double check, but I think we took them down due to the issue with the Raspberry Pi USB-C issue. However, as @Jason33 mentions, you can by them at your local electronics retailer.
Although I don't disagree it would be nice to have the option to purchase a compatible power supply from SparkFun; PD chargers have been on the market for a decent amount of time (relative to new tech). Your big box stores as well as plenty of online retailers have plenty to choose from. Personally I've got a few combo USB A + C bricks from Monoprice as well as a Type-C PD cigarette/car adapter that I love. I'd rather SparkFun keep their stock, shelves, and personal focused on delivering unique custom products like this and only supply power adapters for common sense/safety like 2.1mm/2.5mm barrel plug stuff where they shop around and guarantee it uses a sensible ground to help us avoid ground loops.