USB-C as the “One Cable To Rule Them All” has certainly been a success. While USB-A is still around for now, most of us have breathed a hefty sigh of relief with the passing of micro-USB and the several display and power standards it replaces. It’s not without its minor issues though. One of them is that it’s as susceptible as any other cable to a bit of strain. For that, we think [NordcaForm]’s 3D-printed USB-C cable strain relief is definitely a cut above the rest.
Waxing lyrical about a simple 3D printed model might seem overkill for Hackaday, and it’s true, it’s not something we do often, but as Hackaday writers travel around with plenty of USB-C connected peripherals, we like the design of this one. It’s flexible enough to be useful without resorting to exotic filaments, and since it’s available in a few different forms with curved or straight edges, we think it can find a place in many a cable setup. Certainly more of an everyday carry than a previously featured 3D print. If you want to learn more about USB C, we have a whole series of posts for you to binge read.
Theoretically USB-C is a pretty nifty connector, but the reality is that it mostly provides many exciting new ways to make your device not work as expected. With the gory details covered by [Alvaro], the latest to join the party is Segger, with its J-Link BASE Compact MCU debugger displaying the same behavior which we saw back when the Raspberry Pi 4 was released in 2019. Back then so-called e-marked USB-C cables failed to power the SBC, much like how this particular J-Link unit refuses to power up when connected using one of those special USB-C cables.
We covered the issue in great detail back then, discussing how the CC1 and CC1 connections need to be wired up correctly with appropriate resistors in order for the USB-C supply – like a host PC – to provide power to the device. As [Alvaro] discovered through some investigation, this unit made basically the same mistake as the RPi 4B SBC before the corrected design. This involves wiring CC1 and CC2 together and as a result seeing the same <1 kOhm resistance on the active CC line, meaning that to the host device you just hooked up a USB-C audio dongle, which obviously shouldn’t be supplied with power.
Although it’s not easy to tell when this particular J-Link device was produced, the PCB notes its revision as v12.1, so presumably it’s not the first rodeo for this general design, and the product page already shows a different label than for the device that [Alvaro] has. It’s possible that it originally was sloppily converted from a previous micro-USB-powered design where CC lines do not exist and things Just Work™, but it’s still a pretty major oversight from what should be a reputable brand selling a device that costs €400 + VAT, rather than a reputable brand selling a <$100 SBC.
For any in the audience who have one of these USB-C-powered debuggers, does yours work with e-marked cables, and what is the revision and/or purchase date?
Wall warts. Plug mounted power supplies that turn mains voltage into low voltage DC on a barrel jack to power a piece of equipment. We’ve all got a load of them for our various devices, most of us to the extent that it becomes annoying. [Mikeselectricstuff] has the solution, in the shape of a USB-C PD power supply designed to replace a barrel jack socket on a PCB.
The video below provides a comprehensive introduction to the topic before diving into the design. The chip in question is the CH224K, and he goes into detail on ordering the boards for yourself. As the design files are freely available, we wouldn’t be surprised if they start turning up from the usual suppliers before too long.
We like this project and we can see that it would be useful, after all it’s easy to end up in wall wart hell. We’ve remarked before that USB-C PD is a new technology done right, and this is the perfect demonstration of its potential.
USB-C has enabled a lot of great things, most notably removing the no less than three attempts to plug in the cable correctly, but gone are the days of just 5V over those lines. [Meticulous Technologies] sent in their project to help easily identify what voltage your USB-C line is running at, the USB VSense.
The USB VSense is an inline board that has USB-C connectors on either end, and supporting up to 240W you don’t have to worry about it throttling your device. One of the coolest design aspects of this board is that it uses stacked PCB construction as the enclosure, the display, and the PCB doing all the sensing and displaying. And for sensing this small device has a good number of cool tricks, it will sense all the eight common USB-C voltages, but it will also measure and alert you to variations of the voltage outside the normal range by blinking the various colored LEDs in specific patterns. For instance should you have it plugged into a line that’s sitting over 48V the VSense white 48V LED will be rapidly blinking, warning you that something in your setup has gone horribly wrong.
Having dedicated uniquely colored LEDs for each common level allows you to at a glance know what the voltage is at without the need to read anything. With a max current draw of less than 6mA you won’t feel bad about using it on a USB battery pack for many applications.
The USB VSense has completed a small production run and has stated their intention to open source their design as soon as possible after their Crowd Supply campaign. We’ve featured other USB-C PD projects and no doubt we’ll be seeing more as this standard continues to gain traction with more and more devices relying on it for their DC power.
As much as people love USB-C, there’s one massive flaw that becomes very obvious the moment you look at the ports on any computer. This being that there’s no (standardized) way to tell what any of those ports do. Some may do display out (Alt-Mode), some may allow for charging, but it remains mostly a matter of praying to the hardware gods. According to a recent blog post, this is where Microsoft will seek to enforce a USB-C feature set on all (mobile) computers compliant with its Windows Hardware Compatibility Program (WHCP).
This also comes after years of the USB Implementers Forum, re-branding the USB specifications, with the most recent iteration thankfully using the bandwidth (in Gbps) as specifier (meaning no ‘USB PlaidSpeed’, sadly). Claiming to follow this end-user friendly spirit, the Microsoft blog post goes on to a minimum set of features that USB-C ports should have, as detailed in the above table.
Most notable is probably that PC charging support is required, as is support for at least one external display. As for the negatives, this seems to only apply to laptops, and no actual charging requirements are set (USB-PD voltages, wattage, etc.), so what the actual impact of this will be remains to be seen.
Recently [Dillan Stock] bought a $17 ‘mushroom’ lamp from his local Kmart that listed ‘USB-C rechargeable’ as one of its features. Unfortunately while this is technically true, there’s a pretty major asterisk. This Inaya-branded lamp comes with a USB-C cable with a rather prominent label attached to it that tells you that this lamp requires that specific cable. After trying with a regular USB-C cable, [Dillan] indeed confirmed that the lamp does not charge from a standard USB-C cable. So he did what any reasonable person would do: he bought a second unit and set about to hacking it.
The “USB C” cable that comes with the Inaya Portable Rechargeable Lamp. (Credit: The Stock Pot, YouTube)
[Dillan] also dug more into what’s so unusual about this cable and the connector inside the lamp. As it turns out, while GND & VCC are connected as normal, the two data lines (D+, D-) are also connected to VCC. Presumably on the lamp side this is the expected configuration, while using a regular USB-C cable causes issues. Vice versa, this cable’s configuration may actually be harmful to compliant USB-C devices, though [Dillan] did not try this.
With the second unit in hand, he started hacking in earnest. The changes include a regular USB-C port for charging, an ESP32 board with integrated battery charger for the 18650 Li-ion cell of the lamp, and an N-channel MOSFET to switch the power to the lamp’s LED. He’s made the full plans and schematics available on his website.
With all of the raw power from the ESP32 available, the two lamps got integrated into the Home Assistant network which enables features such as turning the lamps on when the alarm goes off in the morning. All of this took about $7 in parts and a few hours of work.
Although we commend [Dillan] on hacking his device instead of just returning it to the store, it’s worrying that apparently there’s now a flood of ‘USB C-powered’ devices out there that come with non-compliant cables. It brings back fond memories of hunting down proprietary charging cables, which was the issue that USB power was supposed to fix.
Using USB for powering devices is wonderful, as it frees us from a tangle of incompatible barrel & TRS connectors, not to mention a veritable gaggle of proprietary power connectors. The unfortunate side-effect of this is that the obvious thing to do with power connectors is to introduce splitters, which can backfire horribly, especially since USB-C and USB Power Delivery (USB-PD) were introduced. The [Quiescent Current] channel on YouTube recently went over the ways in which these handy gadgets can literally turn your USB-powered devices into a smoldering pile of ashes.
Much like Qualcomm’s Quick Charge protocols, USB-PD negotiates higher voltages with the power supply, after which this same voltage will be provided to any device that’s tapped into the power supply lines of the USB connector. Since USB-C has now also taken over duties like analog audio jacks, this has increased the demand for splitters, but these introduce many risks. Unless you know how these splitters are wired inside, your spiffy smartphone may happily negotiate 20V that will subsequently fry a USB-powered speaker that was charging off the same splitter.
In the video only a resistor and LED were sacrificed to make the point, but in a real life scenario the damage probably would be significantly more expensive.