For many years, Arduinos (and similar) operated on 5 volts... and you had to have a power supply that gave you something quite close to 5v.
And then, for various good reasons, some new devices came out which run on 3.3 volts (which is often written "3v3", which makes sense to me, hence it will be what you see from now on.)
I am a resister of change with the best of them, but I do have to admit that there are real advantages to the 3v3 devices. (Which I will spare you.)
A detail: It is always the case in my pages, but I should stress, here, that when I say "Arduino", I am using that term in the broad sense, encompassing both devices from the official home of Arduino, and clones.
In many respects whether you are using a 5v device or a 3v3 device doesn't matter.
If your Arduino has a built in USB interface, you just plug it in to your big computer the same way as you plugged in 5v devices. (The USB provides 5v. Circuits on the Arduino turn that into some 3v3 for the needs of the board. There is usually a little left over for things connected to the board... but do not expect to be able to connect things that draw much power. (Check the Arduino's specs. Somewhere it will tell you that up to xx mA's worth of things can be driven from the 3v3 coming from the board. This whole question of "how much?" is often difficult for beginners... and it is important to master it. I have a page! It tries to explain how to avoid overloading a power supply.)
You may be using an Arduino which does not have a built in USB interface. In which case you probably connect with a special cable, or an ordinary cable with a "thing" between it and the Arduino. An "FTDI" interface. In that case, you need different interfaces, depending on which voltage your Arduino uses.
If you are connecting switches to give your project inputs, you do it the same way for either voltage.
If you are hooking up simple LEDs, you will probably have to change the size of the resistor you use. (This would also be true if you were sending an output through the LED in an opto-coupler.)
If you have an output driving the base of a transistor, so that the transistor can turn something else on and off, that will probably be okay... especially if the voltage for the "something else" comes from elsewhere.
Two paragraphs on connecting simple potentiometer:
Connecting a potentiometer (or equivalent) is the same... as long as you grasp the "obvious" fact that the pin you would connect to 5v for a 5v Arduino needs to go to 3v3 when you are using a 3v3 Arduino. I presume you would be doing the ordinary thing, sending the "output" of the potentiometer to an analog input on the Arduino.
Beware: There are a few 3v3 Arduinos... or at least a few Arduino clones... out there which should not have more than 1.0v applied to an analog input. At least that's something I've seen in their specs. I'm not sure that damage would arise... it may just be that anything above 1.0v will simply return the same value as 1.0v returns.
Moving on from potentiometers...
Once you go beyond past these basics, you will have to be careful.
Of course, we want to connect everything to our Arduinos.... and we can! (Almost. It's half the fun, after all!)
Be careful. If something is meant to run on 5v, it is likely that its inputs and outputs expect 5v signals.
There are SOME exceptions. (The Teensy is a 3v3 device, but its inputs are "5 volt tolerant". But don't expect 5v tolerance from everyone!)
You might sometimes "get away" with using a 3v3 output to drive an input on a 5v device. But is isn't a good practice. I wouldn't even try it.
The good news is this... there are ways to "level shift".
A very robust way is to use opto-couplers. But that's an elephant gun.
Sparkfun, and no doubt others, offer small, inexpensive ($3 (1/19) for 4 independent channels) level shifting modules. You hook up a source of 3v3. You hook up a source of 5v. And "presto"... you now have one or more pairs of pins. You connect one to an input, and from the other you get an output. The signal is "passing through" the module.
The signal arriving at the input might be 3v3. In that case, the output from the other side of the lever shifter would be a 5v signal.
A channel can also be used in the other direction. It doesn't even need any "configuration".
You can pass signals from 5v to 3v3, or pass them the other way. (Not at the same time! But if your module has multiple channels, you can use any mix of them- some from 5v to 3v3, others from 3v3 to 5.)
Good, good? Just don't get carried away... a given channel, in a given application, must be dedicated to data flowing one way. Treat both sides of a channel as inputs... in other words, try to drive both with outputs of other things, and you may well have a problem.
I avoided 3v3 devices for quite a while, just not wanting to "deal with all that". Actually... there's not a lot to deal with. Enjoy!
If you visit 1&1's site from here, it helps me. They host my website, and I wouldn't put this link up for them if I wasn't happy with their service.
Click here to visit editor's Sheepdog Software (tm) freeware, shareware pages.. Material on this page © TK Boyd 02 Feb 19
Click here to visit the homepage of my biggest site.
Click here to visit the homepage of Sheepdogsoftware.co.uk. Apologies if the "?FrmAht" I added to that link causes your browser problems. Please let me know, if so?
Page tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org
....... P a g e . . . E n d s .....