5 Replies Latest reply on Jan 24, 2014 12:24 PM by John Beetem

    GPIO Safety Tips?

    lupestro

      I got a Pi over Christmas, installed Raspbian on it and am able to talk to it via wireless over SSH. So far so good. Now to do something with it.

      When I picked it up, I got the breadboard connector to go with it. I could spend an addition $35 and get a PiFace Digital, but I was hoping to use it raw for at least a while, and use the general GPIO pins directly, rather than doing everything through the SPI.

       

      Aside from avoiding excessive voltages, excessive supply current draw, and static discharge, are there any particular things to look out for when working with the GPIO pins?

      Are there any common situations when working with circuits that I should be particularly sensitive to so I don't brick the thing?

       

      For instance, one thing that occurs to me is that, if feasible, I should power my circuit from the Pi to ensure my circuit isn't on when the Pi isn't on and that it never operates off of a voltage even marginally higher than the Pi. Which raises the additional question: Is the Pi tremendously sensitive to power sequencing? I don't want to let the magic smoke out.

        • Re: GPIO Safety Tips?
          iagorubio

          Hello Ralph.

           

          As you already mentioned to avoid excessive voltage, current and flyback, just one last tip.

           

          If you don't protect the pins you will end up shorting two wires no matter of how careful you try to connect and disconnect. That can end in a fried Pi as the GPIOs are not protected.

           

          Try to use a cobbler like this one - I use exactly this one -914 - ADAFRUIT INDUSTRIES - PI COBBLER BREAKOUT KIT, RASPBERRY | Farnell UK while prototyping will help you to both avoid  to short two wires and to protect the raspberry connector. Here you've got a pic of it mounted  http://learn.adafruit.com/system/assets/assets/000/003/061/medium800/cobbler.jpg?1355499570

           

          And as for the powering your circuit from the raspberry, I always try to avoid to power any circuit from any IC. Any mishap on the circuit will most likely end up in random resets or an IC burnt.


          Unless you are just going to interface your Pi with leds or other ICs or sensors, try always to power your circuit from an external supply. You can use a transistor from your Pi to cut out the voltage source when you turn of the Pi if you want  the Pi to shut down the circuit when it turns off.


          Just my 2 cents.

          1 of 1 people found this helpful
            • Re: GPIO Safety Tips?
              lupestro

              Thanks, Iago. I should have mentioned that I got a Cobbler and a case along with the RPi.to help make it "bench-safe". I'm figuring I'll do some simple, safe things with it first - I've got an LCD display to try sending characters to. When I get to a little heavier current draw, I'll spring for a PiFace.

            • Re: GPIO Safety Tips?
              John Beetem

              Before you hook anything up, read the RasPi Hardware Wiki.  It includes a lot of good specs and safety tips, along with programming examples.

               

              IMO go ahead and use the 3.3V supplied by RasPi over the GPIO connector.  You can draw 50 mA, which is enough for a lot of LEDs at 2 mA each, and input switches use less than 1 mA for the pull-up.  If you're going to power something big, you've got to use transistors and/or relays and have a separate voltage supply, with common ground.  Darlington pairs are a great way to switch a lot of current.  Be sure to include flyback diodes for inductive loads like motors, relays, and speakers.

               

              Be very careful with the GPIO's 5V pins.  If you short them to something else, you can permanently kill your RasPi.  I recommend covering them with bits of wire insulation to prevent a slipped probe from causing tragedy.

              1 of 1 people found this helpful
                • Re: GPIO Safety Tips?
                  lupestro

                  Many thanks, John, for the pointer to the Wiki and the links that split off from there, especially about level converters. I guess 7407s are my friends as well as being inexpensive and easy to swap out as a sacrificial victim when I'm experimenting. (It isn't just about not letting the magic smoke out - it's who's magic smoke you're letting out. ) I'll also have to read the processor manual (or portions thereof) for some of the hardware detail, although the drivers will shield me from some of the *really* interesting stuff.


                    • Re: GPIO Safety Tips?
                      John Beetem

                      Ralph Mack wrote:

                       

                      Many thanks, John, for the pointer to the Wiki and the links that split off from there, especially about level converters. I guess 7407s are my friends as well as being inexpensive and easy to swap out as a sacrificial victim when I'm experimenting. (It isn't just about not letting the magic smoke out - it's who's magic smoke you're letting out. ) I'll also have to read the processor manual (or portions thereof) for some of the hardware detail, although the drivers will shield me from some of the *really* interesting stuff.


                      I'm not sure 7407s are your friends.  If they're 5V TTL parts, they pull their inputs high.  I don't know if the voltage and current from a TTL input would be high enough to damage RasPi, but I'd play it safe and stick to driving transistors.  External CMOS drivers such as 74HCT or 74ACT should be OK.