Missing a serial port (RS232) on your brand new power-packed laptop?, or just want to add an extra serial port to your pc for experimentation, due to the fear of burning the motherboard by sending wrong signals to the inbuilt serial port?. Here is the cheapest solution I have found out accidentally.

My home-made USB to Serial converter

Last week i bought a data cable for interfacing a nokia 2600 clasisc mobile phone with USB port of pc . It was a cheap chinese make and bought it from a local store for 100 Rupees.  Oops… It didnt worked…  I found out that plugging in the data cable creates a file named ttyUSB0  in/dev (in linux). tty devices are serial ports in linux. So curiously I ripped apart the data cable. It was a USB to serial converter intended to interface the USART of the mobile phone. The tiny printed circuit board inside the data cable had signals labelled DCD, RXD, TXD, DTR, GND, DSR, RTS, CTS, and VCC. Only the TXD, RXD and GND lines were used to interface the mobile phone. I soldered wires to all those signal points and terminated it in  a  standard DB9 serial port connector. The signal levels were TTL so RS 232 interface chips like MAX 232  were not needed. I checked the working by sending serial data from a PIC microcontroller and reading it using a serial terminal (Moserial in Linux). I was also successfull in writing data to the PIC’s serial port. Both hardware and software handshake models are supported and baud rates of upto 19200 are supported. It is  very very useful in microcontoller-pc interfacing.

The data cable was based on the PL2303 USB controller made by Prolific technologies and its datasheet can be found here. It supports both software and hardware handshaking methods and supports baudrates upto 2 Mbps. I could get error free communication with an AVR microcontroller upto 1 Mbps. At higher baudrates, cable length matters significantly