Which USB to serial adapter should I buy?

I will buy one at Amazon, unfortunately the offers in US look a lot better than in Europe. Included cables are normally 20cm long and never longer, it looks like this is not very much between Notbook and opened switch. Looks like, that more than 20cm is critical.

I found 2 chips, which are sold:

CH340G
CP2102

The critics at Amazon say the CP2102 works better, while the CH340G can make problems.

Can you recommend a chip for the uart-usb connection tp flash the GS1900?

This has been discussed a few times before. See for example Search a good adapter USB serial <-> TTL

Any USB TTL adapter with 3.3V IO should work fine. Note however that some of the specs lie. Get a multimeter and measure the voltage on the RX and TX pins before connecting to the switch or router. It should be somewhere in the 3 dot something area, and definitely not exceed 4V.

2 Likes

I have one of the CH340 boards for SPI flash, though it is supposed to also have an asynchronous mode I could never make that work. So get the CP2102. The TTL signals are not intended to travel through long wires. Use a USB extension cord if you need the router / switch farther from the USB port.

1 Like

Probably should! Not a good start for me as a beginner.

I do not understand why they sell 2, 3 or more pieces. Are they garbage and you have to test yourself which one works?

If you want a cheap one just go for CP2104 as CP2012 doesn't support higher baudrates which may be of interest in the future.
A short overview https://wiki.freebsd.org/USB/Peripherals/Serial

1 Like

I don't care about a few bucks less or more, I would prefer something that works reliable.

My fav is (and this one is the most expensive with a cable, but 2 pieces):

YXPCARS 2 Stücke CP2102 Konverter 5PIN Downloader für UART STC 3.3V und 5V mit Jumper Kabel für Arduino

https://www.amazon.de/YXPCARS-Stücke-Konverter-Downloader-Arduino/dp/B08MZS8WV2/ref=sr_1_10?__mk_de_DE=ÅMÅŽÕÑ

I prefer one, where the cable is included.

cp2102 is fine (using one myself), many tinkering with embedded devices tend to need them regularly (and more than one, as they're often almost regarded as disposable or remain permanently mounted in RPi/ esp8266/ esp32 or arduino based devices - connect USB and off you go). cp2104 should be fine as well, but their improvements over cp2102 don't really matter at all (anything you're going to throw it at won't do more than 115200 Bit/s anyways - and neither can do 1.8V, which is getting relevant for modern ARMv8/ wifi6 devices, like ipq807x - but they're cheap and plenty, as well as rather robust).

2 Likes

The price is not counting, the better chip can cost less.

I searched for the CP2104 with cable and found 3 offers, from the picture they look all the same, so I think I give the cheapest a chance:

HALJIA Serieller CP2104-Konverter, USB 2.0 zu TTL UART, 6-Pin-Modul, kompatibel mit CP2102 und späteren Modellen

Movilideas CP2104 Serie Konverter USB 2.0 auf TTL UART Modul kompatibel mit 6 Pin und besser Que CP2102

TECNOIOT CP2104 USB to RS232 TTL UART 6PIN Connector Module Serial Converter |Serieller Umsetzer CP2104 USB-zu-RS232-TTL-UART 6PIN-Anschlussmodul

Unless you need 1.8V support, there is no need to overpay. A fiver should give you a cp2102 with quick/ local shipping, under 1.50 bucks with slow shipping from China.

If you'd be looking for 1.8V support and 'quality', FTDI FT232RL would be the target of choice, but with FTDI you enter the domain of fake chipsets (and FTDI retaliating against these).

So far the cp2102 has been too cheap to be faked, working well enough (unless you need 1.8V support or some specialties) and a bit more robust against ESD.

These devices (routers, switches, etc.) don't need anything special, as long as you don't fry them with too much voltage - and contrary to hacking on arduino/ esp8266/ esp8285/ esp32, they neither need to supply much (any) power to the MCU.

1 Like

Are there fakes of the CP2104? I found one including cable for 2,59 €
Nitrip Blue CP2104 USB 2.0 zu TTL UART 6PIN Modul Serielles Konverterplatinenmodul mit Kabel

A price of around 10€ would be fine. It doesn't make sense to order from China directly. In July custom rules change in the European Union and you have to pay taxes (not much), but a lot of service fees to the postal office, read about 5€ min.

A DSD TECH SH-U09C2 USB zu TTL Adapter Eingebauter FTDI FT232RL IC zum Debuggen und Programmieren for about 12€ would be ok, but I can't find a cable for an acceptable price.

While searching for a cable I found DSD TECH SH-U09BL USB an TTL serielle Kabel mit CP2102N Chip 1.2M/4FT for about 10€.

https://www.amazon.de/DSD-TECH-SH-U09BL-serielle-CP2102N/dp/B08JLRP6YV/ref=sr_1_2?__mk_de_DE=ÅMÅŽÕÑ

The cable is 1.2m / 4ft long, this seems to be very interesting.

Modell: SH-U09BL
Haupt chip: Silicon Labs CP2102N
Definition des Pins: RXD,TXD,GND,VCC,CTS,RTS
Ausgang VCC: 5V
TTL Logische Pegel: 3.3V
USB Schnittstelle: 2.0
Die maximale Geschwindigkeit: 3Mbps
Länge: 1.2M/4 Fuß

Silicon Labs CP2102N:CP2102N ist eine aktualisierte Version des CP2102-Chips, die maximale Geschwindigkeit kann 3Mbps erreichen, die dem FT232RL entspricht.

It says in German, that the "N"-chip is comparable to the FT232RL.

So is this a cable which should be ok for the GS1900?

I use the PL2102 adapter all the time, without the 3.3V line. It works fine for the last half decade on Windows 10.

Except SoCs such as Rockchip for instance which uses 1.5M
Recommending FT232RL is really unnecessary as you have many other ICs by FTDI that aren't commonly counterfeit and at the same price.

@linuxuser
If you read the wiki page I linked to....
https://www.eevblog.com/forum/projects/psa-do-not-use-the-cp2102n-usb-to-serial-converter-in-your-designs-(for-linux)/

@murraydr44
I've been using Prolific PL2303TX just fine but they're EOL :-/

2 Likes

You can assume all chips are faked. The exceptions are too rare to care about. The fake chips aren't a problem for the simple serial UART (console) use case. They are faked to make that use case work. They fail with more advanced things like higher serial speed, other functions than UART, or programming the chip. You won't need any of that for console access.

The design of the adapter circuit is more important than the chip. 5V adapters exists because they are fine or required or some connections. But NEVER for a switch/router console which is almost always 3.3V, except for some newer SoCs using 1.8V. And some boards with those SoCs will even have 3.3V level shifters to make them 3.3V compatible as well.

I have a batch of CP2102 based adapters which are unusable, with close to 5V on the IO lines. I also have two batches of PL2303 based adapters looking pretty similar, but where the last one I ordered had 4.8V on the IO lines. It still has a 3.3V regulator for the (unnecessary) VCC output. Go figure.

The last batch of adapters I bought were FT232R based, thinking that the level shifter inside the chip should make those circuits pretty hard to mess up. And I was right. They worked fine. Don't know if that was pure luck, though. The chips are as fake as they get, all having the same serial number and a "read-only eeprom".

Not sure this helped anything. There are mostly two options

  • buy a cable with a real brand name from a serious electronics retailer in the price range EUR 20 - 30
  • buy from ebay etc, measure what you get, and be prepared to repeat until you find a working sample

I have no personal experience with the first option. But I know there are things like this cable: https://ftdichip.com/products/ttl-232r-rpi/

2 Likes

This helps a lot! Thank you very much!

So I try the following, because I get 2 pieces.

YXPCARS 2 Stücke CP2102 Konverter 5PIN Downloader für UART STC 3.3V und 5V mit Jumper Kabel für Arduino. BTW the most extension cables I found are very expensive, 8-10€, there was 1 offer for 1€, hope this is not garbage.

Got the YXPCARS CP2102 now, no manual or description included, so my 1st question as a non-technician, how can I check the voltage? Which pins do I have to use?

There is
3V3
TXD
RXD
GND
+5V

Can I put it on any USB-Port or must it be USB2?

For layout see Amazon:
YXPCARS CP2102

GND <--> 3V3
GND <--> RXD
GND <--> TXD

Neither of these voltages should exceed ~3.3V.

+5V you're never going to use (and actually neither 3V3).

3 Likes

GND <--> 3V3: 3,4V
GND <--> RXD: 3,4V
GND <--> TXD: 3,4V
GND <--> +5V: 5,02V

So should I send it back?

That should be within tolerances.

3 Likes

Not so important which colors the cable have, but I would like to now if white or purple is the correct color for gnd. I could connect the pins the other way too.

Please remove the +5V and +3.3V cables to not even get tempted to connect those.
That will fry your SoC

5 Likes