Designing a custom Arduino shield PCB is the perfect first PCB project. The mechanical dimensions are standardised, the header positions are well-documented, and you can start with a simple breakout board before tackling complex circuits. This guide walks you through every step of designing an Arduino Uno-compatible shield.
Table of Contents
- Shield Dimensions and Headers
- Schematic Design
- PCB Layout Tips
- Power Considerations
- Testing Your Shield
- Frequently Asked Questions
- Conclusion
Shield Dimensions and Headers
The Arduino Uno shield standard defines:
- Board size: 68.6 x 53.4mm
- Headers: Two 8-pin and two 6-pin female headers at standardised positions
- Mounting holes: 4 holes at defined positions matching the Uno’s standoffs
- Pin offset: The famous 0.05-inch offset between the two header rows on one side (a design mistake that became a standard)
In EasyEDA or KiCad, search for “Arduino Uno Shield” in the project templates to get a pre-defined board outline and header positions.
Schematic Design
Design your shield schematic with these considerations:
- Include all header connections as a connector symbol in the schematic
- Only connect the pins you actually use — leave unused pins disconnected
- Add pull-up/pull-down resistors for I2C, SPI, and other bus connections
- Include indicator LEDs for power and signal status
- Add a reset button if your shield interferes with the main reset circuit
PCB Layout Tips
- Place headers first and lock their positions — these are non-negotiable
- Keep tall components away from the USB port and power jack area on the Uno
- Route power traces wider (0.5mm+) for reliability
- Add ground plane on the bottom layer
- Include clear silkscreen labels for all pins and connectors
- Add your logo and version number on the silkscreen
Power Considerations
The Arduino Uno provides 5V and 3.3V through its headers. Maximum current draw:
- 5V pin: Up to 500mA from USB, more from external power supply
- 3.3V pin: Maximum 150mA (limited by the LP2985 regulator on Uno)
- Individual GPIO pins: Maximum 20mA per pin, 200mA total for all pins
If your shield needs more power, add an onboard voltage regulator powered from the VIN pin or external barrel jack.
Testing Your Shield
- Visually inspect the assembled shield for solder bridges and cold joints
- Check continuity between each header pin and its corresponding pad
- Verify power rails (5V, 3.3V, GND) before plugging into the Arduino
- Plug into the Uno and test with a basic sketch that exercises each connected pin
- Verify there are no physical interferences with the Uno’s USB port, reset button, or ICSP header
Frequently Asked Questions
Will my Uno shield work on the Mega?
The Mega has the same shield header layout in the standard position, so most Uno shields physically fit and work on the Mega. The extra pins on the Mega are on separate headers.
Can I stack multiple shields?
Yes, if you use stacking headers (female headers with extra-long pins). Ensure the shields do not use conflicting pins. SPI and I2C can be shared; other pins must be unique.
How do I add an I2C device to the shield?
Connect SDA to A4 and SCL to A5 (Uno) through the header. Add 4.7K pull-up resistors to 3.3V or 5V depending on the I2C device’s voltage level.
Conclusion
Custom Arduino shields are the gateway to professional PCB design. The standardised dimensions remove the guesswork, letting you focus on learning schematic capture, layout, and manufacturing. Start with a simple sensor breakout shield and progressively add complexity as your skills grow.
Get Arduino boards and prototyping shields from our Arduino collection.
Add comment