32

I know for a long time that people should NOT put more than 3.3V on the GPIO pins. They also give out 3.3V when high.

I did some research and it seems no one really bothered asking. Almost all of them talk about the maximum current.

If I am supplying the Pi with 5V, why are the GPIO pins not 5V tolerant?

Arduino pins more or less follow the input (or VCC) voltage. If it's a 5V model, the pins use 5V. If it's a 3.3V model, it uses 3.3V. Anything above those would more or less fry it.

I should probably ask Broadcom about this.

Aloha
  • 7,176
  • 1
  • 29
  • 52

5 Answers5

35

The ATMega chips specify Operating Voltage: ΜΆ 1.8 - 5.5V. If you read deeper the operating speed is dependent on voltage. They work at 3.3V but you have to limit the clock speed. The Arduino team presumably chose 5V because of the ready availability of systems which use this (a legacy of TTL).

The SOC used on Pi run on 3.3V (and also require a couple of lower voltages). These are orders of magnitude more complex than the ATMega and run at considerably higher speeds (~1GHz vs 16MHz). Like most complex systems running at lower voltage allows higher speed operation at lower power consumption (and thus heat).

I suspect that the processor part and GPU run on the 1.8V and 1.2V supply and the 3.3V is for the peripherals. The SD Card also runs at 3.3V.

The Pi (especially the later models) have complex power converters which supply the many voltages needed at high currents. The 5V is needed because this is the USB standard (and the ready availability of suitable power supplies).

Milliways
  • 62,573
  • 32
  • 113
  • 225
13

Short answer is "Because that's the way it is designed".

A somewhat longer answer is "They didn't make it 5V tolerant because it would be expensive". Nobody really mass-produces 5V peripherals anymore (including USB, which has 3.3V data lines). Making 5V tolerant IO pins would make the chip more expensive, and probably a bit slower, while adding close to zero value.

You have to understand that RPi is not a typical application for Broadcom chips, so the chips are optimized for 99% of the use cases. Spending $2 to make all pins 5V-tolerant does make sense for RPi, but those $2 are a prohibitively high price when you consider the remaining 99%.

Dmitry Grigoryev
  • 28,277
  • 6
  • 54
  • 147
0

Doesn't the Pi follow exactly the same pattern?

All current Pis are 3V3 models so it uses 3V3 GPIO.

The Pi's input voltage is set at a fixed 5V.

Arduino's allow a range of input voltages, 3.3V to 12V typically for 3V3 models, 6V to 20V typically for 5V models.

joan
  • 71,852
  • 5
  • 76
  • 108
-1

3.3 volts is cmos logic levels (newer) and 5 volts is the older ttl standard.

-1

The raspberry pi has a 2 constant 3v3 pins that are always on, 2 constant 5 volt pins, a lot of 3v3 gpio pins, and 5 ground pins. The newer versions have all that, but with 3 more GND (ground pins) and even more gpio pins.