What is CH340?
CH340 is a TTL (serial) to USB converter and vice versa. This chip has been used in some boards such as Arduino Uno CH340G, ESP8266, etc. The boards using the CH340 chip, don’t need a programmer in order to access the processor or to program them.
But there is a downside. An extra driver must be installed before starting to work with boards having this IC. In this tutorial, you will learn how to install CH340 driver.
You can apply this guide to all Windows versions, including Windows 11, 10, 8, and Vista. The process of installing the CH340 driver on Windows 11 closely resembles that of Windows 10 (or other earlier versions).
Installing CH340 Driver on Windows
If you connect your board to the computer before installing the driver, your computer will not recognize the board correctly and you will see following image in Device Manager.
To open Device Manager, search for it in the Windows Start menu.
Follow the steps below to install the CH340 driver:
Step 1: Download CH340 driver
First, download the CH340 driver from the this link.
CH340 Driver for Windows
You can also download the latest version of the driver directly from the manufacturer’s site.
Step 2: Install CH340 Driver
After downloading the CH340 driver, open it and click Install.
After successful installation you should see this message.
Note
In some cases, you may need to restart Windows after the driver installation is complete.
Step 3: Checking Correct Driver Installation in Device Manager
If your CH340 driver has been installed correctly, and if you connect your board to a computer, then you can see its name and port number in the Port section. For example, my Arduino board is connected to COM7.
Step 4: Checking Correct Driver Installation in Arduino IDE
Open the Arduino IDE software. Go to the Tools menu and from the Port section, select the port number appropriate port that your board is connected to. Note that this port number must be the same as the number you saw in the previous step.
To make sure, you can upload a code that you have already written to your board. For example, I use the Blink example, which is a Built-in example of the Arduino IDE.
If your code is uploaded correctly to the Arduino, you should see a Done uploading message.
Success
At this point, you have successfully installed the CH340 driver correctly and from now on you can easily upload the code you have written to your board.
Comments (33)
Thank you so much, it worked! Just that I was getting “drive installation failed”, in that case I uninstalled and then installed again.
You’re so welcome! And thanks for sharing your experience.
After I installes the driver (Step 2) I got the following message: “The driver is succesfully Pre-installed in advance.”
And thats it!
No connections to the board. (No Windows plug in sound, nothing)
And yes, i tried it with several cables.
And yes, I tried it on all my hubs.
And yes, I uses a another computer.
And yes, I cleaned ab my USB-Devices, my registry.
And yes, I used different boards (3pcs), all of them are not working.
And yes, they are from differnt stores.
What board are you using? Make sure that it comes with CH340 driver. Also open the Device Manager on your computer to see if any new device is added to the “Other devices” or “Ports (COM & LPT)” section when you plug in your board.
Hi encountered exactly the same issue as Eric. Any solutions found?
First see if this comment helps you. If not, we can think of something else.
“What board are you using? Make sure that it comes with CH340 driver. Also open the Device Manager on your computer to see if any new device is added to the “Other devices” or “Ports (COM & LPT)” section when you plug in your board.”
Thanks for the comment. I am using a Mega2560 . Windows10 device manager shows an unknown device (error 43) , but not within COM&LPT section but within the USB controller section.
In the com lpt section Com1 ,Lpt and the intel active management technology SOL at com3 is listed.
Any suggestions will be welcome. Thanks
Good news. Issue has been solved! The usb cable was too long , changed from 1.5 meter to 1 meter. Now ok
Well, that’s great.
Hello ı have non original arduino uno. I cant see port and ı installed driver. But still cant see on my laptop. Driver says “the driver is succesfully pre- installed in advance. I couldnt see port. I did few things but still cant see. Can anyone help me ?
Hi. Open the Device Manager on your computer to see if any new device is added to the “Other devices” or “Ports (COM & LPT)” section when you plug in your board. If nothing appears, there might be something wrong with the Arduino board you have.
Thank you. In my case, I need to connect the board first before install. Otherwise, the installation was always fail.
That’s because when you connect the board, the PC can recognize the driver of it. So, it’s better that you connect it first.
I hope that I can get a reply, I think I installed the driver correctly because the bafang programming tool can now see it. When I press conect it starts connecting and my cable starts flikkering a blue light.
The problem now is that no information is showing up and I cant press “read”. The button stays grey. What is the cause of this and how do I solve it?
Hi,
What’s the board you’re using? Do you see the port of that board in the “Device Manager” when you connect it to the PC?
And also, as Rick said, try a different cable to see if it solves the problem.
Try a different cable. Some just don’t work proerly.
Hi, I have an issue with the ch340 as well, I have download it and isntall, also got the pre-nstalled message. Went to my device manager and no “other devices” displeady as No porst also. the thing is I can´t see my 3D printer by the micro USB cable. Have tryed different things notihing works
Hi.
The device manager must display the PORT related to your 3D printer whether you have installed the right driver or not. If you can’t see the 3D printer in device manger when you connect it to your PC via a micro USB cable, there might be something wrong either the cable you’re using or with the 3D printer itself. So, to troubleshoot the issue, first check the device manager thoroughly to make sure no new PORT is added when you plug in your 3D printer. Notice that the new PORT might appear in “Other devices”, “PORTS” or “Universal Serial Bus controllers”. So, check all these 3 parts carefully. In the next step, in case you didn’t see any new port appear in the device manager, try different cables. This usually solves the problem. But, if the problem still existed, the problem might be related to the 3D printer itself.
I have the same problem with the ch340>rs232 board. My most recent trial was with a download directly from the chinese mfg. What happens is that when I click the Install I get “install fails” Interestingly, I have an ES32camera board and it appears to have the same chip a ch340 on it. That board dd installed fine. I thought I could simply copy the dd for that board over to the ch340 but of course its just not that simple. Something in a new windows update or something else causes that install to fail maybe windows is trying to protect us from a chinese chip provider.
I couldn’t fully understand your problem! If you have already installed the CH340 driver for another board, you don’t need to install it again for another CH340 board you have. You can just connect it to your PC and it will work just fine.
Ch340 install problems. Since my last posting I have discovered some things that may help eliminate this problem. First thing to do is run/click the uninstall button. After doing that I was able to solve the install failed problem.
Next, it is apparent that the Ch340 design does not meet USB standards in the area of critical timings. I say this because I have noticed that if I plug my Ch340 board directly into my USB port it works. However, if I use an extension USB cable most of the time it fails to work. From my work experience I know that the USB timings are very critical in order to maximize performance. Consequently if a chip designer is not careful about meeting USB timing specs then there will be situations when that chip will not work. This would also explain why sometimes it will work after installing into a different USB connector on the PC since those timings can vary as well. When I say I get it to work, all I have been able to do is install the wrap connector and get the adapter to talk to itself as verified with putty.
Recently I got a ESS32-CAM card and it contains the same Ch340 chip and it has worked fine even with the USB cable so I suspect that the ch340 designer released an updated design of the chip that meets the USB timing specs or maybe some aspects of the board design are adjusted to help make the timings.
Bottom line, unless you enjoy chasing down problems you will be better off buying the more expensive ftdi or other non-Chinese designed chips.
Hi,
Thank you so much for sharing your valuable experiences. That means a lot to us.
The download is dead!
Hi.
You’re right! The link is now fixed.
Hello, this is for my 3d printer, sometimes it works some times it doesn’t. I have tried installing CH341 and it says it’s preinstalled yet when I try to uninstall it says no device detected. I tried to manually select the LL file for CH341 however it said please select one that works with windows. It appears on the device manager but is recognized this can change from either plugging it into a USB extender and trying to put it in a random port for it to work but it has never worked directly connected to my pc. Any ideas would help thx
Hi there
you can connect a CH340 or CH341 device to your pc and then go to the device manager and right-click on your port and then select the “uninstall device” option. Next, install the driver again. This might help.
Hey,
I installed the driver but it isn’t showing up anywhere when i open the device manager.
p.s. i’m trying to connect my FS-i6X controller to my laptop.
Hey
What module are you using for communication?
Hello I am trying to use this but keep getting a message saying it’s been preinstalled. But I don’t see the device in device manager or hear windows connect to it.
Hi dennis,
use this article to manually install your driver
My device is not recognized on device manager. I tried plugging esp first, then i tried with arduino uno. Both need the same driver (ch340xx). I installed it and it shows the message that it is preinstalled. Then i connected my device to the laptop and checked in the device manager but it doesn’t show neither arduino nor esp.I connected them seperately one at a time.
My usb ports are working, the devices are not faulty even the driver is installed. This is the second esp i tried because the first one had the same issue and i ordered again.I even tried different usb cables.
I even tried rebooting my laptop and also checked the devices on other laptop but still they both won’t show on device manager . What should I do?
Hi Mili,
First, check if your cable is working properly. You can test it with an old Android phone or another device that sends and receives data via the cable.
Next, open Device Manager on your computer and observe what changes when you connect your device. It might take several attempts to identify the connected device.
If the device shows up as “CH340 (COM xx)” like in the image in the article, everything is fine. However, if a different name appears, there might be a problem. Please share that name with me so I can help you find a solution.
Nothing comes up.No matter how many times I try no new device comes up be it arduino or esp8266 I plug