# Fast unidirectional level switch from 5 V to 3.3 V

I came up with this circuit. Is it good or bad to use diodes? In my opinion, this is better than a divider or a FET, at least faster, as you can see from the waveforms. Will such a circuit create bounce and noise? My oscilloscope has a bandwidth of 50 MHz and does not accurately measure voltage.

I also tried using a 2.4 V Zener diode, but it has a large capacitance so I got bursts below GND and above 3.3 V.

• You would need a reason to do this discretely instead of using a level shifter (I typically use a 74LVC4245 for 8 lines, or 74LVC1T45 for a single line). As a bonus you can translate either way or both when you need. Mar 17 at 16:09
• I would follow a solution similar to what @DeanFranks advised. MC74VHC1G125, MC74VCH1G126, MC74VHC1G50, ... there is plenty of 5V to 3V converters, giving you better signal integrity and stable driving. You didn't mention the working frequency!
– LuC
Mar 17 at 16:21
• It depends for what you need this for. It might work or not. What signal are you translating and why? What do you need from the signal? Mar 17 at 16:22
• If going with this idea I'd recommend to add a series resistor to limit current for the case, that you have 5.5 V to 3.0 V translation for instance. That resistor could be in the path of the 3 diodes. Hm, we have max 2.5 V difference, -1.5 V diodes drop, current limit to 10mA gives 100 Ohms. Play with the value and check the speed. Nevertheless edges will get smoother by this... Mar 17 at 17:02
• Thank you. In general, diodes as a temporary solution. I am using a IC for the final product. The frequency can reach 30MHz, I need this to link the SPI Master Orange Pi with 5V SPI. To convert MOSI, CLK, CS to 5V I use 74HC125 and to convert MISO to 3V3 I used diodes. Mar 18 at 5:24

If you use diodes to drop the voltage from 5V to 3.3V, I see atleast 2 issues:

1. you cannot achieve a proper level across temperature because the diode drop will vary with temperature.

2. Other issue is if the 5V supply is at 5.5V (all supplies have tolerance) and 3.3V supply is at 3V, the IN_3V3 voltage will go 800mV higher and create a low impedance path from the 5V supply to the 3.3V supply through the ESD diodes of the destination IC and huge current can flow from 5V supply to 3.3V supply which is a big issue

So, I'd recommend a level shifter IC for this like mentioned by few others in the comments.

• A series resistor might compensate for voltage differences but also adds to the part count. So still the other suggestions are valid - except one has trouble getting the other components and only need one signal translated, and it is working for you... Mar 17 at 16:57
• @datenheim, a series resistor along with the input cap of IN_3V3 will also act as an LPF and slow down the signal reaching IN_3V3. So, have to be careful.
– sai
Mar 17 at 17:05
• Correct! It's a trade-off between current limit in case of an extreme voltage difference and speed. Mar 17 at 17:12

You could use a 74LVC logic chip, for example 74LVC1G04 (or the non inverting version).

This logic series has 5V tolerant inputs and it's pretty fast (3.3ns tpd). In SOT-23-5 it will use less space than 5 diodes, and in SOIC it gives you 6-8 level translation channels for a bargain price.