Now that the PC’s com port or Serial port is almost obsolete there is quite a lot of requirement for USB to TTL or USB to RS232 converter. USB to TTL converters are required for interfacing microcontrollers to PC it is also required for loading code in Arduino Mini, setting/modifying ESP8266 firmware. Over here we are going to make a do it yourself (DIY) USB to TTL Module on a breadboard.
Lots of USB to TTL modules are available in the market based on various chips like PL2303, FT232, CP2102 and CH340g. I have decided to use CH340g IC. Low costing clones of Arduino UNO & Arduino Nano also uses CH340g IC. And this IC is now easily available in India. Reasons for not using other converter IC’s.
- PL2303: Lots of duplicates in Market so not reliable
- FT232: Costly
- CP2102: Difficult to solder
Step 1: Components Used
Step 2: Schematic
Above is the implemented schematic. The schematic I got from CH340g in Eagle. Not much explanation is required as its a very simple circuit. Still if you have any queries you are free to ask.
Step 3: CH340 USB to TTL Converter
Step 4: SMD to DIP Converter
Truly speaking this converter board is the only reason that it was possible to make this project. The problem in using CH340 was that it does not come in DIP version only smd versions are available. But luckily I found a 16 pin SMD to DIP converter which made this project possible. Now using SMD IC’s is not a problem at all as variety of SMD to DIP converter PCB’s are available online.
Step 5: About Other Components
I have used 840 points GL12 Breadboard over here. It was too big instead you can also use 400 point Mini breadboard.
No project is complete without jumper wires. Over here I have used male to male jumper wires. I have also used the same wires for connecting the USB B connector to breadboard.
USB A to B Cable
For connecting the circuit on breadboard to computer I did not have a USB Breakout board so I used a USB a to B cable i.e. the printer cable and cut out printer side connector and connected it to one side of Male to Male jumper wires.
Step 6: Final Result
I have loaded code serially in P89V51RD Microcontroller using the USB to TTL controller and it worked fine. Will soon be testing it with ESP8266 and Arduino Mini.