Drivers and instructions for NANO with CH340G chip (Mac and Win)
 Announcements - Drivers - Problems Uploading - Issues   Started by Daniel Alich   2018-03-14 23:15:25 -04:00   Comments: 1    Viewed: 3764

  1. Daniel Alich
    Daniel Alich Member Staff Member
    Arduino NANOs with teh origional FTDI chip are getting difficult to find.  If you find yourself with one of the newer chips with the CH340G chip (on bottom), you may need to install the drivers is Win or Mac are not finding it.

    Origional post found here... 

    How To Use Cheap Chinese Arduinos That Come With With CH340G / CH341G Serial/USB Chip (Windows & Mac OS-X)


    • Updated Nov, 2017 with the latest driver for OS-X High Sierra
    • Updated Oct, 2016 with the new signed driver for OS-X Sierra
    • Updated Nov 22, 2015 with the new signed driver for OS-X El Capitan and Yosemite
    • Updated Jan 9, 2016 with Windows Drivers

    My golden rule is that if something took me longer than 15 minutes to figure out, then it's worth documenting in a tiny blog post so that it would save time to others, just like many other similar posts saved me million hours by providing simple clear instructions.

    Introduction – What Is CH340G?


    Recent versions of cheap Chinese clones of Arduino boardshave been coming with a different USB/Serial chip, which replaces the usual FTDI. I read somewhere that licensing costs of FTDI make it prohibitive to companies selling boards for as little as $3, so I assume this is the main motivation. To be honest, as long as I can talk to my Arduino and buy it for $3 a piece, who cares? :)

    Below you'll find links to drivers for both Windows and Mac to make these work. Please leave a comment, if it worked or didn't work for you, especially if you had to do anything special or hacky to make it work :)


    A fully signed drivers for Windows can be found below:

    Mac OS-X

    High Sierra

    (Added: November, 2017)

    Looks like the updated version from their site works now as is. Here is the updated CH341SER_MAC.ZIP (148KB) cached locally, but for other platforms, please checkout their website.


    (Added: October, 2016)

    The Version 1.3 of the driver available on the vendor's website causes a crash on Mac OS-X Sierra. Thankfully, Adrian Mihalko patched the driver, and made it available to the public.

    El Capitan

    (Added: Nov 22, 2015)

    Many instructions down below were written for the old driver, which was not signed, and therefore was not working out of the box on OS-X Yosemite and El Capitan. The latest driver appears to be signed, and should work out the box. The new driver is here: (111Kb).

    Thanks to Björn's Techblog for posting the driver.

    Inside the driver is a brief README with the following instructions:

    Driver README

    CH34X USB-SERIAL DRIVER INSTALLATION INSTRUCTIONS Version: V1.0 Copyright (C) Jiangsu Qinheng Co., Ltd. Support System: OSX 10.9 and above

    Installation Process: * Extract the contents of the zip file to a local installation directory * Double-click CH34x_Install.pkg * Install according to the installation on procedure * Restart after finishing installing

    After the installation is completed, you will find serial device in the device list(/dev/tty.wchusbserial*), and you can access it by serial tools.

    If you can’t find the serial port then you can follow the steps below:

    1. Open terminal and type ‘ls /dev/tty*’ ande see is there device like tty.wchusbserial;
    2. Open ‘System Report’->Hardware->USB, on the right side “USB Device Tree” there will be device named “Vendor-Specific Device” and check if the Current is normal. If the steps upper don’t work at all, please try to install the package again.

    Note: Please enter System Preferences ➜ Security & Privacy ➜ General, below the title "Allow apps downloaded from:" you should choose the choice 2 ➜ "Mac App Store and identified developers" so that our driver will work normally.

    Older Driver

    This older version requires some hacking in order to get it to work. I am leaving instructions just in case someone needs it, or the new driver does not work for someone.

    Download The Driver

    There are two main sites that people mention in the discussions about the driver:

    • Chinese company that developed it:
      • This driver appears newer than on the second link, and is from Dec 2013.
      • Note: for me that site took a long long time to load, and then it took forever to download this tiny driver, so I put up a copy here CH341SER_MAC.ZIP (256Kb), so that you don't have to wait. Hopefully they won't go after me for mirroring their driver :)
    • Second site is the Russian company that sells the USB programmer based on this chip: but this site only has an older version of the driver, from 2012, so I do not recommend downloading it.


    Note: the following pre-installation steps are only required on the two most recent versions of OS-X Yosemite and El Capitan. It is because the driver is not signed properly from Apple's perspective. We are waiting on the developer to update the driver so that these pre-installation steps are no longer needed.

    OS-X El Capitan Steps (Only For The Older Driver!)

    These are not needed for the newer driver above.

    • Reboot and press ⌘-R immediately after the chime to enter Recovery Mode
    • Open Terminal from the recovery mode
    • run the command csrutil enable --without kext
    • Reboot.
    Thanks to this post for these instructions.

    OS-X Yosemite Steps

    • Open Terminal Application (it's located in /Application/Utilities) and type this command once you see a prompt:
    • sudo nvram boot-args="kext-dev-mode=1"
    • Reboot.
    see this post if you wish to know more details.


    • Download the driver from here: CH341SER_MAC.ZIP (256Kb)
    • Double click the ZIP file do unzip it
    • Open the folder ~/Downloads/CH341SER_MAC
    • Run installer found in that folder
    • Restart when asked.


    If the driver properly loaded, you should see the device in you /dev folder (this is for advanced command-line users of OSX only). On my machine it was called /dev/cu.wchusbserial1441140

    This port is showing up correctly in Arduino 1.0.6 and Arduino 1.5.8.

    However, if you are using the Eclipse Plugin, it is not smart enough to list this port in the list of available serial ports (either in project properties, or in the serial monitor). You will have to type the entire thing yourself: /dev/cu.wchusbserial1441140 and then Eclipse can upload your sketch.

    That's it! You should be ready to use the drivers and the board.


    Daniel Alich, 2018-03-14 23:15:25 -04:00
  2. (You must log in or sign up to post here)

Report Post

Write your reason

Log in | Sign up
Terms & Conditions!