Ever wondered why your Arduino wasn’t programming, only to find out that the cable doesn’t have any data conductors? Worry not, [Spencer Maroukis] has got you covered with the USB Sleuth Cable Tester!
The cable tester is a beautiful black circular PCB, with USB ports of nearly every type on the edges. It works partially through passive detection with LEDs and otherwise through active detection of things like the orientation with an STM32 powered by a coin cell battery. But it gets better: There are disconnect switches and exposed pads to test some of the conductors with a digital multimeter!
It may not be necessary for all of us, but one thing is clear: When you needed a good USB cable, you wished you had this to actually test it. The design is open-source too, which is definitely nice if you want one for yourself.
Meanwhile this isn’t the first USB cable tester we’ve seen here.
I got something like this for $2 on AliExpress. It’s USB powered then has all the various connectors to plug both ends of a cable into it
Ironically enough, the one I got on AliExpress didn’t have the proper sense resistors on its usb-C “power” input, so it doesn’t work when powered from a proper USB-PD power supply.
Yea this was more of a pedagogical tool to learn about USB-C. There’s definitely mass produced cheap ones out there. But can you trust that they were designed right?
Most of these only test basic wire connectivity of power and data. They often miss detecting the sense resistors and need more “smarts” for USB C multi-directional connections. Spencer specifically set out to cover those issues.
Pay a bit more and get the Treedix one on Amazon.
I tried 2 of these and neither of them worked. One just lit up the LEDs randomly, the other was so poorly assembled that it would not work reliably.
The writeup contains the incredibly accurate phrase “JLCPCB/LCSC’s abysmal parameter search” — in italics no less.
It’s not perfect either, but Arya (contributor here) pointed me to https://yaqwsx.github.io/jlcparts/ which remedies some of the deficiencies. She also added: “did you know that, in their “rotate components for PCBA” viewer where you always have to correct some rotations after uploading the position files, you can Ctrl+click components to rotate multiple parts at once? (use spacebar to actually rotate components, too)”
Spreading the knowledge…
This was my first time using JLCPCB, and here’s the process that worked for me esp. for finding basic non-extended parts:
1. From their list of part categories, choose e.g. “Multilayer Ceramic Capacitors MLCC – SMD/SMT” (https://jlcpcb.com/parts/all-electronic-components)
2. Choose the “basic parts” filter
3. Scroll down this list to see which manufacturers were commonly classified as “basic” parts
4. Uncheck the “basic parts” filter and filter the parameter search by the manufacturer
5. Continue your search for a specific part
What I found is the parameter search doesn’t work for specifics, but if you can narrow down the manufacturer you can browse their catalogue.
Improvements welcome.
Yup, and since the free text search works better than the parametric search by value, once you’ve figured out what units a given manufacturer uses in their part descriptions (pf, nf, uf, 6.2 vs 6R2 etc) you can do a free-text search for the part value instead of trying to use the extra dodgy parametric.
Yes, but it’s a good cable for recharging your device in a public place
Cables with switches to disable the data lines have existed since USB was first invented, and for that very reason.
USB-C makes it a bit harder though.
I just make a point to destroy or otherwise dispose of cables and components that aren’t up to snuff. (See: widlerize)
Life’s too short to have to wonder if a part I just picked up is good. If I still have it, it’s good. If it’s bad, it’s thrown away.
That said, having a tool to test the capabilities of a given cable is useful.
I built one of these and am very happy with it: https://www.siliconchip.com.au/Issue/2021/November/USB+Cable+Tester+%E2%80%93+Part+1