ZuLuuuuuu
Posts: 26
Joined: Thu May 23, 2013 6:30 am

How safe is it to connect 2 GPIO pins without resistor?

Sat Nov 28, 2015 5:54 pm

Hello, we have a setup made with a PCB connecting 2 Raspberry Pi 2's to each other via GPIO ports. We connected the GPIO pins without a resistor in between, so a PCB route directly connects them to each other. I saw that a lot of messages advice to use a resistor in between to protect the pins in case both of them are accidentally setup as output pins.

Since our setup is already done using a PCB it is hard and costly to change. I wanted to ask what would happen if I accidentally setup both pins as output? Would the pins burn? Or is there some kind of internal safety resistor of some kind that would prevent something like that?

User avatar
joan
Posts: 14476
Joined: Thu Jul 05, 2012 5:09 pm
Location: UK

Re: How safe is it to connect 2 GPIO pins without resistor?

Sat Nov 28, 2015 6:23 pm

The problem only arises if one is set to output low and the other to output high. This is effectively a short between ground and 3V3 through the GPIO.

You might damage the GPIOs involved or even the Pis. An in-series resistor removes the risk.

User avatar
davidcoton
Posts: 4263
Joined: Mon Sep 01, 2014 2:37 pm
Location: Cambridge, UK

Re: How safe is it to connect 2 GPIO pins without resistor?

Sat Nov 28, 2015 9:28 pm

You are presumably using this as a product. Do you expect your users to program either Pi? If so, then resistors are a must to protect the Pis and prevent you having to fix broken Pis in your product. If the Pis are running a pre-packaged, unchanging program then the main risk is in your development lab, which may be acceptable. The connections could contribute to damaging Pis that crash in unexpected states, but it is very difficult to quantify that risk.
Signature retired

ZuLuuuuuu
Posts: 26
Joined: Thu May 23, 2013 6:30 am

Re: How safe is it to connect 2 GPIO pins without resistor?

Mon Nov 30, 2015 10:43 am

Thank you for your suggestions.
davidcoton wrote:You are presumably using this as a product. Do you expect your users to program either Pi? If so, then resistors are a must to protect the Pis and prevent you having to fix broken Pis in your product. If the Pis are running a pre-packaged, unchanging program then the main risk is in your development lab, which may be acceptable. The connections could contribute to damaging Pis that crash in unexpected states, but it is very difficult to quantify that risk.
It is a product as you guessed, Raspberry Pi's will only be programmed by us which reduces the risk. Also thankfully we crossed those 2 communication pins while designing the PCB, so we can set the same pin numbers as output and input on both Raspberry's. For example set pin X as output on both master and slave and set pin Y as input on both master and slave. So even if we accidentally load the master Raspberry program to the slave it will set the same pin as output and won't damage the master.

Return to “Advanced users”