I/O modules

AXO-002 — 4-digit 7-segment direct-scan dual-PMOD module

Catalog #2 in the AruviX output line, level L2 (GPIO ×12, multiplexed). A Kingbright CA56-12SEKWA 4-digit common-anode display with no controller chip on purpose — the FPGA scans the digits itself. Needs both adjacent host PMOD sockets, like the camera module.

Level L2 ERC clean DRC clean Fab package 24 components
3D render of the AXO-002 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 100nF 16V X7R Rail decoupling at the digit switches GRM188R71C104KA01D
Murata
C_0603_1608Metric
J1 PMOD A: SEGMENTS PMOD peripheral plug (Digilent spec 1.2) not selected
generic
PinHeader_2x06_P2.54mm_Horizontal
J3 PMOD B: DIGITS PMOD peripheral plug (Digilent spec 1.2) not selected
generic
PinHeader_2x06_P2.54mm_Horizontal
Q1 AO3401A Digit 1 common-anode high-side switch (P-channel, -4 A) AO3401A
Alpha & Omega Semiconductor
Datasheet ↗
SOT-23
Q2 AO3401A Digit 2 common-anode high-side switch (P-channel, -4 A) AO3401A
Alpha & Omega Semiconductor
Datasheet ↗
SOT-23
Q3 AO3401A Digit 3 common-anode high-side switch (P-channel, -4 A) AO3401A
Alpha & Omega Semiconductor
Datasheet ↗
SOT-23
Q4 AO3401A Digit 4 common-anode high-side switch (P-channel, -4 A) AO3401A
Alpha & Omega Semiconductor
Datasheet ↗
SOT-23
R1 220R Segment A cathode ballast (host pin sinks segment current) RC0603FR-07220RL
Yageo
Datasheet ↗
R_0603_1608Metric
R2 220R Segment B cathode ballast (host pin sinks segment current) RC0603FR-07220RL
Yageo
Datasheet ↗
R_0603_1608Metric
R3 220R Segment C cathode ballast (host pin sinks segment current) RC0603FR-07220RL
Yageo
Datasheet ↗
R_0603_1608Metric
R4 220R Segment D cathode ballast (host pin sinks segment current) RC0603FR-07220RL
Yageo
Datasheet ↗
R_0603_1608Metric
R5 220R Segment E cathode ballast (host pin sinks segment current) RC0603FR-07220RL
Yageo
Datasheet ↗
R_0603_1608Metric
R6 220R Segment F cathode ballast (host pin sinks segment current) RC0603FR-07220RL
Yageo
Datasheet ↗
R_0603_1608Metric
R7 220R Segment G cathode ballast (host pin sinks segment current) RC0603FR-07220RL
Yageo
Datasheet ↗
R_0603_1608Metric
R8 220R Segment DP cathode ballast (host pin sinks segment current) RC0603FR-07220RL
Yageo
Datasheet ↗
R_0603_1608Metric
R9 1k Digit 1 gate series resistor from PMOD B RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R10 1k Digit 2 gate series resistor from PMOD B RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R11 1k Digit 3 gate series resistor from PMOD B RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R12 1k Digit 4 gate series resistor from PMOD B RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R13 10k Digit 1 gate pull-up: digit OFF until the host drives DIG1 low RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R14 10k Digit 2 gate pull-up: digit OFF until the host drives DIG2 low RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R15 10k Digit 3 gate pull-up: digit OFF until the host drives DIG3 low RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R16 10k Digit 4 gate pull-up: digit OFF until the host drives DIG4 low RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
U1 CA56-12SEKWA 4-digit 0.56in common-anode 7-segment display, super bright orange CA56-12SEKWA
Kingbright
Datasheet ↗
CA56-12SEKWA

Signals#

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

3V3 DIG1 DIG1_A DIG1_G DIG2 DIG2_A DIG2_G DIG3 DIG3_A DIG3_G DIG4 DIG4_A DIG4_G GND SEG_A SEG_A_K SEG_B SEG_B_K SEG_C SEG_C_K SEG_D SEG_DP SEG_DP_K SEG_D_K SEG_E SEG_E_K SEG_F SEG_F_K SEG_G SEG_G_K

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-002-7seg


Catalog #2 in the AruviX output line (../README.md), level L2 (GPIO ×12, multiplexed). A Kingbright CA56-12SEKWA 4-digit common-anode display with no controller chip on purpose — the FPGA scans the digits itself. Needs both adjacent host PMOD sockets, like the camera module (../../sensor-modules/axs-050-camera/).

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

What it teaches#

Display multiplexing with nothing between the FPGA and the segments: the seg7_scan core drives one digit at a time at ~1 kHz refresh, and per-digit duty cycle gives dimming. Persistence of vision, refresh timing, and ghosting are all directly observable — that is the curriculum, not a nuisance.

Design#

J1 (PMOD A)123456789101112
NetSEG_ASEG_BSEG_CSEG_DGND3V3SEG_ESEG_FSEG_GSEG_DPGND3V3
J3 (PMOD B)123456789101112
NetDIG1DIG2DIG3DIG4GND3V3NCNCNCNCGND3V3

Scan recipe: drive one DIGn low, present that digit's segment pattern on SEG_* (low = lit), rotate every ~250 µs (~1 kHz per digit).

Regenerate#

python3 generate_design.py

Remaining for release#