Contributions

Contributions are appreciated and used to host this site. Thank You for your support.

Feature Products
  • Raspberry Pi with Java: Programming the Internet of Things (IoT)
    Raspberry Pi with Java: Programming the Internet of Things (IoT)
  • Raspberry Pi 2 Model B Project Board - 1GB RAM - 900 MHz Quad-Core CPU
    Raspberry Pi 2 Model B Project Board - 1GB RAM - 900 MHz Quad-Core CPU
  • Premium Clear Case for Raspberry Pi 2 Model B Quad Core and Raspberry Pi Model B+ (B PLUS)
    Premium Clear Case for Raspberry Pi 2 Model B Quad Core and Raspberry Pi Model B+ (B PLUS)
  • Edimax EW-7811Un 150 Mbps Wireless 11n Nano Size USB Adapter with EZmax Setup Wizard
    Edimax EW-7811Un 150 Mbps Wireless 11n Nano Size USB Adapter with EZmax Setup Wizard
  • Getting Started with Raspberry Pi
    Getting Started with Raspberry Pi
  • Raspberry Pi User Guide
    Raspberry Pi User Guide
  • PiBrella LED Add On Board
    PiBrella LED Add On Board
  • Diversitech® WS-1 - Wet Switch Flood Detector
    Diversitech® WS-1 - Wet Switch Flood Detector
  • Onsite Pro FS1NPTW Whole Home Wireless FloodStop with 1 Inch Valve
    Onsite Pro FS1NPTW Whole Home Wireless FloodStop with 1 Inch Valve
  • Floodstop Washing Machine Valve Shutoff Kit
    Floodstop Washing Machine Valve Shutoff Kit
  • Onsite Pro FS3/4H Washing Machine FloodStop with Straight Valves
    Onsite Pro FS3/4H Washing Machine FloodStop with Straight Valves
  • Floodstop Individual Water Appliance Additional Water Sensor XS-01
    Floodstop Individual Water Appliance Additional Water Sensor XS-01
  • Aqua Managers - FS 1 1/4-NPT - Floodstop for Water Heaters Water Leak Detection System - White - 1.25 in. pipe
    Aqua Managers - FS 1 1/4-NPT - Floodstop for Water Heaters Water Leak Detection System - White - 1.25 in. pipe
  • Furman MP-20 Power Relay Accessory, 20 Amp, Two Outlets, Remote Turn-on from Momentary or Maintained Contact Switches
    Furman MP-20 Power Relay Accessory, 20 Amp, Two Outlets, Remote Turn-on from Momentary or Maintained Contact Switches
  • Furman MP-15 Power Relay Accessory, 15 Amp, Two Outlets, Remote Turn-on from Momentary or Maintained Contact Switches
    Furman MP-15 Power Relay Accessory, 15 Amp, Two Outlets, Remote Turn-on from Momentary or Maintained Contact Switches
  • Metra 70-2002 Radio Wiring Harness for Saturn 00-05
    Metra 70-2002 Radio Wiring Harness for Saturn 00-05
  • Metra Reverse Wiring Harness 71-2002 for Select 2000-2005 Saturn Vehicles OEM Radio
    Metra Reverse Wiring Harness 71-2002 for Select 2000-2005 Saturn Vehicles OEM Radio
Wednesday
Nov142012

Raspberry Pi - Build a GPIO Testing Board

While working on The Pi4J Project, I found the need to have some type of GPIO prototyping board to quickly visualize the state of GPIO pins and control the state of GPIO pins.   I purchased a handful of electronics parts and set out to build my GPIO testing board.

The picture below is the final result of building this test board:

Design Goals

My design goals included:

  • Support 7 GPIO pins.
  • Small/compact footprint.
  • Connect to Raspberry Pi via ribbon cable.
  • Support for momentary and fix on/off switches.
  • Display GPIO state using LEDs.
  • Captive screw terminals for connecting GPIO pins to external devices.
  • Order the GPIO test IO hardware based on the Pi4J/WiringPi pin numbering scheme. 

Supplies / Parts

I purchased most of the parts used in this project on eBay.  

Tools Needed

Logic

  • When a GPIO pin is configured as an OUTPUT pin and its state is set to HIGH, the corresponding LED should be ON. (+3.3 VDC is delivered to the anode lead of the LED)
  • When a GPIO pin is configured as an OUTPUT pin and its state is set to LOW, the corresponding LED should be OFF. (0 VDC is delivered to the anode lead of the LED)
  • When a GPIO pin is configured as an INPUT pin and the correspondingly momentary switch is depressed or the toggle switch is in the ON position, the LED should be ON and +3.3 VDC is delivered to the GPIO pin on the Pi.
  • When a GPIO pin is configured as an INPUT pin and the correspondingly momentary switch is not depressed and the toggle switch is in the OFF position, the LED should be OFF and 0 VDC is delivered to the GPIO pin on the Pi.

Wiring Diagram

The following illustration depicts the wiring schematic used to create this GPIO test board.

(NOTE:  The GPIO pin numbering is based on the Pi4J/WiringPi GPIO pin numbering scheme.  But of course you can apply whatever GPIO pin numbering scheme to meet your needs.)

Click diagram to enlarge.

 

Photos

Click any photo to enlarge.

Videos

This is a simple demonstration video of this GPIO test board in action with a simple Java program cycling states on the 7 GPIO output pins.

 

PrintView Printer Friendly Version

EmailEmail Article to Friend

References (1)

References allow you to track sources for this article, as well as articles that were written in response to this article.

Reader Comments (2)

I have build your card. Its almost ready.
What will happen if a GPIO pin is configured as Output and his switch at your board is in "ON" position?
Will this harm the RPi ? If the answer is yes, is it possible to add some electronics to eliminate harm.
My knowledge in electronics is very basic.

Regards,
Robert

September 12, 2014 | Unregistered CommenterRobert

Hi Robert,

I'm not an EE, but I don't *think* it will hurt it. Driving one of the GPIO pins as an output will cause a positive 3.3v on the GPIO pin thus illuminating the LED for that pin on this board. It really shouldn't be any different than turning on one of the switches. Having the switch on and the GPIO pin driving an output of 3.3v at the same time should not hurt anything either. Of course the LED would be ON no matter the state of the switch for that pin.

September 13, 2014 | Registered CommenterRobert Savage

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
« Twine - Unboxing, Setup and First Impressions | Main | Raspberry Pi - RS232 Serial Interface Options (Revisit) »