I’ve recently had the opportunity to purchase very cheap Arduino Uno R3 clones. I bought a few of these from china and wasn’t expecting much. To my surprise the boards came well packaged and well soldered. They even included headers to use for making shields.
So I thought great, lets hook this up and upload a sketch to test it out. Well no such luck. Plugged in the Arduino clone only to discover that it wasn’t recognized. Upon further investigation of the onboard components I discovered that the clone does not use the standard serial to usb chip but a chip marked CH340.
So the hunt begins to locate the driver. This took a good 30 min of searching. Finally found drivers for Mac, Linux and Windows, posted below for you to download.
So I downloaded the driver, installed it and rebooted my MBP. Plugged in the Arduino clone, yup you guessed it, still no port detected. By now I’m thinking that I received dead boards. So I did some more digging. Turns out that the driver isn’t signed and in Yosemite, driver files must be signed to be used. There’s a command we can issue to bypass this.
So after installing the driver, bypassing the signed driver check and restarting my MBP, I plugged the Arduino clone in and finally a port was detected, (/dev/tty.wch ch341 USB=>RS232 1410), wow that’s a mouthful for a port name. Ok, lets upload a sketch finally. Damn, still didn’t work now I get avrdude complaining that it can’t find /dev/tty.wch. Wait just a damn minute. Why is it trying to find tty.wch when the whole port name is tty.wch ch341 USB=>RS232 1410? Because there’s a damn space in the port name.. who does that? Ok so we can get around this by creating a symbolic link
sudo ln -s /dev/tty.wch\ ch341\ USB\=\>RS232\ 1410 /dev/tty.wch
And just like magic, the Arduino IDE is finally communicating with my super cheap Chinese Arduino clone. I am now motivated to purchase a larger batch.
This should get you going. Any questions comments, go for it.
.