I bought a UNO R3 ATmega328P CH340G USB Driver Development Board


Finally, I have chosen to send the card to amazon and buy a new card Arduino UNO R3 (real arduino) on amazon for only 5 euros more.

Thank you for your help


long time ago :) someone asked for schematics of the Nano CH340 board.

After some research, I´ve put together schematics of one of the Chinese clones of Nano 3.0 with the CH340 USB driver, hope that helps.

In the past I have purchased several Nano 3.0 CH340 clones from several Asian vendors and they are all almost identical, so it seems that this type of the Nano CH340 3.0 board is widely used.

Also, in case you would be wondering about 3.3 V output on the Nano CH340 board, I have measured current output from the 3.3 V pin of the CH340 chip. Although the CH340 datasheet has no info on the 3.3 V output, the CH340 chip includes a LDO 3.3 V regulator, which is capable of supplying up to 25 mAmps. Unfortunately, with higher current the voltage drops to 3.2 V and below - so the output is not that high, but better than nothing :)

All info, including schematics you can find on my web page http://actrl.cz/?p=475 .

thanks, @marpick, for information

thanks all,
I got this link http://www.arduined.eu/ch340g-converter-windows-7-driver-download/ and my uno is ready to use

Uno clones (slow boat from china, literally) finally arrived, but didn't "Just work" I looked to ICSP (In Circuit Serial Programming). Literally 6 wires and 1 sketch that comes in the Arduino Examples (Arduino ISP).

Upload the sketch to Arduino acting as the ISP (In System Programmer){I'm using an Arduino 101 as my ISP}. Unplug the ISP board and hook up the wires between the ISP and the Target boards. Hook up the USB again to the ISP. Select the target board in the boards menu. Also select Tools/Programmer and select Arduino as ISP.

Now you can burn the boot loader (make sure you've selected the target board from the boards menu first.

You can also upload Sketches under the sketches menu choose 'Upload Using Programmer". (or hold shift and click the upload button).

Wires are D11, D12, D13 on both boards, and ISP pin D10 to the reset on the target. Other than that, you just need 5V and Ground from one board to the other (or just ground if the target is already self powered).

Here's the official Arduino ISP page: https://www.arduino.cc/en/Tutorial/ArduinoISP

I Highly recommend trying this a few times while everything works right, then if you ever loose USB, you'll not only know about this option, you'll already have experience and know what to expect.

I didn't bother wiring up LEDs on pins D8 (error) and D9 (heart beat, fading pulse), but D7 shows the upload activity when writing to the target.

Like me, you may also want to override the serial speed in the ISP sketch to make serial faster (the AT328 can handle 250,000 easily).

As this is the first link that comes up on google i thought i would share my experience with the atmega328p driver on Ubuntu 16.04. it was not straight forward and i hope that this will better complete this thread.

As im a linux user the following is for linux only.

It has been brought to my attention that the driver "should" have been installed already in ubuntu 16.04, for that reason i have re-ordered the post, moving the permissions to the top, it may be all you need to fix your issue.

Open a terminal (ctrl + alt + t)

You will need to find the correct user: its probably dialout but it does no harm to double check.

ls -l /dev/tty*

add your ubuntu user account to the group listed in the printout for your port (For me it was group shown on the line for ttyUSB0 at the bottom of the list yours will likely be the same just look for the one that is in the menu, tool > port of the IDE).

useradd -a -G dialout youruser Adjust as required (be careful with the casing the wrong case can mess up your permissions.

Now that the permission is sorted, you can test your connection by uploading a sketch in the Arduino IDE. If you get no permissions error you are good to go, however i found i needed to logout of my account and back in. takes a few seconds as its not a reboot, just a session restart.

If adding the user did not solve your issue you can try the next section:

I had some trouble at the second point in the install (make load) related to permissions but using sudo solved that so thats whats below.

Follow the link that was posted in an earlier reply to the thread (re-posted link here for completeness) Chinese site (apparently most likely to be up to date)

Select the driver for linux, once downloaded go to the archive in your Downloads and extract,I did graphical extract. but if you can do it all by terminal.

cd ~/Downloads

unzip CH341SER_LINUX.ZIP (will create CH341SER_LINUX directory)

cd CH341SER_LINUX (typing part of the name then pressing tab should auto complete the name for you)

sudo make

sudo make load

That's it, the module is installed and you should be able to upload to your Arduino.

I hope this helps, good luck.

Strange the driver wasn't installed. For stuff like this for example the CH340 the driver was already in Ubuntu. 16.04 last time I tried. Never needed to install any serial to USB driver.

The permission thing you indeed need or you would need to run Arduino as root (which is of course not very nice).

To be fair I just followed the instructions above to install the driver as it appeared that was my issue (it could have already been there).

After the install i still had issues getting an ser_ something or other error relating to permissions, on hitting google for that i found the part about needing to be added to the group. If i had done that first it might have solved it, its possible the driver was there already I will never know now :)

In any case i will update my post now to reflect that the first check should be the group permissions. Thank you for the information.

I too bought such a clone and after reading dozens of forum pages (filled by all kinds of "gurus") in a desperate attempt to make my Window recognise this Uno board, I almost demanded a refund..

I suspected a defective USB chip.. but luckilly I was curious enough to see what's marked on this IC ..

Once I've searched for 'CH340G' , hundreds of pages revealed the issue and the solution !

After I installed this driver , the board was recognized and I loaded my program without problems.

Why isn't this 'CH340G' issue registered as 'basic knowledge', beats me!

A more official and updated source: CH341SER

vicival: I too bought such a clone and after reading dozens of forum pages (filled by all kinds of "gurus") in a desperate attempt to make my Window recognise this Uno board, I almost demanded a refund..


Why isn't this 'CH340G' issue registered as 'basic knowledge', beats me!

This is Arduino's official site. While there are many helpful users that will point out 'work arounds' for clones, it is a clone that uses a different part than the original. Motion picture studios don't point out torrent sites and Kodi usage because that isn't how they make money. Arduino doesn't earn money from the clones, so why should they officially give extra info on how to use them.