Problem with CH340 cheap Arduinos in Windows 10 - Page 1
Forum section: electronics / beginners

author: VEGETA
author_rank: Super Contributor
timestamp: March 09, 2018, 04:50:14 pm
content: Dears,To make this short for you, I have the drivers and my windows recognizes CH340 when I plug my Arduino Nano v3 but Arduino IDE says unknown board. However, when I plug the FTDI programmer connected to Arduino pro mini, it only displays port number in devices manager (without any "CH340" in the name)... Same result in IDE.It is worth mentioning that I tried programming the nano v3 using my Uno as ArduinoISP and it worked, so the problem is with CH340 chip. I looked and saw people blaming the cable sometimes for being "power only",my cable is the one that came with PICKit3 programmer since I didn't get cables with these arduinos. So is it the case here?Looking forward to your help.Best regards

author: rstofer
author_rank: Super Contributor
timestamp: March 09, 2018, 06:28:05 pm
content: I was looking into this very thing last night. There is a specific driver for the CH340http://www.arduined.eu/ch340-windows-8-driver-download/I was thinking about the Nano v3 simply because they are cheap at Amazon but after searching the Internet, I found that a number of folks have a problem with the CH340 driver.https://www.amazon.com/Arduino-Elegoo-ATmega328P-without-compatible/dp/B0713XK923There is a comment below the description re: downloading the proper driver.All in, I don't need the frustration just to save a couple of bucks. The REAL Nano uses the FTDI chiphttps://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 09, 2018, 06:44:07 pm
content: As rstofer stated, you need a suitable driver for the WinChip serial chip to work.http://www.wch.cn/download/CH341SER_EXE.htmlThis is the manufacturers official driver.I tend to have less problems with WCH equipped Arduino clones then with FTDI (lots of counterfeit chips and FTDI drivers are painful).Be aware that Windows 10 can be a real pain in regard to driver support. I rolled everything back to Windows 7 for my micro controller needs - but maybe things have changed meanwhile...Because of not wanting to deal with driver issues on different machines I now use Atmega32u4 based boards for smaller projects (Leonardo, Pro Micro,...). It supports native USB and you do not have to f* around with driver issues.Besides that I can highly suggest getting an ISP or using a working Arduino as ISP.Kind regards,Frederik

author: VEGETA
author_rank: Super Contributor
timestamp: March 09, 2018, 06:48:39 pm
content: Quote from: rstofer on March 09, 2018, 06:28:05 pmSo did you solve the problem?I told you I have the driver from manufacturer but still no board are known to IDE.I am in Jordan and cannot buy like you, shipping costs makes it expensive so my only choice is China. I got those from Banggood.Anyway, do you think that PICkit 3 USB cable is not suitable? is it "power only"?I need a solution to using these, since there should be one assuming thousands of people using it.QuoteThat is the driver I am using, and it is installed but still the IDE does not recognize anything.I am using the Uno as ISP for now but definitely need a solution.How about the pickit3 usb cable? this is the one i use and don;t have another one...can it be the case?

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 09, 2018, 07:02:55 pm
content: Quote from: VEGETA on March 09, 2018, 06:48:39 pmDid you check that Windows is actually using that driver instead of whatever Windows thinks should be the right driver?

author: rstofer
author_rank: Super Contributor
timestamp: March 09, 2018, 07:15:49 pm
content: Quote from: VEGETA on March 09, 2018, 06:48:39 pmSure! I didn't buy the boards. I was only looking at them as they came up in an advertisement and they seemed like something I should have laying around. I don't really need them.If I decide to use the Nano form factor, I will buy legitimate boards and leave the clones with the CH340 chip to those who have the patience to deal with them.

author: metrologist
author_rank: Super Contributor
timestamp: March 09, 2018, 08:11:43 pm
content: I have one that is not recognized on a single USB port but works on others. Haven't been able to fix it.

author: VEGETA
author_rank: Super Contributor
timestamp: March 09, 2018, 08:17:45 pm
content: Quote from: frozenfrogz on March 09, 2018, 07:02:55 pmHow?I put the device in, then it shows that there is a driver. Then I uninstall that one. After that, I unplug it then install the driver from manufacturer... after that I put the ftdi programmer\nano board again but the same problem happens.QuoteI tried 2 ports but same thing, with nano and ftdi programmer for pro mini.QuoteYou solved the problem by never using them?I need to know if you solved the problem with CH340 chip and how you did it. I tried different stuff but never worked. what about the usb cable?I asked here a lot about it but no one answered. Some guys online said some USB cables are for power only but not for data... maybe this is the case with PICKit3 cable? it is the one I use since I got no cables with these.I hope to see if there are Chinese clones with working interfaces... if you know some.

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 09, 2018, 08:20:14 pm
content: Under Windows 10 I think you need to disable driver signature enforcement. Otherwise you might be SOL.Here are some pointers:Install unsigned drivers.Same crap is going on on OS X since 10.11 by the way

author: rstofer
author_rank: Super Contributor
timestamp: March 09, 2018, 08:27:12 pm
content: Quote from: VEGETA on March 09, 2018, 08:17:45 pmI didn't buy the boards because I saw this same issue all over the Internet. Why buy non-conforming clones when I can buy the real deal?QuoteThere are USB cables that provide power only, they are used for cell phone chargers. I would think you would have some way to prove that your data cable passes data even if it is to another device. Aren't you programming something else? Does it use the same cable? Mini vs micro...

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 09, 2018, 08:39:18 pm
content: Quote from: VEGETA on March 09, 2018, 08:17:45 pmIf the Nano clones suffice for your needs, go for Pro Micro clones. As stated above, AtMega32u4 has native USB support and these just work instead of giving you headaches from driver issues. Should be about the same price! Highly recommended!

author: VEGETA
author_rank: Super Contributor
timestamp: March 09, 2018, 08:40:11 pm
content: Quote from: frozenfrogz on March 09, 2018, 08:20:14 pmI told you the drivers are installed, but I tried this way before I write the topic... nothing changed.QuoteThis cable is for PICKit3 programmer and yes it works for it. My Uno has another cable which is not like this one (i guess type b or something). Now I am stuck, I need another 2 weeks before I could go to the market and find other cables.This will be bad for me since I rely on Chinese clones for being so cheap. I bought around 5 of each one.

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 09, 2018, 08:53:20 pm
content: Do you need USB / serial functionality for your project? Otherwise, programming via the working Arduino as ISP is a good option.I can not tell you why the clones are not recognized, there is to much crap going on with Windows 10 that I never felt like adapting but just went back to Windows 7 - so I can just give you more general hints :/Do you have a software firewall running? This might also cause issues.Please also check the Device Manager when the Arduino is plugged in. It should at least show up, most likely with an exclamation mark stating "can not start device" or similar. If that is the case, uninstall driver from Device Manager, unplug the device, restart and plug the device back in.Do you have anything connected to the Arduino pins? This might also interfere and you should disconnect sensors etc. for programming.

author: VEGETA
author_rank: Super Contributor
timestamp: March 09, 2018, 09:39:01 pm
content: Quote from: frozenfrogz on March 09, 2018, 08:53:20 pmSo in Windows 7 does these CH340 stuff work fine?The driver looks normal, it shows something like "CH340/com6" so it is not with ! or undefined. This is for the Nano, but for the FTDI programmer (connected to pro mini) it shows nothing but "com6" or something.What about using someUSBASP? I have used them before but not with windows 10 or arduino ide which is the way I want them now.

author: jimmc
author_rank: Frequent Contributor
timestamp: March 09, 2018, 09:45:05 pm
content: I was just going to post that I've used Nano clones (CH340G) for a couple of years without any problems when I found that I couldn't program the one I'm using now!(I'm running Windows 10 and using the WCH driverhttp://www.wch.cn/download/CH341SER_EXE.htmlas others have mentioned.)I knew the serial port is working as the board had a serial comms program previously burnt on it.After a bit of digging I found that the newer Arduino IDEs 1.8.4 &1.8.5 expect the AT328P in the Nano to have an updated Bootloader.Selecting AT328P (Old Bootloader) under 'Processor' enabled uploading without problems and restored my sanity.Seehttps://forum.digikey.com/t/january-2018-arduino-nano-bootloader-update/1194orhttps://www.arduino.cc/en/Guide/ArduinoNanofor details.Jim

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 09, 2018, 09:58:34 pm
content: Well, that is strange. If the device manager shows a com port associated, it should work fine in the Arduino IDE. Sometimes you need to restart the IDE to make everything show up.Regarding ISP / USBASP - this should work fine out of the box, but you never know with Chinese clones and I have reservations concerning Windows 10 as you can tellHowever, there are no real benefits I can see in comparison to the Arduino as ISP apart from convenience maybe.I have been using the USBtinyISP from Adafruit for quite some time, but since it can not program the bigger Atmel chips such as Atmega2560, I bought a Diamex Prog-S2 and am very happy with it.If you would like to have it, I can send you the USBtiny that is no longer in service.Kind regards,Frederik

author: VEGETA
author_rank: Super Contributor
timestamp: March 09, 2018, 10:20:44 pm
content: Quote from: jimmc on March 09, 2018, 09:45:05 pmThanks! this thing worked fine with Nano. However, we still have the Pro mini (and possibly the Uno clones, although they don't seem to have this)QuoteI have found a clone for the USBtinyISP:https://www.banggood.com/USBtinyISP-AVR-ISP-Programmer-Bootloader-USB-Download-Interface-p-929287.html?rmmds=search&cur_warehouse=CNI only need to program Arduinos not bare chips.. so I guess this will be enough?

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 09, 2018, 10:29:11 pm
content: Quote from: VEGETA on March 09, 2018, 10:20:44 pmAs I said, in case you want to give it a shot, I can send you the one I do not use anymore.Just drop me a PN with your post address and I can mail it to you.

author: VEGETA
author_rank: Super Contributor
timestamp: March 09, 2018, 10:30:18 pm
content: There is this one too but not so cheap:https://www.banggood.com/AT-AVRISP-AVR-ISP-mkII-In-System-Programmer-ATAVRISP2-AVRISPmkII-Compliant-p-1140507.html?rmmds=search&cur_warehouse=CNQuoteThat is so generous of you, really!I will send you my info if you can send it.

author: DLJ
author_rank: Contributor
timestamp: March 09, 2018, 10:56:20 pm
content: Just for Information.I have a bunch of Nano's with the CH340 chip.They work for me, with Arduino IDE and Win10 BUT I have had issues using ISP programmers with them. The pull up resister on the RST signal is a 1K resistor but This prevents my programmers from connecting to the ATMEGA. I changed the resistor to 10k and then the ISP programming was perfect.My programmers are genuine ATMEL, a Dragon and an AVRISP markII.In the ATMEL/microchip ISP programmer user guide they state "The Reset line should not have a pull-up stronger (i.e. smaller value) than 4.7k?. "http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42093-AVR-ISP-mkII_UserGuide.pdfI hope you don't need this information, but now you know.Have fun

author: metrologist
author_rank: Super Contributor
timestamp: March 09, 2018, 11:05:17 pm
content: Cool!

author: geekGee
author_rank: Unknown
timestamp: March 09, 2018, 11:33:39 pm
content: I hit the issue with macOS 10.13 with a Nano and an Uno from Banggood. I didn't like the status of the CH340 drivers for macOS so connected to it with Linux instead. The driver was already in the kernel in Ubuntu 16.04.If I recall, there was a free driver for up to 10.11 and a paid one for 10.13. I never tried Windows.

author: Rick Law
author_rank: Super Contributor
timestamp: March 09, 2018, 11:54:18 pm
content: Quote from: VEGETA on March 09, 2018, 09:39:01 pmYes. From personal experience these CH340 NANOs works just fine under Windows 7 (64 bit) and Windows XP sp3 (32 bit). I have at least 6 of those and so far I have no problem with any of them. My Win7 is x64, it may work with 32bit Win 7, but I cannot attest to if x32 would work as well.For both Win7/WinXP, the main issue I see with these CH340 is each instance is not unique in the windows registry, so the COM port number depends on which USB slot it is in and NOT which CH340 NANO actually plugged in. Whereas, I can make my 3 UNOs unique and change the Windows Registry so UNO1 is always COM6 regardless of which USB slot is hosting it, UNO2 is always COM7, so on. Can't do that with CH340.

author: Brumby
author_rank: Unknown
timestamp: March 10, 2018, 06:48:36 am
content: Quote from: Rick Law on March 09, 2018, 11:54:18 pmI can attest to having theexactsameexperience.QuoteAgain, my experience completely agrees. Not only that, but there is consistency in assigning the same COM port to a particular USB port - even after reboots and through a USB hub. So much so, that for a project I am working on, I labelled the USB hub I was using with the COM port number that would be assigned when I plugged in my NANOs with the CH340. With that sorted, I was running 3 of my widgets into 3 instances of PuTTY at the same time, through the same USB hub, with no trouble whatsoever.QuoteHaven't tried that, so I can't comment.In fact, having used Arduino compatible boards with the CH340, the only problem I had was at the very beginning when I had to work out that I needed to find a CH340 driver. After that it was a breeze (if you exclude the occasional Arduino IDE hernia.)

author: VEGETA
author_rank: Super Contributor
timestamp: April 05, 2018, 11:25:42 pm
content: Here is the video where I thank Fredrik for his help:

author: MrAl
author_rank: Super Contributor
timestamp: April 06, 2018, 02:21:25 am
content: Hi,I would think that a cable that works with PicKit anything would NOT be just a power-only cable because it has to allow communication with the host computer. Of course this doesnt mean that there could be isnt anything bad about the cable. The obvious thing to do is get another cable. It's good to have a spare anyway because they do go south after plugging and unplugging many many times.I've had no problem with the 340 chip under Win 7 so maybe you could try a compatibility setting.I have had another problem though with the Leonardo, in that it wont work in a USB 3.0 slot, only USB 2.0, under Win 7 with a ASUS mo bo. I have read this is a mo bo issue with the driver they use. Works great in the USB 2.0 slot though.

author: Ian.M
author_rank: Super Contributor
timestamp: April 06, 2018, 08:01:34 am
content: @Vegeta: Please give a time reference for the section of your video that's relevant. Few of us will wade through 40 minutes of video to find the interesting bits. If you give a brief summary of the rest of it with times, you may even pick up a few viewers.A power only 'USB' cable gives no indication on the PC when its connected - no sounds, no tray icons and nothing in Device Manager.It cant be the cable if its still working reliably with a PICkit 3 for programming, debugging and powering the target board.As to your CH340G problems, do a loopback test. Ground the Arduino's reset pin, and jumper its RX to TX (Digital pin #0 to digital pin #1) to take the ATmega328P out of the loop and open the COM port with a terminal program (with hardware handshaking and local echo disabled). The one in the Arduino IDE will do if you don't have anything better - it doesn't have hardware handshaking or local echo so no configuration will be needed. If it fails at opening the port, either the drivers or CH340G chip are bad, (or the terminal program's totally borked - if you've got one, try a different serial port to eliminate that. If its a 'real' PC serial port with a DE-9 connector, jumper pins 2 to 3 for loopback). If it opens, every character you send should be echoed, and you can see the signal pulse on the jumper between RX and TX if you use a scope or logic probe. Double check by disconnecting the RX-TX jumper. The characters should no longer be echoed. If you get a double echo that drops to a single one when you disconnect the RX-TX jumper, that's also O.K. - it just means your terminal program has 'local echo' turned on.If you don't get an echo or it doesn't match what you type, its back to driver or CH340G chip problems. Try it on a different PC, preferably NOT running Windows 10, to eliminate the driver.Finally, crank up the baud rate in the terminal to 115200, reconnect the RX-TX jumper and confirm it still passes the loopback test as AVRDUDE typically uses that speed when uploading a sketch.Once you've confirmed that it passes a loopback test, the only remaining problems are around the ATmega328P chip. As you've been flashing it via the AVR ISP connector, odds are you don't have a valid Arduino bootloader in it. Sometimes cheap Arduino clones come without a bootloader when the ghost shift that made them skipped testing and progamming them. Its an easy fix - hook up an ISP programmer, make sure the right board and ISP programmer are selected in the IDE and click 'Burn Bootloader' at the bottom of the Tools menu.Remove the reset grounding and RX-TX jumpers, go into the IDE's preferences and enable (tick) 'Show verbose output during: upload' and try uploading a sketch. All should be good.If it fails withCode:avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30then either there is a problem with the CH340G pulsing the Reset pin (check it with a scope or logic probe) or the ATmega's TXD or RXD pins are damaged or its oscillator isn't working. (If the Reset pin was damaged, ISP programming would have failed.)

author: VEGETA
author_rank: Super Contributor
timestamp: April 06, 2018, 02:06:36 pm
content: I took your advise and put timeframe links within video description:Now you can see all the items and jump to them in video as well as get their link.I will be using USBtinyISP for now with CH340 Arduinos... I still didn't test it yet.

author: VEGETA
author_rank: Super Contributor
timestamp: April 06, 2018, 02:33:06 pm
content: Speaking of views, My channel is about 3400 hours in last 12 months and thus I need another 600 hours or so to get monetization back. People here do some watch farms where they put their browsers on "watch all" to get some views but I don't know if this is efficient or not.

author: sairfan1
author_rank: Frequent Contributor
timestamp: April 06, 2018, 02:56:26 pm
content: Just want to share my experience, this is right that windows 10 is making issue with drivers, that is because of clone devices, i have an other laptop with windows 7 installed (one i was using in the past) i have been disabled its updates, i often solve such problems by installing such devices on windows 7

author: westfw
author_rank: Super Contributor
timestamp: April 07, 2018, 09:32:42 am
content: QuoteThat SHOULD be OK. Of course the board is "unknown" if it's some sort of generic USB/Serial chip instead of the arduino-specific VID/PID that identifies it exactly. But that shouldn't interfere with the Arduino IDE uploading to it.(not counting the "Old Bootloader" fiasco that someone has already mentioned. Or boards that have an "unexpected" bootloader.)

author: Rick Law
author_rank: Super Contributor
timestamp: April 08, 2018, 10:21:27 pm
content: Quote from: westfw on April 07, 2018, 09:32:42 amGiven the NANO's are so cheap... Once you get one working as ISP flash burner, it is a good idea to reserve it as a dedicated ISP flasher - and make sure you have it with the Arduino ISP bootloader hex file(s) frozen and working locally.With that, you have the confident that come what may, you can always blast a new chip/board with the proper bootloader.