I am working on a project that needs to convert a high input/output voltage into a TTL signal. The box I am working with has a parallel port output that was supposed to send out a TTL signal when a button was pressed. Instead the voltage reads 9V before the button is pressed and 14V when you press the button. The problem is I need the voltage to start at 0V and go up to 5V when the button is pressed. Is there a simple way to do this? Thanks for any help. -M

  • 1
    \$\begingroup\$ It sounds as though you have your grounds mixed up. There's a schematic button on the editor toolbar. Sketch out your setup. Use the NODE symbol to number and name the pins. Add an image of the parallel port pinout to your post for convenience. \$\endgroup\$ – Transistor Jul 10 '17 at 17:43
  • \$\begingroup\$ That sounds as if you have a ground problem. The shift is 5V as expected but the ground level is different between the box and your circuit. Check the ground connection. \$\endgroup\$ – Janka Jul 10 '17 at 17:43

You have a 5V swing and undefined grounds for isolation or not with unknown source impedances or voltage/current shift.

An Opto isolator may be the ideal choice for isolation and level shifting with pullup R on input and output to determine input and output current limits. THere are thousands to choose from. But you indicated non-inverting logic so choose a non-inverting output or add a logic inverter.

Otherwise, a cheap and dirty method is to use a Common base transistor biased at 12V with a zener and series R to Vb and input 9~14V on Ve and output on Vc with a pullup to 5V goes to 0 to 5V.


simulate this circuit – Schematic created using CircuitLab


  • \$\begingroup\$ yet -1 to Op for not defining source and load impedance and noise immunity. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jul 10 '17 at 18:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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