Testing and comparing 21 cheap USB chargers
I ordered 21 (ultra) cheap USB chargers from AliExpress and will test them to see if they:
The project was started today and will take some time to complete. Currently the project is in the setup phase so this project is still 🚧 under construction 🚧. I have ordered and received 12 21 chargers and have taken some 📷 pictures. Basic data has been entered in a 📝 Google sheet (which will also be used to record measurements etc. during this project) for the first 12 chargers.
All chargers have been received, all basic data has been entered into the 📝 Google sheet. A test-protocol, to ensure all chargers undergo the same tests under the same conditions, has been written and is nearly finished. A viewer to visualize the test results has been created. Software to run the tests automated on the DL24-P has been written. After a few finishing touches, testing will commence sometime soon in the upcoming days 🎉 🚀
Today the second DL24-P came in. Unfortunately this did present a small issue but I’m confident I’ll be able to fix it and worst case this isn’t even a showstopper anyway. In other news: under A word on software (and a bit of hardware) you’ll find more about a Custom ambient sensor I made to reliably and consistently measure … well, ambient temperature for this project. The people over at PCBWay picked up on this project and were kind enough to reach out to me and sponsor the PCB for that project. I’m looking forward to team up with them and see what else we can do! Thank you PCBWay!
*sigh* I can’t get the second DL24-P to work with my previous implementation. However, all is not lost. All we have to do is reverse engineer the “native” protocol. Which, I’m happy to say, seems to be not that hard. I’m expecting this to take a few days at most. Up until now I had implemented the “PX100” protocol but that appears to only work on the older model. I am currently well on my way to supporting the “native” protocol though. And that should be the last “major hurdle”. I’ll be back! Update: Dangit 😒 This protocol doesn’t allow to set values like current or the timer. It only allows to control the ‘cursor’ and send ‘up’ / ‘down’ commands. That’s like controlling the device blindfolded. I have contacted Atorch but hope on any useful response is low. I’m looking for alternatives (flashing the firmware to a newer or older version, extracting the firmware of the older device, … not sure yet).
Let’s goooo! 🚀 I contacted Atorch, honestly not even expecting a reply, but after a little back-and-forth I got them to send me a firmware update that seems to support the “PX100” protocol. Details can be found here. I have asked Atorch politely if I can share the firmware file online and am waiting for their reply. Keep watching this issue for updates on that. I will be testing the firmware soon and then there’s just one hurdle left: getting the data files to ‘align’ and put them into a nice interactive graph. But once I have my testsetup working (reliably) I will start doing the tests and dump the data in the repository. Aligning the data, making the graphs is a tomorrow problem. Any day now! 🎉🥳
Update: We got the green light!
The following chargers are in this test:
* Ordered in US version by (my) mistake. Other than the plug standard / format there shouldn’t be any difference. These chargers will be tested with a simple adapter plug.
As a ‘control’ group (to prove the USB cables are good, the USB tester detects all protocols etc.) we have the following “expensive” or “brand” chargers:
The test protocol is currently being determined but will include:
Measurements will be done using two Atorch DL24-Ps, a FNIRSI FNB58, Geti PM001, Kaiweets KTI-W01, Hanmatek DOS1102, OWON XDM1241, Imtex precision scale, UGREEN 240W USB-C to USB-C cable (0.5m), UGREEN 18W USB-A to USB-C cable (0.5m) and UGREEN 18W USB-A to USB-C Adapter. Not the most expensive or best test equipment, but will do fine for this project. Non-affiliate links.
The actual, latest, checklist used during each test can be found here.
I’ve tried to automate a lot of this project. Mostly because testing these chargers is pretty repetitive, but more importantly I want to make sure every test is as identical as possible.
Some of my test equipment can be controlled over (USB virtual) serial port or comes with software that can export data to some file format. If this project amounts to nothing then at least I will have made my mark in the test and measurement devices .Net codespace 😅 Most of the software I had to develop for this project is open source and whatever is released is released, as always, as MIT.
The following application or packages were developed during, or before, this project:
.bin files. I had to reverse engineer the file format mostly myself. Information is very scarce on the web on this file format. It turns out my oscilloscope (the Hanmatek DSO1102, which is a rebranded version of the OWON SDS1102 as far as I know) also supports SCPI. I had done an SCPI implementation a couple of months before for my OWON XDM1241 and I briefly considered implementing a ‘client’ for the oscilloscope too but that rabbit hole went a little too far off road for this project. I may still do so in the future….cfn file will have to do.Icon by Payungkead