← AXO-016

Circuit review & bench-test guide

AXO-016 — PS/2 keyboard/mouse PMOD module

Design-stage — board not yet fabricated

Document purpose#

Component-level explanation and bench-test plan for axo-016-ps2, from generate_design.py, the module README.md, and the BSS138 + PS/2 interface references. Never fabricated; values are verification targets. A keystone for the standalone-computer path (PS/2 keyboard in for AruviOS).

1. What the board does#

Adapts a 5 V open-collector PS/2 device (keyboard/mouse) to the 3.3 V PMOD. Because no stock Mini-DIN-6 footprint exists, the connector is a 1×4 pigtail socket (VCC/GND/CLK/DATA) — the device attaches via a Mini-DIN-6 pigtail. CLK and DATA are bidirectional open-collector; each is level-shifted with the classic BSS138 + dual-10 k circuit.

EXT 5V J3 ─> J2 pigtail VCC (keyboard power) ; GND common
J2 CLK/DATA (5V O.C.) ─> BSS138 shifters (10k each side) ─> PMOD 1 CLK / 2 DATA (3.3V)

2. Safety and scope boundaries#

4. Interfaces#

4a. PLUG-IN / PIGTAIL VERIFICATION#

Mini-DIN-6 (PS/2) pinout is standardized (1 DATA, 3 GND, 4 VCC, 5 CLK) but pigtail wire colors vary. Before power: buzz the pigtail to identify VCC, GND, CLK, DATA and match them to J2's silkscreen. A VCC/GND swap can damage the keyboard; a CLK/DATA swap just fails to communicate.

5. Component-by-component review#

6. Datasheet / protocol summary (PS/2)#

7. Expected values before bench testing#

8. Manual review checklist#

9. Ordered bench-test procedure#

A. Unpowered: verify pigtail mapping, BSS138 orientation (source=3.3 V side), all four pull-ups and which rail each ties to; no rail short.

B. Rail sequence: 3.3 V first, then 5 V (≤200 mA). Confirm CLK/DATA idle high on both sides (scope both sides of one shifter — 3.3 V side ≤3.3 V, 5 V side ~5 V).

C. Shifter check: manually pull the 5 V side of DATA low; confirm the 3.3 V side follows low (device→host direction). Pull the 3.3 V side low; confirm the 5 V side follows (host→device direction). Both must work.

D. BAT code: attach a known keyboard; within ~0.75 s of 5 V, scope PMOD CLK/DATA and capture the 11-bit frame carrying 0xAA.

E. Keypress: press a key; confirm scan-code frames at ~10–16 kHz, correct start/parity/stop.

F. Host-to-device: issue a set-LEDs command (host pulls CLK low, clocks DATA); confirm the keyboard LEDs change — proves the bidirectional shift.

10. Troubleshooting map#

11. Bench record template#

Board: axo-016  Pigtail order verified: [ ]
CLK/DATA idle both sides (3.3/5V): [ ]
Shifter both directions: [ ]
BAT 0xAA captured: [ ]  keypress frames OK: [ ]  set-LEDs works: [ ]
Notes:

12. Review conclusion#

The board is the BSS138 bidirectional shifter done twice; the must-verify items are the pigtail VCC/GND (Section 4a — a swap kills the keyboard) and that both shifters pass signals in both directions (host-to-device LED commands are the strict test). The 0xAA BAT code within ~0.75 s of 5 V is the alive signal.