Actuator modules

AXA-004 — Discrete H-bridge lab PMOD module

Catalog #4 in the AruviX actuator line, level L4. Four discrete FETs, no driver IC, no interlock: the FPGA drives all four gate signals and the fabric must guarantee dead time.

Level L4 ERC clean DRC clean Fab package 24 components
3D render of the AXA-004 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 10uF 25V X5R VM bulk reservoir for bridge switching current GRM21BR61E106KA73L
Murata
C_0805_2012Metric
C2 10uF 25V X5R VM bulk reservoir for bridge switching current GRM21BR61E106KA73L
Murata
C_0805_2012Metric
C3 100nF 50V X7R VM high-frequency decoupling at the bridge GRM188R71H104KA93D
Murata
C_0603_1608Metric
J1 PMOD PLUG 2x6 PMOD peripheral plug (Digilent spec 1.2) not selected
generic
PinHeader_2x06_P2.54mm_Horizontal
J2 VM IN 5-12V Motor supply input: 1 VM (5-12 V - AO3401A gate divider limit), 2 GND not selected
Phoenix Contact
TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal
J3 MOTOR Bridge output: 1 OUT1, 2 OUT2 not selected
Phoenix Contact
TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal
Q1 AO3401A Channel 1 high-side P-FET (-30 V -4 A) AO3401A
Alpha & Omega
Datasheet ↗
SOT-23
Q2 AO3400A Channel 1 low-side N-FET (30 V 5.7 A, logic level) AO3400A
Alpha & Omega
Datasheet ↗
SOT-23
Q3 AO3400A Channel 1 high-side gate level inverter (cancels to active-high) AO3400A
Alpha & Omega
Datasheet ↗
SOT-23
Q4 AO3401A Channel 2 high-side P-FET (-30 V -4 A) AO3401A
Alpha & Omega
Datasheet ↗
SOT-23
Q5 AO3400A Channel 2 low-side N-FET (30 V 5.7 A, logic level) AO3400A
Alpha & Omega
Datasheet ↗
SOT-23
Q6 AO3400A Channel 2 high-side gate level inverter (cancels to active-high) AO3400A
Alpha & Omega
Datasheet ↗
SOT-23
R1 100R HS1 inverter gate resistor RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R2 100R LS1 gate resistor (damps gate ringing) RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R3 10k HG1 pull-up to VM: high side OFF until the inverter conducts RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R4 10k HG1 series half of the divider: Vsg = VM/2, gate rating safe to 12 V RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R5 10k HS1 idle pull-down: unpowered host = bridge off RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R6 10k LS1 idle pull-down: unpowered host = bridge off RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R7 100R HS2 inverter gate resistor RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R8 100R LS2 gate resistor (damps gate ringing) RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
R9 10k HG2 pull-up to VM: high side OFF until the inverter conducts RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R10 10k HG2 series half of the divider: Vsg = VM/2, gate rating safe to 12 V RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R11 10k HS2 idle pull-down: unpowered host = bridge off RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R12 10k LS2 idle pull-down: unpowered host = bridge off RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric

Signals#

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

3V3 GND HG1 HG1_PD HG2 HG2_PD HS1 HS2 IG1 IG2 LG1 LG2 LS1 LS2 OUT1 OUT2 VMOT

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-004-hbridge-lab


Catalog #4 in the AruviX actuator line (../README.md), level L4. Four discrete FETs, no driver IC, no interlock: the FPGA drives all four gate signals and the fabric must guarantee dead time.

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

SHOOT-THROUGH IS PHYSICALLY POSSIBLE BY DESIGN. Driving HSx and LSx high together shorts VM to GND through both FETs of that leg. That is the point of the module: deadtime_gen plus a self-checking testbench must prove no overlap before a motor (or a fuse) is attached. There is no silicon safety net — exactly the honesty every integrated driver hides.

What it teaches#

Dead-time insertion the honest way: gate-drive levels, asymmetric propagation paths, body-diode conduction during dead time, and formal-ish testbench proof obligations. This is the L4 counterpart of AXA-001/002 — same H-bridge truth table, but every failure mode is yours.

Topology (think it through before powering)#

Per half-bridge (channel x = 1, 2):

Design#

PMOD pin123456789101112
NetHS1LS1HS2LS2GND3V3NCNCNCNCGND3V3

Regenerate#

python3 generate_design.py

Remaining for release#