DatasheetsModules

Control: Gamepad (Bottom) 1.0

Control: Gamepad (Bottom) 1.0 datasheet — buttons, button-to-pin map, I²C map, status LEDs, and connectors.

Datasheet for Control: Gamepad (Bottom) 1.0, the Attaky game-controller module. For the user guide, see the Control: Gamepad (Bottom) manual. System-wide pin maps and the global I²C address table are on Frame & Connections.

Front — D-pad, A/B/X/Y, L1/L2 (top + front) and R1/R2 (top + front) shoulder buttons, four function buttons, status LEDs, and the UP / DOWN FPC connectors
Back — the L1/L2 and R1/R2 top shoulder buttons along the top edge, with the UP (to Core) and DOWN (to next module) FPC connectors
Back, angled — the L1/L2 and R1/R2 top shoulder buttons and front shoulder buttons, plus the UP and DOWN FPC connectors

Features

  • A direction pad, four action buttons (A/B/X/Y), four shoulder buttons (L1/L2/R1/R2), and four function buttons, across two halves
  • L1/L2/R1/R2 each have a top button and a front button (wired in parallel) so they stay reachable when a module stacks over the top
  • All buttons read through two I²C GPIO expanders, one per half (left 0x22, right 0x26)
  • A per-half RGB status LED
  • A separate active-low interrupt line per half — a press wakes the host before it scans
  • Two 12-pin FPC connectors: UP to the Core, DOWN passes the bus straight through to chain a second Bottom Control module

Components

PartRoleInterface
TCA9555RTWRGPIO expander — left buttons + RGB LEDI²C 0x22
TCA9555RTWRGPIO expander — right buttons + RGB LEDI²C 0x26

Specifications

ItemValue
Buttons16 functions (D-pad, A/B/X/Y, L1/L2/R1/R2, four function keys); L1/L2/R1/R2 each have a top + front button (20 physical)
Button read2× TCA9555RTWR I²C GPIO expander, internal pull-ups, active-low
I²C bus400 kHz, shared by both expanders, addressed 0x22 / 0x26
InterruptsTwo active-low lines, one per half (left / right)
Status LEDTwo RGB LEDs (one per expander), active-low
Connectors2× 12-pin FPC (UP to Core, DOWN passthrough)

I²C address map (on-board)

AddressDevice
0x22TCA9555RTWR GPIO expander (left half — buttons / RGB LED)
0x26TCA9555RTWR GPIO expander (right half — buttons / RGB LED)

Both expanders share one I²C bus and are distinguished by slave address. The bus and each expander's interrupt land on the UP FPC — see the connector map under Connectors & power.

Controls

All buttons are active-low with internal pull-ups. The left half is read through the 0x22 expander, the right half through 0x26.

The four shoulder buttons (L1, L2, R1, R2) each have two physical buttons wired in parallel to the same pin — one on the top edge and one on the front face. When the gamepad is stacked into a build, the top buttons are covered, so the front buttons keep L1/L2/R1/R2 reachable; either one reads as the same input.

ButtonRead viaPin
UpTCA9555RTWR @ 0x22P05
DownTCA9555RTWR @ 0x22P02
LeftTCA9555RTWR @ 0x22P04
RightTCA9555RTWR @ 0x22P03
L1 (top + front)TCA9555RTWR @ 0x22P06
L2 (top + front)TCA9555RTWR @ 0x22P07
FN_L1TCA9555RTWR @ 0x22P00
FN_L2TCA9555RTWR @ 0x22P01
ATCA9555RTWR @ 0x26P03
BTCA9555RTWR @ 0x26P04
XTCA9555RTWR @ 0x26P02
YTCA9555RTWR @ 0x26P05
R1 (top + front)TCA9555RTWR @ 0x26P01
R2 (top + front)TCA9555RTWR @ 0x26P00
FN_R1TCA9555RTWR @ 0x26P07
FN_R2TCA9555RTWR @ 0x26P06
  • Interrupts — each half has its own active-low INT#. Either line pulls low when any button on that half is pressed, so the host scans only after an interrupt. Each line's FPC position is in the connector map under Connectors & power.

Status LEDs

Two RGB status LEDs, one driven by each expander, active-low (a low output lights the channel).

ChannelLeft @ 0x22Right @ 0x26
RedP17P17
GreenP16P16
BlueP15P15

Connectors & power

Gamepad attaches and chains through two 12-pin FPC connectors (both AFC07-S12FCA-00):

Back of the module — the M-FPC connector (pins 12 / 1) to the Core and the M-FPC_OUT passthrough connector (pins 1 / 12) below it
ConnectorLocationRole
UP FPCTop edgeTo the Core (any Control FPC slot)
DOWN FPCBottom edgePassthrough to a second Bottom Control module

Each expander's own pins land on the UP FPC. The two expanders share the I²C bus (SCL / SDA) but each carries its own interrupt:

ChipPinConnector
TCA9555RTWR @ 0x22 (left)SCLM-FPC9 (up)
TCA9555RTWR @ 0x22 (left)SDAM-FPC10 (up)
TCA9555RTWR @ 0x22 (left)INT# (L_INT)M-FPC8 (up)
TCA9555RTWR @ 0x26 (right)SCLM-FPC9 (up)
TCA9555RTWR @ 0x26 (right)SDAM-FPC10 (up)
TCA9555RTWR @ 0x26 (right)INT# (R_INT)M-FPC7 (up)

SCL (M-FPC9) and SDA (M-FPC10) are one shared I²C bus tapped by both expanders, which are told apart by slave address; INT# is separate per half (M-FPC8 left, M-FPC7 right).

Supply rails — carried on the UP FPC alongside the bus: +3V3, 5 V system, and GND. These are board power, not chip signals.

DOWN FPC (passthrough) — the DOWN connector carries the full 12-line bus straight through from the UP FPC: the shared I²C bus, both interrupt lines, the host's spare control GPIO, and the supply rails (+3V3, 5 V system, GND). By design, a chained module sees the same M-FPC signals as if it attached to the Core directly. This module taps the shared I²C bus and its two interrupt lines on the passthrough without breaking it.

For the complete connector pin map (every FPC position) and the system-wide I²C table, see Frame & Connections.

Mechanical

ItemValue
Module body66 × 28 mm
Thickness9.5 mm
Front — 66 mm wide, 28 mm tall.Side — 9.5 mm thick.

Operating conditions

ItemValue
Operating temperature0–40 °C (32–104 °F)
Water resistanceNone — not waterproof, no IP rating

Keep it dry, out of direct sunlight, and away from prolonged heat — do not leave it in a parked car.

On this page