USB to I2C interface based on CH341

The USB bus is based on the I2C bus. They're not compatible in any way, in either direction since the I2C bus is two wire 'unbalanced' plus Ground, whereas the USB bus is two wire 'balanced' without ground. So you cannot create I2C off USB by simply adding a few passive components. Active components are required.
So you start looking around at Ebay. Where else... you get things for rock bottom prices. It may not be exactly what you are looking for, but it'll always give you a start for looking for whatever you should be looking for.

So I ran into the device on the right. It sells on Ebay for around $10. Free shipping. The device:

I ordered the gadget on day 1 and it arrived from the Far East to Europe within 6 days. Weekend included. Now that is fast. It was well wrapped and the envelope said "Gift" so there were no issues at the customs department. The envelope contained just the device, nothing else, but what would you expect, when you receive a gift?

Getting started

As mentioned, the package did not contain any documentation. In fact, the only option for documentation is on the backside of the PCB which reads

   YS-CH341T
   usendz.taobao.com
so the only reasonable option is to interpret the second line as a URL: http://usendz.taobao.com. Now you be a hero and click that link....

The site says "Welcome", "Contact us", "Windows 8" and some other readable technical words but the majority is in chinese tokens. I never found a way to switch to English, German, French or whatever. Google translate choked in it. This page is useless for me.

And in fact that was true for the rest of the documentation as well....

If you connect the device to your computer, nothing happens. No new device is entered in /dev/. I managed to find a driver called 'ch341.ko' so I loaded it with modprobe. Still nothing happened when I connected the device.
Well, that's not exactly true. Odd things started to happen. The Konsole terminal started to act weird. It became unresponsive.The webbrowser suddenly needed very long time before it reacted on keystrokes. All in all the system became sluggish, slow and unpredictable. So I decided it was better to reboot, but even a reboot took ages and after minutes I killed Linux with (Alt-Ctrl-SysReq)SUB.

Be careful with this gadget when you run Linux

Rumor has it that there is a Windows driver toolchain and it is supposed to work properly. So I might be tempted to try it through WINE. On the other hand, I never found any useable information... And the problem is in the CH341 chip so it is probably better to place my bets on a USB to I2C converter based on an FTDI chipset.

See? A 10 buck investment taught me to start looking for a real product.


Page created April 17, 2015 and