I have tested all my GPIO pins in the past, and I know they all worked as outputs. Today I was using pins 11,13 and 15 (Board numbering), and they were all working fine, but suddenly pin 15 stopped working. Now after disconnecting everything I can't even light an LED up with pin 15 any more, but with the same wire and same LED and same resistor I can light it with pins 11 and 13.

So it looks like whatever I did, I've unfortunately fried pin 15. I guess I'm lucky the other pins escaped. Has this happened to anyone else, and is this damage maybe fixable (some kind of fuse can be reset maybe?) or is it probably permanent?

  • you cannot fix it, try to use other pins.
    – lenik
    May 3, 2014 at 12:36
  • looks like you're right, one down, still plenty of others left :/
    – francis
    May 4, 2014 at 11:26

1 Answer 1


If the gpio connected to pin P1-15 has fried that is permanent damage. There is nothing you can do and no sort of fuse to reset.

Do you know how you did the damage?

As a matter of interest have you tried removing anything connected to the pin and then

1) setting the gpio as an output and writing low/high to the gpio and seeing what it reads back?

2) setting the gpio to be an input and seeing what it reads back when you set the internal pull-ups high then low?

I'd like to know if these tests also fail.

One method of confidence checking the gpios is tests 1) and 2) as above.

There are several ways of doing these tests. Here is one using pigpio

Disconnect everything from the gpios.

sudo pigpiod # start the daemon

 # write 1 0 1 0 to gpios and read back

for ((i=0;i<32;i++)); do echo "check gpio $i";pigs w $i 1 r $i w $i 0 r $i w $i 1 r $i w $i 0 r $i; done

 # set internal pull-up/down and read back, should get 1 0

for ((i=0;i<32;i++)); do echo "gpio $i";pigs m $i r pud $i u r $i pud $i d r $i; done

Ignore permission denied messages for the system gpios. The I2C gpios (0, 1, 2, 3 depending on board revision) will read high for the pull-up/down test.

  • I'm not sure how to "read back" the output (I'm using RPi.GPIO) but for sure the LED doesn't light. For 2), with an internal pullup, the input reads 1 even when the pin is connected to 0v. With an internal pulldown, the input is 0. It's as if the pin is no longer connected.
    – francis
    May 3, 2014 at 10:46
  • I edited my answer to show one method of doing the tests. There are other ways.
    – joan
    May 3, 2014 at 11:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.