Pmod BTN Reference Manual

The Digilent Pmod BTN (Revision A) gives users four momentary push-buttons for easy user inputs for the system board.

Download This Reference Manual


  • Four momentary push-buttons
  • Debouncing filters
  • Inverting Schmitt Triggers
  • 6-pin Pmod connector with GPIO interface

Functional Description

The Pmod BTN utilizes analog filters consisting of two resistors and a capacitor to absorb and smooth out any signal bounces that naturally occur when pressing a button. The smoothed out voltage signal is then fed to an inverting Schmitt-trigger which will then report a logic high voltage to the system board when a button is pressed or a logic low voltage when the button is not being pressed.

Interfacing with the Pmod

The Pmod BTN communicates with the host board via the GPIO protocol. For this Pmod, it will only ever send data to the system board and ignore any signals that it might receive from the system board.

Each button is equipped with its own filter, Schmitt-trigger, and data line so that each button can be pressed independently of each other. Users may also press the buttons simultaneously for up to 16 different input combinations.

A pinout description and diagram of the Pmod BTN are provided below:

Pinout Description Table

Pin Signal Description
1 BTN0 Button 0
2 BTN1 Button 1
3 BTN2 Button 2
4 BTN3 Button 3
5 GND Power Supply Ground
6 VCC Power Supply (3.3V/5V)

Table 1 Connector J1- Pin Descriptions as labeled on the Pmod

Any external power applied to the Pmod BTN must be within 1.65V and 5.5V; however, it is recommended that Pmod is operated at 3.3V.

Physical Dimensions

The pins on the pin header are spaced 100 mil apart. The PCB is 1.2 inches long on the sides parallel to the pins on the pin header and 0.8 inches long on the sides perpendicular to the pin header.

Additional Information

The schematics of the Pmod BTN are available here. Additional information about the Schmitt Trigger including voltage threshold levels can be found by checking out its datasheet here.

Example code demonstrating how to get information from the Pmod BTN can be found here.

If you have any questions or comments about the Pmod BTN, feel free to post them under the appropriate section (“Add-on Boards”) of the Digilent Forum.