SparkFun
Qwiic Directional Pad (PRT-26851)
· MPN: PRT-26851
Add five-way navigation input to an I2C project without building a button matrix from scratch. Press up, down, left, right or centre on the low-profile direc...
Get notified when back in stock
Add five-way navigation input to an I2C project without building a button matrix from scratch. Press up, down, left, right or centre on the low-profile directional pad to send button input to your microcontroller.
The board uses a PCA9554 8-bit I2C I/O expander to read the momentary buttons, with an active-low interrupt pin broken out so your controller can react quickly when the state changes. A built-in non-addressable RGB status LED can provide visual feedback, and each RGB channel can be disconnected from the PCA9554 GPIO and connected to a different input.
It fits straight into the SparkFun Qwiic ecosystem with two horizontal Qwiic connectors for solder-free I2C connection and daisy-chaining. Standard 0.1-inch spaced breakout pins are also provided for breadboard use, and the I2C address is configurable so multiple directional pads can be used on the same bus.
A basic example is available in SparkFun's hardware repository, and the SparkFun I2C Expander Arduino Library can be installed via the Arduino Library Manager by searching for “SparkFun I2C Expander Arduino Library”.
Features:
- 5-way directional pad for up, down, left, right and centre input.
- Low-profile momentary push buttons read via a PCA9554 8-bit I2C I/O expander.
- Built-in RGB status LED for visual feedback.
- Active-low interrupt pin broken out for fast state-change notification.
- Two horizontal Qwiic connectors for solder-free I2C connection.
- Configurable I2C address for daisy-chaining multiple boards.
- 0.1-inch spaced breakout pins for breadboard use.
- Red power LED included.
Specifications:
- Input voltage: 3.3V
- Directional pad: Directional pad
- I/O expander: PCA9554 8-bit I2C I/O expander
- Qwiic connectors: 2x Horizontal Qwiic connectors
- I2C pull-up resistors: 2.2kΩ I2C pull-up resistors
- Breakout PTHs: Breakout PTHs
- GND: Ground
- 3V3: 3.3V
- SDA: I2C Data
- SCL: I2C Clock
- INT: Interrupt, active low
- 5: GPIO5
- 6: GPIO6
- 7: GPIO7
- LEDs: LEDs
- RGB: RGB non-addressable status
- Power LED: Red power
- Jumpers: Jumpers
- Power LED: PWR
- GPIO7/Red LED: 7
- GPIO6/Green LED: 6
- GPIO5/Blue LED: 5
- I2C pull-up resistors: I2C
- I2C selectable address (ADR2, ADR1, ADR0): I2C selectable address (ADR2, ADR1, ADR0)
- 0x20 (Default): 000
- 0x21: 001
- 0x22: 010
- 0x23: 011
- 0x24: 100
- 0x25: 101
- 0x26: 110
- 0x27: 111
- Board Dimensions: 1.0in. x 1.0in. (25.4mm x 25.4mm)
- Weight: 2.60g
Great for menu navigation, compact remotes, robot controls and other projects that need a neat cluster of extra input buttons.
Jargon buster
Plain-language definitions for the technical terms used above.
- active LOW
- Active LOW describes a signal that is treated as active, asserted or 'on' when it sits at a low voltage near ground, rather than at a high voltage. It applies to inputs, outputs and control lines (such as reset or chip-select), so it matters when wiring devices so that signal levels are interpreted as intended.
- breakout
- A breakout board carries a small or fine-pitched component and brings its connections out to standard, breadboard- and header-friendly pins. Describing a part as a breakout means it can be wired into a project without soldering directly to the component's tiny contacts.
- GND
- GND is the ground or reference connection (0 V) for a circuit. When connecting two devices together, their grounds must be joined so both agree on what counts as a low or high signal.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- I/O expander
- An I/O expander is a chip that adds extra input and output pins controlled through a bus such as I2C or SPI. It can drive buttons, LEDs, relays, resets, or other control lines without using up scarce microcontroller pins.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- I2C address
- An I2C address is the number a device uses so a microcontroller can tell it apart from other devices on the same I2C bus. It matters because two devices with the same fixed address may conflict if used together.
- LED
- A light-emitting diode (LED) is a small electronic component that emits light when current flows through it in the correct direction. Because it only conducts one way, its polarity matters, and a through-hole LED must be soldered the correct way around to light up.
- microcontroller
- A microcontroller is a small computer on a single chip that runs a stored program and controls connected inputs and outputs such as buttons, sensors, displays and communication interfaces. In a device built around one, it is the part that executes the code and coordinates the device's behaviour.
- PCA9554
- The PCA9554 is an I/O expander chip that adds extra digital input and output pins over an I2C bus. On a display driver board, it can handle support signals such as reset, buttons, or backlight control while leaving the main microcontroller pins free.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- RGB
- Short for red, green and blue, the three primary colours of light that are mixed in varying amounts to make a wide range of colours. In electronics RGB can refer to an LED or pixel that blends these three colours, or to a colour signal or interface that carries separate red, green and blue channels.
Find this product in
Brands
Components
Qwiic Directional Pad Schematic
Schematic · 204.4 KB · Click any page to view full size
K1-1210UN Directional Pad Switch Datasheet
Datasheet · 245.9 KB · Click any page to view full size
PCA9554 I2C I/O Expander Datasheet
Datasheet · 1.7 MB · Click any page to view full size
Supplier page — sparkfun.com
Supplier Description · 813.1 KB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Source Code
Open-source libraries, firmware & example projects for this product
An Arduino library for interfacing with 4 and 8-bit I2C GPIO expanders. PCA9534/TCA9534, PCA9536/TCA9536, PCA9537/TCA9537, PCA9554/TCA9554, PCA9556/TCA9556, PCA9557/TCA9557 are supported.
cc4ebc1
5 months ago
· 21 commits
- examples Fix print in example 1 5 months ago
- src Add support for PCA9555/TCA9555 16-bit expanders 5 months ago
- .gitattributes Initial commit over 1 year ago
- .gitignore Initial commit over 1 year ago
- keywords.txt Add getInputRegister over 1 year ago
- library.properties Add support for PCA9555/TCA9555 16-bit expanders 5 months ago
- LICENSE.md Initial commit over 1 year ago
- README.md Update README.md over 1 year ago
Documentation, example code, and hardware design files for the SparkFun Qwiic Directional Pad. Add a D-Pad to your next project with Qwiic!
97943e7
about 1 month ago
· 34 commits
- .github Update mkdocs.yml about 1 month ago
- docs Update hardware_overview.md over 1 year ago
- Firmware Remove old PCA9557 code over 1 year ago
- Hardware Update jumper names, I2C address table. over 1 year ago
- overrides Initial GitHub Pages Push over 1 year ago
- .gitattributes Initial commit almost 2 years ago
- .gitignore Add ignore almost 2 years ago
- CONTRIBUTING.md Initial GitHub Pages Push over 1 year ago
- ISSUE_TEMPLATE.md Initial GitHub Pages Push over 1 year ago
- LICENSE.md Initial GitHub Pages Push over 1 year ago
- mkdocs.yml Update mkdocs.yml about 1 month ago
- README.md Update README.md over 1 year ago
Related Tutorials
Free guides on learn.littlebird.com.au