Raspberry Pi is one of the most popular and successful embedded computing platforms. It has a range of advantages, ranging from open-source support to small form factor. If you’ve ever wanted to expand the capabilities of the Raspberry Pi, but you’re not a fan of flying leads coming off your system, then you’ll need to build a shield board with your custom circuitry.
If you’re not using a Raspberry Pi as a standalone SBC, you will most likely be using a shield board to connect to the main processor on the Pi. These boards, also called hardware attach (HAT) boards, are what give a designer the ability to customize a Raspberry Pi into a new product. Some companies also make their proprietary equipment available to developers on shield boards as this enables a direct interface to a proven computing platform.
Raspberry Pi Shields
A Raspberry Pi shield is a board that plugs into the 40-pin header of a Raspberry Pi so that the main processor can interface with custom circuitry or hardware modules. Shields can be as simple as a prototyping board with a few connectors or as complex as a full-featured add-on board with a processor, display, and various sensors.
Pinout and GPIO Pins
Depending on which Raspberry Pi board you are using, you will find a set of GPIOs located on the main pin header on the PCB. For the Raspberry Pi 3 Model B shown below, there are 40 GPIO pins on the header located along the top edge of the board.
Raspberry Pi 3 Model B pinout.
The pinout shows which GPIOs provide access to standard interfaces (SPI, I2C, and PWM output); any external components on a Pi shield will connect to the Raspberry Pi through these pins. There are various libraries and frameworks that can be used to control the GPIO pins and the interaction of the Raspberry PI board with the physical world. These can be configured in a Python script with the RPi.GPIO library.
The primary purpose of Raspberry PI shields is to provide plug-and-play computing power while attaching external circuits with the Raspberry Pi to perform various tasks. Some examples of Raspberry Pi shields include:
- Prototyping shields: These are straightforward circuit boards with a grid of holes for connecting wires and components. These are helpful for testing circuits and creating prototypes.
- Sensor shields: Sensors such as a temperature sensor, motion sensor, or humidity sensor can be added to the Raspberry PI board with these shields.
- Display shields: These are shields that add a small display to the Raspberry Pi, such as an OLED screen or a touch screen.
- Motor driver shields: These are shields that allow the Raspberry Pi to drive and control motors, such as DC motors or stepper motors.
- Interface shields: These shields can provide isolation for the main Raspberry Pi circuitry while collecting signals, such as from a PLC.
Starting a New Shield Design
After determining what exactly the shield board needs to do, and after building your circuits, it’s time to populate the shield board with components. Although theoretically it is possible to put any circuits on a shield board, there are some practical limitations that are outlined in the table below.
The Raspberry Pi cannot instantiate new interfaces beyond the GPIO capabilities. The shield board should also not block access to the existing connectors (USB, HDMI, etc.).
The Raspberry Pi has a limited power budget that is constrained by the USB connection. If more power is needed, then your shield will need a connection to a supply through a connector.
The Raspberry Pi can limit how large the shield board can be without requiring custom mounting. For large shields, it’s better to use a Raspberry Pi compute module.
Given these constraints, a shield board can be approached just like other PCBs. As long as the PCB layout follows the relevant design rules, and the interfaces are placed to enable simple routing into the board-to-board connector, the design will generally function as intended. Make sure you find and place the required board-to-board connector for the shield board and place this first, then the rest of the board can be designed around the primary connector.
When you’re ready to get started designing your Raspberry Pi shield PCB, use the CAD tools in OrCAD from Cadence. OrCAD is the industry’s best PCB design and analysis software with utilities covering schematic capture, PCB layout and routing, and manufacturing. OrCAD users can access a complete set of schematic capture features, mixed-signal simulations in PSpice, and powerful CAD features, and much more.