Yet another chinese usb-serial IC on "arduino"? - Page 1
Forum section: electronics / general

author: Amper
author_rank: Frequent Contributor
timestamp: February 26, 2025, 08:03:48 am
content: Hi,i havent used arduino stuff for a few years now but wanted to get some cheap nano boards from aliexpress to use for non critical stuff and was happy that there now is usb-c ones.I never had issues with drivers until now on my linux machines no matter if ch340 ch341 or original boards however the ten boards ali delivered now work on no machine, no matter the hardware or windows/linux. They appear as FTDI and windows shows a usb-serial port, the IDE recognizes the serial but uploading the compiled program wont work, no errors, just nothing happening until the pysical connection is separated. Putty shows the port but cant open it, debain shows no serial port.There is no markig on the IC, its SOIC 16.Is there a known new player in low cost usb-serial converters thats not compatible or am i just unlucky and the stuff i bought is broken?br G.

author: oPossum
author_rank: Super Contributor
timestamp: February 26, 2025, 08:12:59 am
content: What is the USB VID & PID?

author: PCB.Wiz
author_rank: Super Contributor
timestamp: February 26, 2025, 08:16:39 am
content: Does ali give no hints of the lineage?Do you have a link to their product, and a photo of the ic top?What baud rates did you try?CH340/1 have new siblings CH343, but those tend to be slightly higher price, because they work a bit better a thigh baud rates.lcsc does show Holtek HT42B534-2 as somewhat new player, in SO16

author: Amper
author_rank: Frequent Contributor
timestamp: February 26, 2025, 08:43:48 am
content: Hi, thanks for the fast reply, VID shows up as 0403 (FTDI) and PID is 6001. Though for some reason these do not show up at all with lsusb or dmesg under debian 12, windows sees them though.The IC is not marked at all and never was (not laser erased or ground off). Just a blank so-16.I bought those:https://de.aliexpress.com/item/1005007475356474.html?The rating is good but three people also complained about them not being writable.

author: GromBeestje
author_rank: Frequent Contributor
timestamp: February 26, 2025, 12:05:10 pm
content: Quote from: Amper on February 26, 2025, 08:43:48 amI have seen such behaviour before, where a device wouldn't enumerate on LInux, but it did on Windows.Does dmesg show up some enumeration fault?

author: xvr
author_rank: Frequent Contributor
timestamp: February 26, 2025, 12:58:32 pm
content: Interesting... Ali claims it's a CH340, VID is shown as FTDI. What is it really - some unknown beast?It may be some fake FTDI clone. But FTDI added protection against such fakes in the latest drivers, so they simply do not work with FTDI drivers. Try downgrading the drivers.

author: Amper
author_rank: Frequent Contributor
timestamp: February 26, 2025, 01:17:11 pm
content: What i dont get is how the thing can be sucessfully installed as a serial port under windows (with official ftdi drivers) but still wont work. If the driver would just reject the part thats something id get.Ill try when im home and have an old computer that hasnt seen updates for several years to test that.Also id expect them to be visible in linux even if they dont work.There is errors in my dmesg but they are there no matter if the board is connected or not so most likely something else in my computer.

author: themadhippy
author_rank: Super Contributor
timestamp: February 26, 2025, 02:18:14 pm
content: Maybe totally of bat here,but check out brittyhttps://koen.vervloesem.eu/blog/how-to-stop-brltty-from-claiming-your-usb-uart-interface-on-linux/, it caused me similar problems in the past.

author: Peabody
author_rank: Super Contributor
timestamp: February 26, 2025, 02:48:53 pm
content: Ali says the processor is the Atmega328PB, which is not the same as the 328P found on Arduinos. Are you using the Arduino IDE? Do you have the PB boards manager installed?Also, there is a problem with the CH340. It seems the newer driver versions no longer work with certain counterfeit CH340s (the ones with no markings). If your UART chip is 16-pin, then it's probably a CH340. The driver version dated 2022 or 2019 would be needed for those chips.

author: Ian.M
author_rank: Super Contributor
timestamp: February 26, 2025, 03:30:26 pm
content: Quote from: Amper on February 26, 2025, 01:17:11 pmSome FTDI Windows driver versions send and receive "NON GENUINE DEVICE FOUND!" instead of the expected data when they detect a fake chip.Seehttps://www.eevblog.com/forum/microcontrollers/ftdi-gate-2-0/

author: Amper
author_rank: Frequent Contributor
timestamp: February 26, 2025, 07:57:15 pm
content: Thats really interesting, ill have to check for that. It would explain the windows side of things (except for putty not opening the console at all).But according to that thread they didnt touch linux drivers yet so thats still a question why it wont enumerate there.EDIT:I didnt realize earlier that this was from 2014... Sadly that most likely means its not my current issue, i have a lot of old and new hardware from back then to today and never encountered this a single time. It seems unlikely it now suddenly hits those bought in 2025 again.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: February 26, 2025, 10:53:34 pm
content: Quote from: Amper on February 26, 2025, 08:43:48 amThat link no longer shows USB UARTS ?If it simply fails to work and lacks any ID it may be time to pick a better supplier.There are many modules on Ali using the newer CH343, for just a little more.(one of my peeves is modules that fail to give access to enough handshake lines ...)It's rare to see a circuit, but they come with varying amounts of fluff between the chip and pins. Some CH343 exampleshttps://www.aliexpress.com/item/1005006253596921.htmlhttps://www.aliexpress.com/item/1005005791906469.htmlI've had modules from EC buying before fine.https://www.aliexpress.com/item/1005008053302223.htmlThat one seems to have 5 SOT23 packages between connector and CH343, maybe FET level shifters ?I've not seen an AVR+CH343 yet, but this one does seem to show a genuine WCH CH340G part, in text and images.https://www.aliexpress.com/item/1005005135325335.htmlThis one says CH340G in the banner, but the pcb photo shows CH340C, I guess trust the photo?https://www.aliexpress.com/item/1005006111618562.htmlThis one looks to have a crystal, & CH340C, instead of the usual resonatorhttps://www.aliexpress.com/item/1005003989464700.html

author: Amper
author_rank: Frequent Contributor
timestamp: February 27, 2025, 07:17:17 am
content: I dont think you can rely on anything they write in the text.EDIT:Just tried dmesg again and paid a bit more attention, it turns out as unable to enumerate.I guess ill buy a bunch of genuine ICs and swap them, fast enough with hot air to be worth it but still annoying...

author: Ian.M
author_rank: Super Contributor
timestamp: February 27, 2025, 09:54:28 am
content: FDTI have an unfortunate track record of drivers that go a step too far when they detect misuse of their VID and one of their PIDs. Instead of simply erroring out they have historically tried to brick hardware and corrupt data. Its been a while since their last public misadventure but that only increases the risk that they think its a good idea to try again!Its easy enough to see if they've screwed with their drivers yet again. Simply short the Nano clone's RX to TX and ground the 'Atmega's*Reset pin. Then on Windows, use a terminal program to open the port, send spaces and see what you get back. If you actually get spaces, try other characters.Be careful when trying to replace the suspect USB UART with something genuine - there is no guarantee it has a compatible pinout to anything normally available, so you will probably need to do some reverse engineering of the PCB . . . .* We should all know the MCU is probably the Ares fake/clone!

author: Amper
author_rank: Frequent Contributor
timestamp: February 27, 2025, 10:15:05 am
content: I would really really appretiate if you would read previous posts before answering. All of what you just wrote has already been said and this thread is not very long.Also i already told that i can not get a serial terminal since using it in linux will result in enumeration fault, using in windows enumerates but i can NOT open a putty console for the serial port that is generated. So shorting the pins will tell me nothing.

author: Peabody
author_rank: Super Contributor
timestamp: February 27, 2025, 03:29:07 pm
content: Quote from: Amper on February 27, 2025, 07:17:17 amBefore you do that, it might make sense to set up a working Nano or Uno as "Arduino as ISP" to bypass the UART chip, and use AVRdudess to read the flash contents or read the fuse values of these new parts, just to find out whether the MCU is actually the 328P or the 328PB. Your Aliexpress listing says both at different places, but it's got to be one or the other. And by the way, which marking is on the MCUs? It would just be a shame to replace the UART chips only to find that the MCU isn't what you want. If you can get a full or partial refund without having to return them, it might make sense to buy new ones from a better supplier.A real CH340x would have its pin 4 connected to the 3.3V pin of the Nano. If your new Nanos are like that, then it seems they are at least pretending to be CH430s. But then of course the VID/PID values make no sense at all.

author: OZ1LQB
author_rank: Regular Contributor
timestamp: February 27, 2025, 03:41:35 pm
content: I have an Arduino like you describe, I replaced the CH340 with an original one with the result that it smelled bad. I can only speak for my own Arduinos. The conclusion in my case is that the CH340 clones on mine are not pin compatible.The result is that I now use a 2019 driver and my problems are gone.

author: Peabody
author_rank: Super Contributor
timestamp: February 27, 2025, 04:13:17 pm
content: Here's a link to the whole CH340 driver issue, with instructions from ptillisch, who works for Arduino, on reverting back to an earlier driver version.https://forum.arduino.cc/t/i-uninstalled-drivers-and-updated-with-ch340-latest-driver-also-i-am-facing-same-issue-i-selected-esp8266-generic-module-code-simple-led-blink/1353428/30Apparently the 2022 drivers are the last version that work for some batches of the "CH340" chips and lookalikes. The 2019 version also works, which is what I have. He provides a link to download the 2022 version.So as you will see, the problem is in getting Windows to let you roll back to the earlier version, and then leaving it alone, and not automatically updating it again to the non-working version.I think this is actually the most likely explantion for the problem. It would explain why some feedback reports they work fine, while other feedback says the opposite. @Amper, if you have at least one device that uses a CH340 that actually works, you might want to check the CH340 driver date on your Windows box, and if it's later than 2022, try getting the older version installed. I don't know about Linux.Do you have an older computer that might have an older driver version that you could test? Maybe a Win7, or even XP? If your new chips are recognized as CH340 on an older machine, then I think that identifies the problem.

author: Peabody
author_rank: Super Contributor
timestamp: February 28, 2025, 03:06:40 am
content: I messaged ptillisch about this problem, and he confirmed there have been a number of reports of UART chips which look like CH340 parts, but which identify by VID/PID as FTDI, and which don't work. But unfortunately, he doesn't know of any case where these chips were made to work. So apparently this has nothing to do with the CH340 driver vintage issue.But before replacing them, you would want to be sure about the pinout.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: February 28, 2025, 04:28:55 am
content: Quote from: Amper on February 27, 2025, 07:17:17 amGiven the replies above, maybe it is best to pay a few cents more and buy from a better supplier.I've used EC buying before, and they have an explicit order list here of connector and uart (choose CH340/FT232) and choose ATmega328P/ATMEGA328PB combinations.https://www.aliexpress.com/item/1005002286212601.html

author: paf
author_rank: Regular Contributor
timestamp: February 28, 2025, 09:48:39 am
content: Issues that may be (or not) related to your issues:1- Try Linux first, one can have less driver issues on Linux and they are (usually) easier to solve.2- If you do on the Linux command line:Code:lsmod | grep ftdiwithout any ftdi device connected, it should not give you any output.After connecting an FTDI device the ftdi_so kernel module is loaded, and wil be "associated" to the usbserial and usbcore modules.Repeating the command you should see the ftdi_so module loaded.After having connected a device, the ftdi_so module stays in memory, even if the device is disconnected.Sometimes the kernel module is missing:https://github.com/microsoft/WSL/issues/113463- If the Arduinos are "old" you may want to reprogram them with the new version of the Arduino bootloader.

author: Amper
author_rank: Frequent Contributor
timestamp: February 28, 2025, 10:53:58 am
content: Thanks for the input but did you read the previous posts?

author: paf
author_rank: Regular Contributor
timestamp: March 14, 2025, 09:50:46 am
content: Sorry for delay in answering, but needed some hardware to check my assumptions.Bought one "Arduino Nano Clone" from the same Aliexpress shop (Shop1102186190 Store).First surprise: no markings on the ICs.Second surprise: a very strange IC as the USB-Serial converter.lsusb on Linux/OSX gives a very strange ID:============idVendor 0x0843idProduct 0x5740bcdDevice 1.00iManufacturer 1 FIREPHXiProduct 2 USB SERiSerial 3 FX2348N===================Full output on attachment.No, its is not a CH340 and it is not an FDTI chip. No way.It seems to works as a serial port on Linux, Windows 10 and OSX Ventura (Intel).Third surprise: "Arduino Software" does not program the board as it gives a timeout on uploading.No uploads on Linux, Windows 10 and OSX Ventura (Intel).Time to connect a USB Tiny ISP and reprogram the boot loader.Arduino IDE refuses to program the boot loader, with a message saying the device is not an ATMEGA 328P:Device signature = 0x1e9516Googling it says the microprocessor is an 328PB, and to support them a board support package is available at:https://github.com/MCUdude/MiniCoreThe url to add to Arduino IDE is:https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.jsonThen the board can be programmed on the Arduino IDE, without errors.I have tried it on Linux, Windows 10 and OSX Ventura (Intel).But you need to have the "Minicore" board support package installed, and on the processor variant of the tools menu one must choose "328PB".The board has (see picture on the shop site) two additional pins on the headers (close to the ISP pins) PE0 and PE1. These pins only exist on the 328PB.Hope this helps everybody that has issues with these "arduino" boards.

author: Peabody
author_rank: Super Contributor
timestamp: March 14, 2025, 02:55:20 pm
content: Thanks for running this down. But I'm confused about the UART chip. The OP said his identified in Windows as FTDI:> Hi, thanks for the fast reply, VID shows up as 0403 (FTDI)> and PID is 6001. Though for some reason these do not show> up at all with lsusb or dmesg under debian 12, windows sees> them though. The IC is not marked at all and never was (not> laser erased or ground off). Just a blank so-16.Is there a driver for this chip in Windows?

author: paf
author_rank: Regular Contributor
timestamp: March 14, 2025, 05:00:11 pm
content: About the FTDI identification, I cannot tell anything. It seems very strange to me.About the Windows Driver, on Windows 10, it automatically installs a generic Microsoft driver for the device.On my 64 bit Windows 10 machine (according to Control Panel and msinfo) the driver is:C:\Windows\system32\DRIVERS\usbser.sysProvider: Microsoft CorporationFile Version: 10.0.19041.3636 (Winbuild 160101.800)Copyright: © Microsoft Corporation. All rights reserved.Digital Signer: Microsoft Windows.

author: oPossum
author_rank: Super Contributor
timestamp: March 14, 2025, 07:44:42 pm
content: It identifies as USB CDC (communications device class) so it doesn't need a manufacturer specific driver.

author: westfw
author_rank: Super Contributor
timestamp: March 15, 2025, 09:03:03 am
content: QuoteWCH, and perhaps others, do have a new series of chips (ch910x?) that identify as standard CDC/ACM devices, so as not to require custom drivers.

author: Amper
author_rank: Frequent Contributor
timestamp: March 16, 2025, 07:10:43 am
content: @paf: Thank you very very much, i didnt expect someone to go through the trouble of confirming what ive seenYes, mine listed under windows as 0403 but still did not work. Also it does not work as serial device anywhere so i guess its something different still.Ill reprogram mine with the minicore and try again, so far i just tried programming it via isp and put the stuff aside as soon as it shown up as PB and went back to my trusty STM for the sake of time....

author: per1234
author_rank: Newbie
timestamp: March 26, 2025, 02:17:24 pm
content: Quote from: paf on March 14, 2025, 09:50:46 amThanks for sharing this information@paf! I make some efforts to support the users having problems with boards that have these strange chips over on Arduino Forum, but am hindered by not having one of the bad boards myself. So your findings are very interesting to me.Does the board also have this 0843:5740 VID/PID pair on Windows?If you are using Arduino IDE, a convenient way to get the VID/PID pair is:Connect the board to your computer with a USB cable.Select the port of the board from Arduino IDE'sTools > Portmenu.SelectTools > Board Infofrom the Arduino IDE menus.A dialog will open that shows the VID/PID pair after you do that.Alternatively, you can get the VID/PID pair using the Windows Device Manager.

author: paf
author_rank: Regular Contributor
timestamp: March 26, 2025, 06:48:03 pm
content: Yes, the boards have always the same 0843:5740 ID on Windows.Tested on Windows 10 using the "Device Manager" and on Arduino IDE it also gives the same values:BN: Unknown boardVID: 0X0843PID: 0x5740SN: FX2384NIf you need anything more, just ask.