Electronic – Design Considerations for Raspberry Pi Expansion Boards

designgpiopcb-designraspberry pi

I am venturing into the space of designing expansion boards for Raspberry Pi's. I have done this for Arduino boards but RPi's are a different beast.

From personal experience I have already had problems with damaged UART pins on the RPi and I am keen on finding ways not to repeat his experience.

Considerations I have come up with:

  • The IO pins are sensitive and needs protection. It can be as simple as Zener Diode to ensure the voltage stays at 3.3V and a current limiting resistor. Example Circuit
  • The GPIO pins are 3.3V , can source about 16mA and can only do about 50mA in total. The 3.3V rail is limited to 50mA and not suited for powering external components. Instead the 5V rail with +500mA can be regulated to supply more
  • The GPIO's are not suited for hot-swappable expansion boards and need to be powered down before installed.
  • External Power supply for extension boards are recommended.
  • Expansion boards can stacked but the limited current on the 3.3V rail could be an issue.

Considerations in question:

  • ESD – How well does a Rpi deal with people handling it.

Any other suggestions will be mush appreciated.

Extra Links worht looking at:

Best Answer

http://www.ruggedcircuits.com/10-ways-to-destroy-an-arduino

Check out that page which deals with protecting an arduino. Your GPIO pins never need to source a lot of current unless you are powering LED's. Simply place a resistor in series that limits the current to 10-15 mA. A 330Ω or 220Ω resistor should do.

The total 50mA limit is internal to the RPi so external buffers and power supply would be needed if you plan to source more current. Something like the MC74LCX16245 can do 16 bits of bi-directional buffering. Keep in mind this chip has two 8 bit buffers and bidirectional means you have to select which direction the entire 8 bits goes. There is no individual selecting of direction for each bit. So you can do 16 out, 8 out/8in or 16 in. Another great benefit is that it can handle 5.5v on the inputs so you can interface this to 5V logic if needed. The enable pins could be used to power down the GPIO pins for hot inserting. It can also protect against ESD.

An 74HC244 can do 8 bits uni directional with two 4 bit groups that are individually enabled. This can be split to 4in/4out if needed. Might be best for driving LED's or split for UARTS Tx/Rx. An 74AHCT16244 is a quad 4 bit version for a total of 16 bits. Also had ESD protection.

If you need more 3.3V current, you could use a small switching regulator to step down the 5V. The 5V is limited by your 5V USB supply. here is an example of a small 3.3V 300ma regulator: http://www.hobbytronics.co.uk/d24v3f3-3v3-regulator

This Digikey article also has some pointers for digital input protection and also talks about ESD protection: http://www.digikey.com/en/articles/techzone/2012/apr/protecting-inputs-in-digital-electronics