Communication between a USB/serial device and an AVR (atmega/Arduino) microcontroller

I have a device which provides a USB port. If I attach it to a Windows PC it is recognized as a “CP2103 USB to UART Bridge Controller”. According to the device documentation, it should communicate in serial format at 38400bps.I have to talk to this device with a atmega microcontroller.

Communication between a USBserial device and an AVR (atmegaArduino) microcontroller

Since the USB pinout is different from the serial UART of the uC, firstly I thought I would need a circuit to convert the signals. I found the AVR-CDC project and put on a CDC-232 in order to convert USB (GND, D+, D-, VCC) to RS232 (TX, RX, GND):

To make it I used another atmega328 as uC, flashed with the specific hex, with a 16Mhz crystal instead of the 12Mhz one specified into the diagram.

Then I built another piece of circuit to convert the RS232 signal to TTL:

So the signal conversion should be USB -> RS232 -> TTL.Communication between a USB serial device and an AVR (atmega Arduino) microcontroller SchematicI programmed my uC to send some data to the device and I can follow the signal with the oscilloscope until it enter into the CDC-232, then I lose it. I have no output on pins 4 and 5 of the CDC-232 uC, where I should have a USB signal.

Is my overall approach right? Sould I go on debugging the CDC-232 part or there is something wrong elsewhere?


For more detail: Communication between a USB/serial device and an AVR (atmega/Arduino) microcontroller

This Post / Project can also be found using search terms:

  • bluetooth smart home project by atmega8 project
Clip to Evernote

Leave a Comment

(Spamcheck Enabled)

Read previous post:

This is simple radio receiver project which is capable to receive aviation radio voice signals which are transmit between 118MHz...

Scroll to top