Sticky — Input Controller

A 5V-tolerant AVR microcontroller dedicated to safe, reliable classic joystick and controller interfacing.

Sticky controller board


Overview

Feature Prototype Final
Chip AVR128DB48 AVR128DB64
Clock 16MHz 24MHz
Dev kit Curiosity Nano (on Nano Base)
Flash 128KB 128KB
SRAM 16KB 16KB
EEPROM 512 bytes 512 bytes
User row 32 bytes 32 bytes
Programming Single-wire UPDI Single-wire UPDI

Controller Ports

4× Atari/Sega DB9 joystick ports at the front of the computer, supporting:

  • 6-button Sega sticks
  • Analog paddles
  • 9-pin mice
  • Port A can be configured as I2C (pins 3 and 4)
  • Each port can be configured for serial TX/RX (pins 6 and 7)

Curiosity Nano Pinout

Description Function Pin Pin Function Description
NC NC 1 29 VBUS
ID 2 30 VOFF GND
NC B0 3 31 F6 RESET
NC B1 4 32 UPDI DEBUG
Yellow LED B2 5 33 GND GND
Button B3 6 34 VTG 5V
DB9-D3 F4 7 35 D6 DB9-D5
DB9-D4 F5 8 36 D3 DB9-B9
DB9-A1 A2 9 37 D2 DB9-B5
DB9-A2 A3 10 38 D1 DB9-A9
DB9-A3 A4 11 39 D0 DB9-A5
DB9-A4 A5 12 40 D7 DB9-D9
DB9-A6 A6 13 41 D5 DB9-C9
DB9-A7 A7 14 42 D4 DB9-C5
GND GND 15 43 GND GND
DB9-B6 B0 16 44 E3 SPI0-SEL
DB9-B7 B1 17 45 E2 SPI0-SCK
DB9-D1 F2 18 46 E1 SPI0-MISO
DB9-D2 F3 19 47 E0 SPI0-MOSI
DB9-C6 C0 20 48 C7 DB9-C5 via 2N2222
DB9-C7 C1 21 49 C6 SPI0 INT-OUT
DB9-C1 C2 22 50 C5 DB9-C4
DB9-C2 C3 23 51 C4 DB9-C3
GND GND 24 52 GND GND
16MHz IN A0 25 53 B5 DB9-B5
16MHz OUT A1 26 54 B4 DB9-B4
DB9-B1 B2 27 55 F1 CUT J208 DB9-D7
DB9-B2 B3 28 56 F0 CUT J207 DB9-D6

Programming

Sticky is UPDI-programmed. In the prototype that's done from the Curiosity Nano's built-in UPDI debugger over USB. In the final production system the UPDI line is wired to Pulse, which performs the bit-bang under orchestration from DeMon:

  • DeMon holds the firmware files (in DBFS), parses them, and sends the program bytes plus fuse settings over the bidirectional SPI peer link to Pulse
  • Pulse buffers the image in PSRAM, parks any active sequencer work, runs the UPDI session against Sticky, verifies the readback, and reports status back to DeMon
  • The user-facing entry point is the AntOS update sticky command

UPDI is used for firmware update and possible debug only. Normal joystick / paddle / mouse data flows over the SPI peer link from Sticky to Pulse, separately. See DeMon UPDI Orchestration and Pulse UPDI service for the full picture.

Important: The Ant64 family of home computers are at early design/prototype stage, everything you see here is subject to change.