Preface: I don't have any MAX232 ICs handy, and only need unidirectional communication (from TTL to RS232). It's just a quick test to see if an old GPS OEM board still works. I don't have any MOSFETs on hand either - just some basic BJTs, as shown in the schematic. I'm using a dual supply instead of parasitic voltages from the serial port.

Here's the translation I was after:
TTL_Tx --> RS232_Rx
    0V         ~ +12V
    5V         ~ -12V


simulate this circuit – Schematic created using CircuitLab

I thought this would work (and it does in LTSpice).
Q1 - Turns Q2 on when the TTL input is high, providing a path for current to flow
Q2 - Provides a translation of 5V->12V and 0V->-12V at its collector
Q3 - Inverts Q2's collector signal for the final output

It works perfectly in LTSpice, but on my oscilloscope I see that the output is not being pulled down to the negative rail: probe if Q3 ouput

Of course, this actually works fine. The serial port is happy and the values are in spec. But I'm still trying to figure out why the circuit doesn't behave as I expected.

  • 3
    \$\begingroup\$ Is there some load connected to the output when you measure it with the 'scope? What is it's equivalent resistance and what potential does it pull toward? If it's less than maybe 50 kohms pulling toward ground, your 10 k pull-down (R3) isn't going to be able pull it close to -12. \$\endgroup\$
    – The Photon
    Oct 17, 2017 at 17:04
  • \$\begingroup\$ @ThePhoton that’s a good point. My probe is 1 MOhm but I probed it while connected to the serial port. I’ll try removing the serial cable to see if that impacts the results. \$\endgroup\$ Oct 17, 2017 at 17:08
  • \$\begingroup\$ @ThePhoton Aha! That was it! Genius. Can you move it to an answer? \$\endgroup\$ Oct 17, 2017 at 17:12
  • \$\begingroup\$ Typically all you actually need to do to make this work in low-noise settings is invert the signal. \$\endgroup\$ Oct 17, 2017 at 19:09
  • \$\begingroup\$ @ChrisStratton Actually, that’s all I did to initially confirm that the instrument was working. Then I started playing, which led me to this question. \$\endgroup\$ Oct 17, 2017 at 19:11

2 Answers 2


You probably have some load connected to the output when you measured it with the 'scope.

If the equivalent resistance of the load is less than maybe 50 kohms, and it's pulling toward ground, your 10 k pull-down (R3) isn't going to be able pull the output close to -12.

  • \$\begingroup\$ The problematic load was actually the serial port itself. That would have taken me all day to think of. \$\endgroup\$ Oct 17, 2017 at 17:17

You can't drive the Q2 base as you have shown. There is no current limit (other than that provided by Q1 Beta). ...the output impedance of an RS232 transmitter is normally about 300 Ohms ...so 10 k pulldown won't work. Try something like this:


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Well, it’s limited by the base resistor of Q1 and Q2 and Q3’s collector resistors. Lowering the collector resistors for Q2 and Q3 did seem to work in the end. I’ll also try yours. Thanks. \$\endgroup\$ Oct 17, 2017 at 19:25
  • \$\begingroup\$ I tried it in LTspice. The output has the wrong logical values, so it won’t work as-is for this. Still a nice circuit though. \$\endgroup\$ Oct 17, 2017 at 20:18
  • \$\begingroup\$ Just invert the TTL signal if it's inverted. \$\endgroup\$ Oct 17, 2017 at 21:38
  • \$\begingroup\$ I don’t have control over the generation of the signal, so I assume you mean via another transistor stage? They seem to be adding up. \$\endgroup\$ Oct 17, 2017 at 21:42
  • \$\begingroup\$ I'll modify the schematic .... \$\endgroup\$ Oct 17, 2017 at 22:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.