# Converting Arduino Due 3.3V digital pin to 5V

I'm a real novice so please bear with my terminology

I've got an Arduino Due which outputs 3.3V signal when digital pin is set to HIGH. I have a driver that needs to receive at least 5V from this digital pin. I've been googling all day and it sounds like I need to amplify this 3.3V signal using a transistor but I'm too novice to really appreciate how to implement a simple amplifying circuit. Can anyone help me out?

• There are many ways to do this, it really depends on the input requirements of the next stage, which you've not specified. Sep 14 '20 at 23:38
• The objective is to inflate voltage at the expense of current. The only input requirement is minimum 5V to the driver (the next stage). That's all :s Sep 15 '20 at 0:05
• Does this answer your question? Arduino: Common Ground Issue? Powering Buzzer, LEDs via transistor as a switch Sep 15 '20 at 0:13
• are you absolutely certain that the driver requires 5 V input? Sep 15 '20 at 0:39

This is a simple level shifter where speed is not important and current gain is not required. It requires only one resistor and a single TO-92 or SOT-23 (eg. 2N7002) transistor:

simulate this circuit – Schematic created using CircuitLab

As you can see, the rise time is a bit slow, and there is very little drive capability because of R1, and sink current is limited by the GPIO, but it will work into a CMOS input or similar.

For more stringent requirements, I recommend a voltage translator chip. You can do a parametric search at a distributor and find many kinds that can translate from one voltage to or from another.

• Pretty much what you'd expect to get with $\tau=200\:\text{ns}$.
– jonk
Sep 15 '20 at 2:55
• @jonk Yes, the MOSFET is not without drain capacitance. Sep 15 '20 at 2:56
• With $5\:\mu\text{s}$ half-cycle and figure about $5\tau$ to get to the top there, I get $1\:\mu\text{s}$, or 20%. Which is about where your curve comes out. So the drain capacitance must not affect the simulation too much.
– jonk
Sep 15 '20 at 3:00
• Crap. Just tried the 2N7002 in LTspice. The curve is much worse than you show. (I guess that drain effect is now pronounced.) 99% is reached in about $4\:\mu\text{s}$. LTspice doesn't have much confidence in those, I guess. I just tried out the ones I suggested to the OP, the BC547 and also the 2N5551 and they appear to work lots better than the 2N7002. (I used a 10k on the base.) Of course, that's still just simulation again.
– jonk
Sep 15 '20 at 3:06
• @jonk I see similar or better results in LTspice with the Philips model and much worse with the Fairchild and the mystery one in the /misc directory. Sep 15 '20 at 3:20

There are a lot of ways of doing this.

Since you're a "real novice", I will tell you the EASIER solution. Maybe it's not the BEST, but it has more chances of succeeding.

There's a tiny module called "level shifter". There's a lot in ebay, AliExpress, etc. They're so cheap. You connect two pins to the ground. One pin (HV) is connected to a high voltage source (5V). One pin (LV) is connected to the low voltage (3.3 V).

After you powered, it has four "channels". Each channel has a low voltage pin and a high voltage pin. It translates the voltage level from one side of the channel for the another. It does that in both ways.

the It has four "channels". It has a

• Why would a bi-directional FET level shifter be a preferred solution over a simple TTL or CMOS buffer chip that understands 3.3V input signals and uses a 5V supply to output 5V signals? Any LS type TTL or HCT type CMOS chip can do this among many other types. Sep 15 '20 at 6:40
• @justme Did you READ the explanation at the beginning of my answer? I said that I would tell an EASY solution, that could really work, and not the best. Electronics hobby those days is not what it used to be. A "real novice", as OP said that he/she is, interconnects ready-made modules with jumpers, in a breadboard. A "real novice" don't know what is TTL, CMOS, HCT, LS, MOSFET, PNP, NPN. A "real novice" just wants to see the whole thing working. Said that, the only possible flaw in my answer is that most level shifters requires soldering. Sep 15 '20 at 13:25
• @justme I find really impressive as almost all of the pundits (high-thousand-score poins) from EE.SE, many of them retired engineers, can't act according to the reallity that some questions comes from a newbie that is playing with an Arduino, some cheap ebay modules, a tiny breadboard and a pack of multicolored DuPont jumpers. I think that the answers for this newbie should make things easier for him, in order to he/she keep the will to really learn something in the future. Sep 15 '20 at 13:41
• I did read it. That is why I decided to critique your answer, because you suggested a specific pass gate level conversion solution before even knowing what the requirements (drive ability, load current, frequency) for the level conversion are. Don't get me wrong, your pass gate suggestion would be perfect if the level conversion was needed for a 100 kHz I2C bus, but a pass gate may not be the correct solution for what the original poster needs, as for example it can't perform in the same way like an output pin on a 5V chip can. Sep 15 '20 at 13:48
• @Spehro 's answer is technically perfect, it's lightyears beyond what myself would not even dream to say, but I fear that speaking about "stringent requirements" and "do a parametric search at a distributor" is not useful to say to a novice that said that "googled all day" and even so said that he didn't find a solution. What is the objective of EE.SE? Technically perfect answers that are useful for just a few, or useful answers for those who are asking? If the objective is the former, we should do something to prevent the newbies from asking those questions. Sep 15 '20 at 13:48