Frame & Connections
I²C Address Map
Every I²C address across an Attaky build — which device, which module, and which bus.
The global I²C address table for an Attaky build. Core devices are always present; a module's devices appear only when that module is attached. Addresses are chosen so nothing collides on a shared bus. For where each line is physically carried, see Connectors.
Two buses
An Attaky has two I²C buses:
- Main bus — on
IO1/IO2, carried across the BTB, all three FPC taps, and the 7-pin connector. Almost everything lives here: the Core's own sensors and expanders, the Power module's fuel gauge, and any Control module. - Secondary bus — on
IO41/IO42, on the BTB only. It exists for the FM/AM Radio tuner alone, so the tuner's address can never clash with anything on the main bus.
Address table
| Address | Device | Module | Bus | Present |
|---|---|---|---|---|
0x22 | TCA9555 (left half) | Gamepad | Main (via FPC) | with a gamepad |
0x26 | TCA9555 (right half) | Gamepad | Main (via FPC) | with a gamepad |
0x36 | MAX17048 fuel gauge | Power: Standard Cell | Main | with a Power module |
0x38 | FT6636 capacitive touch | Core | Main | always |
0x48 | STK3311-X ambient-light / proximity | Core | Main | always |
0x58 | AW9523 GPIO expander (interrupts) | Core | Main | always |
0x59 | AW9523 GPIO expander (buttons, RGB LED, touch reset) | Core | Main | always |
0x5A | AW9523 (left half) | Keyboard | Main (via FPC) | with a keyboard |
0x5B | AW9523 (right half) | Keyboard | Main (via FPC) | with a keyboard |
0x64 | TEF6687 tuner | Expand: FM / AM Radio | Secondary (IO41 / IO42) | with the FM/AM Radio Expand |
0x6B | QMI8658A 6-axis IMU | Core | Main | always |
Notes
- A keyboard and a gamepad can coexist. Both Control modules can be on the bus at once —
each has its own addresses (
0x5A/0x5Bfor the keyboard,0x22/0x26for the gamepad). They share interrupt lines, so the firmware scans both when one fires. See the Compatibility Matrix. 0x64is on its own bus. Because the FM/AM tuner sits on the secondary bus, its address is independent of the main bus and free to overlap with anything there.
See also
- Connectors — which pins carry each bus
- Compatibility Matrix — which modules can share the bus
- Per-device detail is on each module's datasheet.