I/O modules

AXO-013 — analog joystick carrier PMOD module

Catalog #13 in the AruviX output line, level L3. Socketed carrier for the common 5-pin XY thumbstick breakout (KY-023 class): the SKRH/COM-09032-class stick itself has no stock KiCad footprint (documented deferral), so the breakout plugs in.

Level L3 ERC clean DRC clean Fab package 13 components
3D render of the AXO-013 PCB
Rendered from the PCB layout. No physical board has been manufactured.

Circuit review & bench-test guide →

Components#

Every placed component, with the reason it is on the board. Extracted directly from the schematic, so this cannot drift from the design.

RefValueWhat it does on this boardPart numberFootprint
C1 10nF 50V X7R X-axis RC shunt: fc = 1/(2*pi*1k*10nF) ~ 16 kHz GRM188R71H103KA01D
Murata
C_0603_1608Metric
C2 10nF 50V X7R Y-axis RC shunt: fc = 1/(2*pi*1k*10nF) ~ 16 kHz GRM188R71H103KA01D
Murata
C_0603_1608Metric
C3 100nF 16V X7R MCP3202 VDD/VREF decoupling GRM188R71C104KA01D
Murata
C_0603_1608Metric
C4 1uF 10V X7R Supply bulk decoupling at the socket GRM188R71A105KA61D
Murata
C_0603_1608Metric
J1 PMOD PLUG 2x6 PMOD peripheral plug (Digilent spec 1.2) not selected
generic
PinHeader_2x06_P2.54mm_Horizontal
J2 JOYSTICK SOCKET (1x5) Socket for the common 5-pin XY thumbstick breakout not selected
generic
PinSocket_1x05_P2.54mm_Vertical
R1 1k X-axis RC series element (anti-alias + SAR source impedance) RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R2 1k Y-axis RC series element (anti-alias + SAR source impedance) RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R3 10k Stick-click pull-up (switch closes to GND; idle high) RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R4 100R Series protection on the module-driven button line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R5 100R Series protection on the ADC-driven DOUT line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R6 10k ~CS idle pull-up so an unconfigured host cannot start a conversion RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
U1 MCP3202 Dual-channel 12-bit SPI SAR ADC, 100 ksps MCP3202-BI/SN
Microchip
Datasheet ↗
SOIC-8_3.9x4.9mm_P1.27mm

Signals#

Net labels used in the schematic, which are also the names the HDL top level should use.

3V3 ADC_DOUT CS_N GND JOY_SW JOY_X JOY_Y MISO MOSI SCK SW_RAW VRX_W VRY_W

Production status#

Schematic ERC0 violations
PCB layoutcomplete
DRC0 violations
Fab packageexported (24 gerbers + drill + CPL + BOM)
Fabricatedno — design stage only

Source: boards/io-modules/axo-013-joystick


Catalog #13 in the AruviX output line (../README.md), level L3. Socketed carrier for the common 5-pin XY thumbstick breakout (KY-023 class): the SKRH/COM-09032-class stick itself has no stock KiCad footprint (documented deferral in ../README.md), so the breakout plugs in.

Status: schematic generated, ERC clean (0/0), netlist reviewed. PCB layout not started. Not released.

What it teaches#

Reading two analog axes plus a button over one PMOD: SPI ADC transactions, dead-zone/centering math in fabric, then Pong with the VGA module (axo-007) or robot teleop with the actuator line.

Design#

PMOD pin map (Type 2A SPI)#

PMOD pin123456789101112
NetCS_NMOSIMISOSCKGND3V3NCJOY_SWNCNCGND3V3

Regenerate#

python3 generate_design.py

Remaining for release#