USB And The Myth Of 500 Milliamps

If you’re designing a universal port, you will be expected to provide power. This was a lesson learned in the times of LPT and COM ports, where factory-made peripherals and DIY boards alike had to pull peculiar tricks to get a few milliamps, often tapping data lines. Do it wrong, and a port will burn up – in the best case, it’ll be your port, in worst case, ports of a number of your customers.

Want a single-cable device on a COM port? You might end up doing something like this.

Having a dedicated power rail on your connector simply solves this problem. We might’ve never gotten DB-11 and DB-27, but we did eventually get USB, with one of its four pins dedicated to a 5 V power rail. I vividly remember seeing my first USB port, on the side of a Thinkpad 390E that my dad bought in 2000s – I was eight years old at the time. It was merely USB 1.0, and yet, while I never got to properly make use of that port, it definitely marked the beginning of my USB adventures.

About six years later, I was sitting at my desk, trying to build a USB docking station for my EEE PC, as I was hoping, with tons of peripherals inside. Shorting out the USB port due to faulty connections or too many devices connected at once was a regular occurrence; thankfully, the laptop persevered as much as I did. Trying to do some research, one thing I kept stumbling upon was the 500 mA limit. That didn’t really help, since none of the devices I used even attempted to indicate their power consumption on the package – you would get a USB hub saying “100 mA” or a mouse saying “500 mA” with nary an elaboration.

Fifteen more years have passed, and I am here, having gone through hundreds of laptop schematics, investigated and learned from design decisions, harvested laptops for both parts and even ICs on their motherboards, designed and built laptop mods, nowadays I’m even designing my own laptop motherboards! If you ever read about the 500 mA limit and thought of it as a constraint for your project, worry not – it’s not as cut and dried as the specification might have you believe.
Continue reading “USB And The Myth Of 500 Milliamps”

A devboard with the CH32V003, with a few resistors and bodges, with a USB-C cable plugged into it, and a programmer plus an extra probe attached.

USB PD On CH32V003 Teaches You Everything

How do you talk USB Power Delivery (PD)? Grab a PHY? Use a MCU with one built-in? Well, if you’re hardcore enough, you can do it with just a few resistors and GPIOs. [eeucalyptus] shows you their implementation of USB-PD on a CH32V003, which has no PD peripheral. This includes building a PD trigger, completely open source, and walking you through the entire low-level PD basics, too!

It helps that CH32V003 is a 32-bit MCU with a good few resources and peripherals, for instance, an internal comparator. Other than that, you don’t need much in terms of hardware resources, but you do need a steady hand — parts of the firmware had to be written in assembly to keep up with PD timing. Want to tinker with the fruit of this research, perhaps, further build upon the code? There’s an example board on GitHub, too!

Want to try your own luck with this method? There’s a schematic, and logic analyzer captures, and a board to refer to. Again, more than enough information on every single low-level detail! Otherwise, grab an MCU pre-programmed to talk PD, maybe a trigger board chip, or maybe even a PD PHY and implement PD communications with it directly – it’s pretty easy!

We thank [Julianna] for sharing this with us!

The splitter with a 3D-printed case and three yellow cables coming out of it, powering two phones and one powerbank at the same time

Split A USB-C PD Port Into Three Port-ions

There’s no shortage of USB-C chargers in all sorts of configurations, but sometimes, you simply need a few more charging ports on the go, and you got a single one. Well then, check out [bluepylons]’s USB-C splitter, which takes a single USB-C 5V/3A port and splits it into three 5V/1A plugs, wonderful for charging a good few devices on the go!

This adapter does things right – it actually checks that 3A is provided, with just a comparator, and uses that to switch power to the three outputs, correctly signalling to the consumer devices that they may consume about 1A from the plugs. This hack’s documentation is super considerate – you get detailed instructions on how to reproduce it, every nuance you might want to keep in mind, and even different case options depending on whether you want to pot the case or instead use a thermal pad for a specific component which might have to dissipate some heat during operation!

This hack has been documented with notable care for whoever might want to walk the journey of building one for themselves, so if you ever need a splitter, this one is a wonderful weekend project you are sure to complete. Wonder what kind of project would be a polar opposite, but in all the best ways? Why, this 2kW USB-PD PSU, most certainly.

Getting Started With USB-C And Common Pitfalls With Charging And Data Transfer

USB-C is one of those things that generally everyone seems to agree on that it is a ‘good thing’, but is it really? In this first part of a series on USB-C, [Andreas Spiess] takes us through the theory of USB-C and USB Power Delivery (PD), as well as data transfer with USB-C cables. Even ignoring the obvious conclusion that with USB-C USB should now actually be called the ‘Universal Parallel Bus’ on account of its two pairs of differential data lines, there’s quite a bit of theory and associated implementation details involved.

The Raspberry Pi 4B's wrong USB-C CC-pin configuration is a good teaching example.
The Raspberry Pi 4B’s wrong USB-C CC-pin configuration is a good teaching example.

Starting with the USB 2.0 ‘legacy mode’ and the very boring and predictable 5 V power delivery in this mode, [Andreas] shows why you may not get any power delivered to a device with USB-C connector. Most likely the Downstream Facing Peripheral (DFP, AKA not the host) lacks the required resistors on the CC (Configuration Channel) pins, which are both what the other USB-C end uses to determine the connector orientation, as well as what type of device is connected.

This is where early Raspberry Pi 4B users for example saw themselves caught by surprise when their boards didn’t power up except with some USB cables.

The saga continues through [Andreas]’s collection of USB-C cables, as he shows that many of them lack the TX/RX pairs, and that’s before trying to figure out which cables have the e-marker chip to allow for higher voltages and currents.

On the whole we’re still excited about what USB-C brings to the table, but the sheer complexity and number of variables make that there are a myriad of ways in which something cannot work as expected. Ergo Caveat Emptor.

Continue reading “Getting Started With USB-C And Common Pitfalls With Charging And Data Transfer”

USB-C PD: New Technology Done Right

There is a tendency as we get older, to retreat into an instinctive suspicion of anything new or associated with young people. All of us will know older people who have fallen down this rabbit hole, and certainly anything to do with technological advancement is often high on their list of ills which beset society. There’s a Douglas Adams passage which sums it up nicely:

“I’ve come up with a set of rules that describe our reactions to technologies:
1. Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works.
2. Anything that’s invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it.
3. Anything invented after you’re thirty-five is against the natural order of things.”

Here at Hackaday we’re just like anybody else, in that we all get older. Our lives are devoted to an insatiable appetite for new technology, but are we susceptible to the same trap, and could we see something as against the antural order of things simply because we don’t like it? It’s something that has been on my mind in some way since I wrote a piece back in 2020 railing at the ridiculous overuse of new technologies to limit the lifespan and repairability of new cars and then a manifesto for how the industry might fix it, am I railing against it simply because I can’t fix it with a screwdriver in the way I could my 1960 Triumph Herald? I don’t think so, and to demonstrate why I’d like to talk about another piece of complex new technology that has got everything right.

In 2017 I lamented the lack of a universal low voltage DC power socket that was useful, but reading the piece here in 2024 it’s very obvious that in the years since my quest has been solved. USB Power Delivery was a standard back then, but hadn’t made the jump to the ubiquity the USB-C-based power plug and socket enjoys today. Most laptops still had proprietary barrel jack connectors, and there were still plenty of phones with micro-USB sockets. In the years since it’s become the go-to power standard, and there are a huge number of modules and devices to supply and receive it at pretty high power.

At first sight though, it might seem as though USB-PD is simply putting a piece of unnecessary technology in the way of what should be a simple DC connector. Each and every USB-PD connection requires some kind of chip to manage it, to negotiate the connection, and to transform voltage. Isn’t that the same as the cars, using extra technology merely for the sake of complexity? On the face of it you might think so, but the beauty lies in it being a universally accepted standard. If car manufacturers needed the same functionalty you’d have modules doing similar things in a Toyota, a Ford, or a Renault, but they would all be proprietary and they’d be eye-wateringly expensive to replace. Meanwhile USB-PD modules have to work with each other, so they have become a universal component available for not a huge cost. I have several bags of assorted modules in a box of parts here, and no doubt you do too. The significant complexity of the USB-PD endpoint doesn’t matter any more, because should it break then replacing it is an easy and cheap process.

This is not to say that USB-PD is without its problems though, the plethora of different cable standards is its Achilies’ heel. But if you’re every accused of a knee-jerk reaction to a bad piece of new technology simply because it’s new, point them to it as perhaps the perfect example of the responsible use of new technology.

USB-C Power Supply Pushes Almost 2 KW

When the USB standard was first revealed, a few peripherals here and there adopted it but it was far from the “universal” standard implied by its name. It was slow, had limited ability to power anything, and its plug-and-play capability was spotty at best. The modern USB standard, on the other hand, has everything its predecessors lacked including extremely high data transfer rates and the ability to support sending or receiving a tremendous amount of power. [LeoDJ] is taking that latter capability to the extreme, with this USB-C power supply that can deliver 1.7 kW of power.

The project was inspired by the discovery of an inexpensive USB-PD (power delivery) module which is capable of delivering either 100W or 65W. After extensive testing, to see if the modules were following the USB standard and how they handled heat, [LeoDJ] grabbed 20 of the 65W modules and another four of the 100W modules and assembled them all into an array, held together in a metal chassis that also functions as a heat sink. The modules receive their DC power from two server power supplies wired together in series.

There was some troubleshooting, including soldering difficulty and a short circuit, but with all the kinks ironed out this power supply can deliver nearly 2 kW to an array of USB-capable devices and, according to the amount of thermal testing done, can supply that power nearly indefinitely. It’s an over-the-top power supply with a small niche of uses, but to see it built is satisfying nonetheless. For more information on all of the perks of working with USB-C, check out this tell-all we published last year.

A Compact SMD Reflow Hotplate Powered By USB-PD

When it comes to home-lab reflow work, there are a lot of ways to get the job done. The easiest thing to do perhaps is to slap a PID controller on an old toaster oven and call it a day. But if your bench space is limited, you might want to put this compact reflow hotplate to work for you.

There are a lot of nice features in [Toby Chui]’s build, not least of which is the heating element. Many DIY reflow hotplates use a PCB heater, where long, thin traces in the board are used as resistive heating elements. This seems like a great idea, but as [Toby] explains in the project video below, even high-temperature FR4 substrate isn’t rated for the kinds of temperatures needed for some reflow profiles. His search for alternatives led him to metal ceramic heaters (MCH), which are commonly found in medical and laboratory applications. The MCH he chose was rated for 20 VDC at 50 watts — perfect for powering with USB-PD.

The heater sits above the main PCB on a Kapton-wrapped MDF frame with a thermistor to close the loop. While it’s not the biggest work surface we’ve seen, it’s a good size for small projects. The microcontroller is a CH552, which we’ve talked about before; aside from that and the IP2721 PD trigger chip needed to get the full 60 watts out of the USB-PD supply, there’s not much else on the main board.

This looks like a nice design, and [Toby] has made all the design files available if you’d like to give it a crack. Of course, you might want to freshen up on USB-PD before diving in, in which case we recommend [Arya]’s USB-PD primer.

Continue reading “A Compact SMD Reflow Hotplate Powered By USB-PD”