Pmod HAT Adapter Reference Manual

The Pmod HAT Adapter makes it easy to connect Digilent Pmods to a Raspberry Pi. It supports plug-and-play functionality, only requiring that the host Raspberry Pi be booted with the Pmod HAT attached. The Pmod HAT has three 2×6 Digilent Pmod ports and provides access to additional I/O available via the Raspberry Pi 40 pin GPIO connector. Designed in collaboration with RS Components, users can take advantage of example Python libraries and demo tutorials hosted on DesignSpark. See the Software Support section below for more info.

Download This Reference Manual

Overview

Features

  • Provides access to full line of Digilent Pmod™ peripheral modules.
  • Enables use of up to three Pmods at a time.
  • Supports SPI, UART, I2C, and GPIO connections.
  • Optionally powered through a 5V barrel jack.
  • Follows Raspberry Pi HAT specification. See the Raspberry Pi HAT Introduction for more details.

Compatible Boards

The Pmod HAT Adapter is compatible with all Raspberry Pi boards that use the 40-pin GPIO connector:

  • Raspberry Pi Model A+
  • Raspberry Pi Model B+
  • Raspberry Pi 2 B
  • Raspberry Pi 3 B
  • Raspberry Pi Zero W
  • Raspberry Pi Zero

About this Document

This reference manual applies to Revision B of the Pmod HAT Adapter.


Functional Description

Connectors and Jumpers

40 Pin Raspberry Pi GPIO Connector (J1) : This connector is used to attach the Pmod HAT to the host Raspberry Pi and provide access to each of the connector pins. Most of these 40 pins are shared with the Pmod ports. The Pmod ports are not intended to be used simultaneously with an additional HAT. However, five GPIO pins (GPIO22, GPIO23, GPIO24, GPIO25, and GPIO27) are unused by the Pmod HAT Adapter. These pins are available for use by other HATs or as user GPIO. Pmod port pins are connected to the 40-pin GPIO connector as seen in the Pinout Table Appendix.

External Power Jack (J2) : This connector can be used to provide power to the Pmod HAT adapter and the attached Raspberry PI. See the Power section below for more information.

Pmod Port JA : The first of the three 2×6 Pmod host ports, this port supports SPI and GPIO Pmods.

Pmod Port JB : The second of the three 2×6 Pmod host ports, this port supports SPI and GPIO Pmods, as well as 6-pin I2C Pmods on the bottom row.

Pmod Port JC : The third of the three 2×6 Pmod host ports, this port supports UART and GPIO Pmods.

Jumpers JP1 & JP2 : These jumpers enable pullup resistors for the Pmod Port JB I2C pins when shorted.

Jumper JP3 : This jumper enables writing to the onboard EEPROM containing the device tree fragment and other information used to configure the Raspberry Pi OS and drivers. Shorting this jumper is for advanced use only. See the Raspberry Pi HAT Introduction for more details.


Power

The Pmod HAT Adapter can be powered either from the Raspberry Pi through the 40-pin GPIO connector's two 5V pins, or from an external 5V supply, through the power jack. If an external supply is used, it must be able to provide minimum 1.3 Amps of current. An external supply will also power the host Raspberry Pi through the two 5V pins on the 40-pin GPIO connector. In addition, each Pmod GPIO pin can supply at most 16mA of current.

Important!

Make sure to never connect both the Pmod HAT Adapter and Raspberry Pi's power supplies at the same time. When changing power supplies, make sure to first fully disconnect the original supply.


Software Support

RS Components has produced the DesignSpark Pmod Library which can be used with a Raspberry Pi to control Pmods through the Pmod HAT Adapter using the Python programming language. Documentation and downloads for this library can be found at the following locations:


Appendix: Pinout Tables

Raspberry Pi 40-Pin Connector Pinout



Image Courtesy of the Raspberry Pi Foundation licensed under CC BY-SA
Bottom Row Top Row
40-Pin GPIO Connector Pin Number 40-Pin GPIO Connector Pin Name Pmod Pin 40-Pin GPIO Connector Pin Number 40-Pin GPIO Connector Pin Name Pmod Pin
1 3V3 N/C 2 5V N/C
3 GPIO02 JB10 4 5V N/C
5 GPIO03 JB9 6 GND GND
7 GPIO04 JC7 8 GPIO14 JC2
9 GND GND 10 GPIO15 JC3
11 GPIO17 JC4 12 GPIO18 JA10
13 GPIO27 N/C 14 GND GND
15 GPIO22 N/C 16 GPIO23 N/C
17 3V3 N/C 18 GPIO24 N/C
19 GPIO10 JB2 20 GND GND
21 GPIO09 JB3 22 GPIO25 N/C
23 GPIO11 JB4 24 GPIO08 JA1
25 GND GND 26 GPIO07 JB1
27 ID EEPROM N/C 28 ID EEPROM N/C
29 GPIO05 JC9 30 GND GND
31 GPIO06 JC10 32 GPIO12 JC8
33 GPIO13 JB8 34 GND GND
35 GPIO19 JA7 36 GPIO16 JC1
37 GPIO26 JB7 38 GPIO20 JA9
39 GND GND 40 GPIO21 JA8

Pmod Pinout Table

JA JB JC
Pmod Pin Number 40-Pin GPIO Connector Pin Number 40-Pin GPIO Connector Pin Name Pmod Pin Number 40-pin GPIO Connector Pin Number 40-Pin GPIO Connector Pin Name Pmod Pin Number 40-Pin GPIO Connector Pin Number 40-Pin GPIO Connector Pin Name
1 24 SPI0_CE0/GPIO08 1 26 SPI0_CE1/GPIO07 1 36 CTS0/GPIO16
2 19 SPI0_MOSI/GPIO10 2 19 SPI0_MOSI/GPIO10 2 8 TXD0/GPIO14
3 21 SPI0_MISO/GPIO09 3 21 SPI0_MISO/GPIO09 3 10 RXD0/GPIO15
4 23 SPI0_CLK/GPIO11 4 23 SPI0_CLK/GPIO11 4 11 RTS0/GPIO17
7 35 PCM_FS/GPIO19/PWM1 7 37 GPIO26 7 7 GPCLK0/GPIO04
8 40 PCM_DOUT/GPIO21/GPCLK1 8 33 PWM1/GPIO13 8 32 PWM0/GPIO12
9 38 PCM_DIN/GPIO20/GPCLK0 9 5 SCL1/GPIO03* 9 29 GPCLK1/GPIO05
10 12 PCM_CLK/GPIO18/PWM0 10 3 SDA1/GPIO02* 10 31 GPCLK2/GPIO06

* Pullup resistors for pins SCL1 and SDA1 can be enabled by shorting jumpers JP1 and JP2, respectively.

Pins #5 and #11 of each Pmod port are tied to Ground. Pins #6 and #12 of each Pmod port are tied to the HAT Adapter's 3V3 rail.