Actuator modules

AXA-003 — Motor encoder interface PMOD module

Catalog #3 in the AruviX actuator line, level L2. Six conditioned digital inputs — two quadrature pairs for N20/JGA25-class gearmotor encoders plus two spare hall/limit inputs — through a 74HC14 hex Schmitt inverter.

Level L2 ERC clean DRC clean Fab package 36 components
3D render of the AXA-003 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 E1A RC filter capacitor (with 1k: fc ~16 kHz) GRM188R71H103KA01D
Murata
C_0603_1608Metric
C2 10nF 50V X7R E1B RC filter capacitor (with 1k: fc ~16 kHz) GRM188R71H103KA01D
Murata
C_0603_1608Metric
C3 10nF 50V X7R E2A RC filter capacitor (with 1k: fc ~16 kHz) GRM188R71H103KA01D
Murata
C_0603_1608Metric
C4 10nF 50V X7R E2B RC filter capacitor (with 1k: fc ~16 kHz) GRM188R71H103KA01D
Murata
C_0603_1608Metric
C5 10nF 50V X7R H1 RC filter capacitor (with 1k: fc ~16 kHz) GRM188R71H103KA01D
Murata
C_0603_1608Metric
C6 10nF 50V X7R H2 RC filter capacitor (with 1k: fc ~16 kHz) GRM188R71H103KA01D
Murata
C_0603_1608Metric
C7 100nF 16V X7R 74HC14 supply decoupling GRM188R71C104KA01D
Murata
C_0603_1608Metric
J1 PMOD PLUG 2x6 PMOD peripheral plug (Digilent spec 1.2) not selected
generic
PinHeader_2x06_P2.54mm_Horizontal
J2 ENCODER 1 (3V3/GND/A/B) Motor 1 encoder socket: 1 3V3, 2 GND, 3 phase A, 4 phase B not selected
generic
PinSocket_1x04_P2.54mm_Vertical
J3 ENCODER 2 (3V3/GND/A/B) Motor 2 encoder socket: 1 3V3, 2 GND, 3 phase A, 4 phase B not selected
generic
PinSocket_1x04_P2.54mm_Vertical
J4 SPARE IN (H1/H2/GND) Spare conditioned inputs: 1 H1, 2 H2, 3 GND (hall, limit switch, index) not selected
generic
PinHeader_1x03_P2.54mm_Vertical
R1 10k E1A pull-up (open-collector encoder output) RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R2 10k E1B pull-up (open-collector encoder output) RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R3 10k E2A pull-up (open-collector encoder output) RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R4 10k E2B pull-up (open-collector encoder output) RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R5 10k H1 pull-up (open-collector encoder output) RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R6 10k H2 pull-up (open-collector encoder output) RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R7 1k E1A RC filter series element RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R8 1k E1B RC filter series element RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R9 1k E2A RC filter series element RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R10 1k E2B RC filter series element RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R11 1k H1 RC filter series element RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R12 1k H2 RC filter series element RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R13 100R Series protection on the module-driven E1A line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R14 100R Series protection on the module-driven E1B line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R15 100R Series protection on the module-driven E2A line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R16 100R Series protection on the module-driven E2B line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R17 100R Series protection on the module-driven H1 line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R18 100R Series protection on the module-driven H2 line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
U1 74HC14 Hex inverting Schmitt trigger 74HC14D,653
Nexperia
Datasheet ↗
SOIC-14_3.9x8.7mm_P1.27mm
U1 74HC14 Hex inverting Schmitt trigger 74HC14D,653
Nexperia
Datasheet ↗
SOIC-14_3.9x8.7mm_P1.27mm
U1 74HC14 Hex inverting Schmitt trigger 74HC14D,653
Nexperia
Datasheet ↗
SOIC-14_3.9x8.7mm_P1.27mm
U1 74HC14 Hex inverting Schmitt trigger 74HC14D,653
Nexperia
Datasheet ↗
SOIC-14_3.9x8.7mm_P1.27mm
U1 74HC14 Hex inverting Schmitt trigger 74HC14D,653
Nexperia
Datasheet ↗
SOIC-14_3.9x8.7mm_P1.27mm
U1 74HC14 Hex inverting Schmitt trigger 74HC14D,653
Nexperia
Datasheet ↗
SOIC-14_3.9x8.7mm_P1.27mm
U1 74HC14 Hex inverting Schmitt trigger 74HC14D,653
Nexperia
Datasheet ↗
SOIC-14_3.9x8.7mm_P1.27mm

Signals#

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

3V3 E1A E1A_F E1A_INV E1A_RAW E1B E1B_F E1B_INV E1B_RAW E2A E2A_F E2A_INV E2A_RAW E2B E2B_F E2B_INV E2B_RAW GND H1 H1_F H1_INV H1_RAW H2 H2_F H2_INV H2_RAW

Production status#

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

Source: boards/actuator-modules/axa-003-encoder


Catalog #3 in the AruviX actuator line (../README.md), level L2. Six conditioned digital inputs — two quadrature pairs for N20/JGA25-class gearmotor encoders plus two spare hall/limit inputs — through a 74HC14 hex Schmitt inverter.

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

What it teaches#

Hardware quadrature decode at MHz edge rates — the signature FPGA-beats-MCU demo. A software loop polls; fabric counts every edge of both phases with a glitch filter, at any speed the motor can produce. Pairs with AXA-001 (dual DC driver) for the closed-loop PID lab.

Design#

PMOD pin123456789101112
NetE1AE1BE2AE2BGND3V3H1H2NCNCGND3V3

Regenerate#

python3 generate_design.py

Remaining for release#