Hacker News new | past | comments | ask | show | jobs | submit login
All About USB-C: Example Circuits (hackaday.com)
109 points by nevir on Sept 5, 2023 | hide | past | favorite | 21 comments



This post gave me the idea of making a USB-C Russian roulette chip, where plugging the USB jack in on one side works fine, but the other side fries your device.


Oh! How about a USB-C device that detects its orientation this way, and requires you to replug it in the different orientation twice before it starts to work?


This could work in audiophile land.

Start a legend that the DAC sounds "digital", "harsh" and "jittery" if the USB-C plug is not inserted in the "correct orientation".

And of course, your device has a small LED near the plug which is green when plugged with the correct orientation.


Green isn't audiophile enough. Needs to shine in royal purple pink, or something like that.


LEDs in general aren't audiophile enough. It should be like, a bare hot loop of nichrome behind some chicken wire for an indicator.


Nice back compatibility thinking!


New product idea for USBKill... for the uninitiated, a device that is used to test hardware defenses against malicious input using high voltage [1].

[1] https://usbkill.com/


A more interesting and complicated version would use a random number generator to give you a 1 in 6 chance of frying your device when you plug it in.


Yeah but then that's not a commentary on how USB-C is supposed to be the same in both directions but isn't.


> I’ve never done this circuit, but the way I see it, it should be enough to use two FETs, one per CC pin, both put in parallel.

Yeah, don't do it. CC also carries BMC signalling and pull-up/downs are normally dynamic and can change at runtime after plugin.

CH32X035 looks very interesting for playing with USB-PD. :)


Isn't something like that what made the original Raspberry Pi 4 not actually USB-C compliant, because they combined two signals that shouldn't have been combined?


Isn’t it just for power, which would make it non compliant anyway if it’s not transferring data? Assuming that would make it non compliant…


I don't think so. Rpi shorted CC pins together.


Every few sentences there there is a remark like "This circuit might have edge cases,... "...perfect for the majority of use cases,..". In other words: It will, at best, work on the developers table, but nowhere else. Why is somebody publishing examples that won't work in the real world ?


hackaday is not about making consumer products. It's for hackers and hobbyist. The real world is vague, but should include people trying different implementations.


USB is a mess. Lots of devices that claim support are actually way out of spec. As a result it is hard to say exactly what will happen when people start plugging stuff in.


This is especially true for USB hubs of any kind, so much so that I think even Caldigit sold a hub that wasn't fully compliant to it's advertised capabilities.


For testing your USB-C cables, I highly recommend the caberQU C2C: https://caberqu.com/home/20-c2c-caberqu-746052578813.html

So many cables aren't power delivery, just USB 2 spec: If you're wondering why your phone doesn't charge quickly, the cable tester might be able to help you find the issue.


You'd think you could plug a cable into a computer and have it tell you the capabilities instead of needing a dedicated device


You'd need to plug the other end into something and, unless you know what that device is, you wouldn't know if it's the cable that's lacking or the device you plugged in on the other end.

Better control of USB devices from computers would be swell though.


Yeah but that would be useful. Like being able to switch USB sockets on or off from software. Or lock them to a specific speed/bandwidth.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: