So yesterday’s level translator left something to be desired. Today I made up a new one that uses two transistors instead of one. Each of the transistors is used as an inverting switch, which is why I needed two stages to achieve the desired result. The first stage would make a 5V inverted output, but like I said, this would be an inverted output. So the second stage does the same thing the first stage does and flips it over again.

The result works — and would seem to work up to until around 300-400 MHz where the delays that stymied me yesterday start to take over again.


In this case, I’m feeding in an 115 KHz square wave (vaguely resembling a doubled 115Kbps serial) on the yellow trace. On each of the switch-off locations, there’s a delay. But the delay is short enough that it’s not substantially affecting the duty cycle of the resultant signal.

Visually, there’s roughly a 4µs delay from the source signal to the level-translated signal, which isn’t horrible.

This would be good enough to control a microcontroller, but would still be insufficient to drive the LEDs properly, which have tighter control requirements.