Arduino Nano CH340

About: Hello, My name is Samuel, I am a student. I love micro controllers like arduino, they are my favorite interest. I also do geocaching, a worldwide treasure hunt game. I hope you enjoy my instructables! Samuel

Intro: Arduino Nano CH340

If you are like me and ordered a cheap arduino nano clone from a chinese website like aliexpress or banggood, chances are that they come with the cheaper CH340 USB to Serial chip. This is a cheap chip that manufacturers exploit to make the clone a lot cheaper. This can also be a downside. For me, being a mac user, I had a real hard time finding drivers etc for it. In the end I found some drivers, which were pretty good and I finally could get a blink sketch uploaded. I now want to share my experience for future buyers so you can get it working a lot faster. Enjoy!

Step 1: Drivers

Basically, let me put it this way. Buy from chinese site, get chinese drivers. I got my drivers from here. Once you have downloaded the file. Unzip the install file and start the install process. Once this is done, reboot your computer. ALTHOUGH WAIT. If you have mac and are running yosemite. You will need to follow the instructions in the next step. If you are not a yosemite user, please skip the next step and restart your computer.

Step 2: If You Have Yosemite

For the drivers to work for you, you will have to do this before you reboot your mac:

1. Open terminal

2. Write the following (just copy from here): sudo nvram boot-args="kext-dev-mode=1" Do not ess up here. It may ruin your computer if you write the wrong code.

3. Once you have pressed enter, terminal will prompt you for your user password. Insert this and press enter.

4. Once done, restart your computer.

Step 3: Testing

If everything is done correctly and there were no errors appearing. You should be able to restart your arduino IDE and see the port. For my mac it is usually like above in the picture but sometimes it changes. You will also notice that once in a while (maybe 1 time of 3) you will get errors when uploading but you do not have to care, the code will usually upload either way.

I hope this tutorial helped you and remember that the CH340 chip is a bit complicated and it may also be used in other cheap arduino board clones. Thanks for reading and once again, I hope it helped you.

Samuel

Share

Recommendations

  • Audio Contest 2018

    Audio Contest 2018
  • Furniture Contest 2018

    Furniture Contest 2018
  • Fix It! Contest

    Fix It! Contest

57 Discussions

0
None
schaude

20 days ago

As a linux user (Ubuntu / Linux Mint 17) I had difficulties with the cheap Nano with the CH340G chip getting it to work properly - the upload of any code didn't work at all. Of course I had installed the Arduino IDE (apt-get install arduino) but was not able to program the Arduino nano. Then I found in a german web article that from time to time you have to reinstall the IDE after a system update of the kernel, so that the serial USB interface works again. I didn't do it but my Nano started to blink when connected to the USB port so I thought it couldn't be out of order and should work anyhow. After connecting it to USB in the /dev folder you should find a file called ttyUSB0 or ttyUSB1 or so. In my /dev folder I had found it. So I started again, setting the Arduino IDE platform tool menu "Tools" and "Board" to "Arduino Nano w/ATmega328" (in my case) and "Tools" "Serial port" to "/dev/ttyUSB1" (in my case). Now, the code from the "Blink" example in the IDE could be uploaded to the Nano board as it should be and the LED started to blink... it's magic!

0
None
Southerner

3 months ago

I went to

http://www.wch.cn/download/CH341SER_ZIP.html

for the driver download as you suggested but I see no download link for any of the files and I do not read or speak Chinese. Do you have links to the driver downloads that are not html pages?

0
None
JonathonT

4 months ago

This is super helpful!! Thanks for posting! Wouldn't have been able to get this working on my own without these drivers.

0
None
PaulH477

Question 8 months ago on Step 2

I ran this step without having Yosemite, then restarted. My Mac won’t turn on, the led on the charger won’t either. Anyone familiar with solutions ?

0
None
PaulH477

Question 8 months ago on Step 2

Upon restart my Mac remained off. I can’t seem to turn it on via the power button, and the charger LED remains off.

0
None
vicgig10

8 months ago

This is the MOST ANNOYING issue I have found using a Mac. I did the csrutil thing and just can´t make this thing work. Anyone having the same issue with a USB-C only MacBook Pro??

0
None
JesseS154

8 months ago

Oops you can't copy paste that you'll have to write it down...lol

0
None
JesseS154

8 months ago

Thanks! So helpful...

If your running Sierra or later get your driver here:

http://www.mblock.cc/docs/run-makeblock-ch340-ch34...

Driver installation complete...press restart ...hold ⌘-R during start up.

In recovery mode now, select Utilities -> Terminal and copy paste:

$ csrutil enable --without kext

Press enter, type:

$ reboot

Login and open Arduino IDE (appears to reinstall) -> Tools

Board: "Arduino Nano"

Port: "/dev/cu/wchusbserial1420"

Test it with Examples -> Blink.

This worked first try for me thanks to all of you.

0
None
nas476

8 months ago

What about the ch340c chip?

0
None
Lolman4000

11 months ago

Thanks so much for this instructible!

0
None
LucM15

11 months ago

Thanks, works fine (Win7 -64)

0
None
leon-geyer

1 year ago

Ou ou. I missed the step 2, shame on me, just installed without "sudo nvram boot-args="kext-dev-mode=1" and now the screen freezes after starting the computer, Keyboard and trackpad non-reactive, not even a plugged one. How can I revert that? Argh. On Sierra with a MBP 5,1.

0
None
carlos66ba

3 years ago on Introduction

Yes, these CH340 may have drawbacks but they have a HUGE ADVANTAGE vis-a-vis the FTDI's: they are not bricked on Windoze. Be careful guys and girls, the FTDI chips get bricked with the new Windoze drivers.

1 reply
0
None
stu.tgcarlos66ba

Reply 1 year ago

I can't get this working with Windows 10 - I run the install for the driver then Windows takes over and tries to load its own drivers - then I keep getting Code 31 in device manager on the nano

0
None
Hilleskog

1 year ago

Thank you! Works well!

0
None
FTWingnut

1 year ago

I am running Mac Sierra, and after following your instructions, installing the driver and running the boot command "csrutil enable --without kext" listed below, my Mac now kernel panics and reboots when plugging the Arduino Nano into the USB port. What do I do now? How do I uninstall the driver?

3 replies
0
None
AnhT51FTWingnut

Reply 1 year ago

Use this link https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver

0
None
AnhT51AnhT51

Reply 1 year ago

The china link is the bad one