Simple RS232C Level Converter using Transistors

Wichit Sirichote,

There're many, who built the Easy Programmer or C-52 Evaluation Board, asking for the RS232C level converter chip, DS275. Many have changed to MAX232 instead, because of not available in his home. Here is another simple and cheap circuit using small signal transistor providing TTL to RS232C level converter.

A circuit diagram shown above was used two small signal transistor, NPN and PNP transistors. Dash line separate transmitter and receiver circuit. For those who need only transmitter circuit can use above circuit (and GND (5) signal ). Technically the RS232C is -3V to -12V for logic '1' and +3V to +12V for logic '0'. The transmitter circuit uses PNP transistor, BC557. While in mark state the TxD signal is logic '1', Q1 turns off. TxD (pin3) then provides -9V (depends on what converter chip being used for COM1, say) to RxD (pin2). For space state, TxD control signal then becomes logic '0', which turns on Q1, the approx. +5V is then fed to RxD (pin2). With this method, while sending data has being made, TxD (pin3) must stable at -9V, say.

Some applications not only need transmitter, but also for receiving data. The circuit below dash line is a simple inverter circuit that converts RS232C level back to TTL logic again. When PC sends data to TxD (pin3) pin, logic '1' is -9V, say, Q2 turns off, RxD (TTL) is approx. +5V. The start bit makes TxD (pin3) to approx. +9V, Q2 then turns on, RxD (TTL) then becomes approx. 0V.

The circuit above can be used for half duplex transmission. I have tested with the Easy-Downloader both version and C-52 EVB to replace DS275 chip. It works fine. My student have made the circuit on a small PCB with 8-pin DIP socket. It can replace DS275 directly.

Of course for PIC, as shown in my page we can connect the PIC I/O pin directly to the COM1 without the need of RS232C level converter chip, say. It's quite lucky for those who who use PIC chip. But with another microcontroller that need such converter, for hobbyists project, I thought above circuit would be better.

2nd version RS232C level converter

Here is the 2nd version level converter using two NPN transistors. Without the need of borrowing negative supply from TxD pin, we use a simple inverter circuit as shown below. The RxD' pin now can switch between approx. 0V (not -10V as above circuit)  for logic high at pin 3 and approx. +5V for logic low. This is not RS232C standard, but most modern PC use the converter chip that accepts such level. I have tested with 9600 baud, it works fine. For the receiver, the circuit is same as the 1st circuit. The pin number in ( ) is for DS275 8-pin DIP, so with these circuit, we can replace the DS275 easily. Please try with your PC, either one. Any small signal transistors can be used as well. The one used in my prototype was 2SC1740, small package. Resistors are 1/8 watt.


Subject: NEW
   Date: Wed, 4 Nov 1998 16:17:22 -0800
   From: "asghar charmin" <>
     To: <>

     Dear WICHIT

     I changed your hardware and it work good with my pc
     I send files for you.
     Asghar Charmin

Asghar Charmin from Iran sent me modification for his PC's serial port shown below. I hope this would be useful for other.