Go Down

Topic: are silicon labs cp210x usb to uart bridge's fake? (Read 1 time) previous topic - next topic

aidenn

Mar 19, 2020, 06:12 pm Last Edit: Mar 20, 2020, 01:07 pm by ballscrewbob
Hello arduino community! i have recently bought a silicon labs cp210x usb to uart bridge so i can communicate via serial with my Leonardo, but it does not seem to work. I have tx -> rx, rx -> tx, 5v -> 5v, and ground -> ground.

The cp210 only gives my arduino power, i can not receive or transmit any information in the serial monitor. Nor can i upload any sketches.

I tried with all of my boards, same thing.

here is what the device manager and the arduino ide say.

any information would be great.

(mod edit)


(deleted)

#1
Mar 19, 2020, 06:14 pm Last Edit: Mar 19, 2020, 06:15 pm by spycatcher2k
(deleted)

aidenn

You cannot upload the the Leonardo this way! The Leo uses a virtual com device, not connected to pins 0 & 1.
that sucks, but not the biggest problem in the world. i bought it for serial communication with my pc (any form of communication with the arduino from my pc that does not involve the usb port would work aswell if no one knows a fix for this).

tldr my project is taking mouse input from one pc, and sending it to another via hid.

aidenn

Hello arduino community! i have recently bought a silicon labs cp210x usb to uart bridge so i can communicate via serial with my Leonardo, but it does not seem to work. I have tx -> rx, rx -> tx, 5v -> 5v, and ground -> ground.

The cp210 only gives my arduino power, i can not receive or transmit any information in the serial monitor. Nor can i upload any sketches.

I tried with all of my boards, same thing.

here is what the device manager and the arduino ide say.

any information would be great.
I feel like at this point im better off ordering a new one :/ does anyone know any usb to uart devices that 100% work? any other form of communication that does not involve the usb port of the Leonardo would also work <3

ShermanP

#4
Mar 20, 2020, 01:28 am Last Edit: Mar 20, 2020, 01:32 am by ShermanP
The CP2102 is a 3.3V chip.  Are you using a module of some kind that passes te 5V USB power through? A diagram of your circuit would help.

Also, are you sure the driver is installed on your computer?



aidenn

The CP2102 is a 3.3V chip.  Are you using a module of some kind that passes te 5V USB power through? A diagram of your circuit would help.

Also, are you sure the driver is installed on your computer?



yep the driver is installed on my computer! if you look at the image i linked before you will see it shows up in device manager.

and what it only goes to 3.3 voltz?? but on the board its self it has a 5v+ option!

my circuit is pretty simple:
rx->tx
tx->rx
5v->5v
grnd->grnd

the firmware i have on my arduino works perfectly if i hook it up directly using a usb, but the CP2102 does not allow any sort of serial communication. i cant transfer or receive data.

(deleted)

#6
Mar 20, 2020, 12:22 pm Last Edit: Mar 20, 2020, 12:24 pm by spycatcher2k
(deleted)

ballscrewbob

The way the Leonardo is organised it is preferable to use the USB.

In the event you want to upload using another method you need an ICSP programmer.

It may not be the answer you were looking for but its the one I am giving based on either experience, educated guess, google (who would have thunk it ! ) or the fact that you gave nothing to go with in the first place so I used my wonky crystal ball.

aidenn

Post your code that you say does not work please, I think you are using the wrong Serial. If you are using Serial, chage it to Serial1.
this was the issue thank you so much. when i write my cpp application would i have to do anything different?

sterretje

Obviously use Serial1 everywhere.

And when using Serial, be aware of the pitfalls; disconnecting the USB when the code contains instructions to write to Serial can bring the Leonardo to a near grinding halt. Use Serial.availableForWrite().
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

DrAzzy

#10
Mar 22, 2020, 11:30 am Last Edit: Mar 22, 2020, 11:30 am by DrAzzy
this was the issue thank you so much. when i write my cpp application would i have to do anything different?
Only the code running on the Arduino (which is, by the way, written in C++ too) needs to know that the port in question is called Serial1 from the Arduino's perspective.

As an aside, I suspect that one could build optiboot for a 32u4 and have it run on UART1 and wire up the auto-reset circuit with DTR of the serial adapter like usual. You'd need a modified board definition, too, naturally... I almost went and did it, but then I remembered that I have other things to do than get diverted by stuff like this...
ATTinyCore and megaTinyCore for all ATtiny, DxCore for DA/DB-series! github.com/SpenceKonde
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts, mosfets, awesome prototyping board in my store http://tindie.com/stores/DrAzzy

Go Up