Comms modules
AXC-001 — W5500 SPI Ethernet PMOD module
Catalog #1 in the AruviX comms line, level L3 (SPI + INT). WIZnet W5500 offloaded TCP/IP controller + Hanrun HR911105A integrated-magnetics RJ45: a working web server in a weekend.
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.
| Ref | Value | What it does on this board | Part number | Footprint |
|---|---|---|---|---|
C1 |
18pF 50V C0G | Crystal load cap (2x(CL-Cstray), CL=12pF, Cstray~3pF) | GRM1885C1H180JA01DMurata |
C_0603_1608Metric |
C2 |
18pF 50V C0G | Crystal load cap | GRM1885C1H180JA01DMurata |
C_0603_1608Metric |
C3 |
22nF 50V X7R | TX center-tap decoupling | GRM188R71H223KA01DMurata |
C_0603_1608Metric |
C4 |
6.8nF 50V X7R | RX+ AC termination cap | GRM188R71H682KA01DMurata |
C_0603_1608Metric |
C5 |
6.8nF 50V X7R | RX- AC termination cap | GRM188R71H682KA01DMurata |
C_0603_1608Metric |
C6 |
10nF 50V X7R | RX center-tap decoupling | GRM188R71H103KA01DMurata |
C_0603_1608Metric |
C7 |
4.7uF 10V X5R | Internal 1.2V regulator TOCAP cap (4.7uF per datasheet) | GRM188R61A475KE15DMurata |
C_0603_1608Metric |
C8 |
10nF 50V X7R | 1V2OUT cap (10nF per datasheet) | GRM188R71H103KA01DMurata |
C_0603_1608Metric |
C9 |
100nF 16V X7R | 3V3A decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C10 |
100nF 16V X7R | 3V3A decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C11 |
100nF 16V X7R | 3V3A decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C12 |
100nF 16V X7R | 3V3A decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C13 |
100nF 16V X7R | 3V3 decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C14 |
10uF 10V X5R | Digital rail bulk | GRM21BR61A106KE19LMurata |
C_0805_2012Metric |
C15 |
10uF 10V X5R | Analog rail bulk | GRM21BR61A106KE19LMurata |
C_0805_2012Metric |
FB1 |
120R@100MHz | 3V3 -> 3V3A analog-rail isolation bead (reference: HH-1M1608-121JT class) | BLM18AG121SN1DMurata |
L_0603_1608Metric |
J1 |
PMOD PLUG 2x6 | PMOD peripheral plug (Digilent spec 1.2) | not selected generic |
PinHeader_2x06_P2.54mm_Horizontal |
J2 |
HR911105A | RJ45 MagJack, integrated 10/100 magnetics + green/yellow LEDs | HR911105AHanrun Datasheet ↗ |
RJ45_Hanrun_HR911105A_Horizontal |
R1 |
49.9R 1% | TX+ line pull-up (WIZnet reference termination) | RC0603FR-0749R9LYageo Datasheet ↗ |
R_0603_1608Metric |
R2 |
49.9R 1% | TX- line pull-up | RC0603FR-0749R9LYageo Datasheet ↗ |
R_0603_1608Metric |
R3 |
10R 1% | TX center-tap feed from 3V3A (reference: 10R + 22nF) | RC0603FR-0710RLYageo Datasheet ↗ |
R_0603_1608Metric |
R4 |
49.9R 1% | RX+ AC termination series element | RC0603FR-0749R9LYageo Datasheet ↗ |
R_0603_1608Metric |
R5 |
49.9R 1% | RX- AC termination series element | RC0603FR-0749R9LYageo Datasheet ↗ |
R_0603_1608Metric |
R6 |
12.4k 1% | EXRES1 bias: exact 12.4k 1% to GND required by the W5500 datasheet | RC0603FR-0712K4LYageo Datasheet ↗ |
R_0603_1608Metric |
R7 |
1M | Crystal feedback bias resistor (per WIZnet reference) | RC0603FR-071MLYageo Datasheet ↗ |
R_0603_1608Metric |
R8 |
330R | Green (link) LED current limit | RC0603FR-07330RLYageo Datasheet ↗ |
R_0603_1608Metric |
R9 |
330R | Yellow (activity) LED current limit | RC0603FR-07330RLYageo Datasheet ↗ |
R_0603_1608Metric |
R10 |
10k | ~INT pull-up (open-drain output, pulled up on-module per line rule) | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
R11 |
10k | ~RST idle pull-up so an unconfigured host cannot hold the part in reset | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
R12 |
100R | Series protection on the module-driven MISO line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
R13 |
100R | Series protection on the module-driven ~INT line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
U1 |
W5500 | Hardwired TCP/IP embedded Ethernet controller, SPI, 8 sockets | W5500WIZnet Datasheet ↗ |
LQFP-48_7x7mm_P0.5mm |
Y1 |
25MHz 12pF | 25 MHz crystal, CL = 12 pF, 3.2x2.5 mm 4-pad | not selected Abracon |
Crystal_SMD_3225-4Pin_3.2x2.5mm |
Signals#
Net labels used in the schematic, which are also the names the HDL top level should use.
3V3 3V3A ACT_LED_A ACT_LED_N CS_N EXRES1 GND INT_N LINK_LED_A LINK_LED_N MISO MOSI RCT RST_N RXN RXN_T RXP RXP_T SCK TCT TOCAP TXN TXP V1V2 W5500_INT_N W5500_MISO XI XO
Production status#
| Schematic ERC | 0 violations |
|---|---|
| PCB layout | complete |
| DRC | not run |
| Fab package | not exported |
| Fabricated | no — design stage only |
Source: boards/comms-modules/axc-001-ethernet-spi
Catalog #1 in the AruviX comms line (../README.md), level L3 (SPI + INT). WIZnet W5500 offloaded TCP/IP controller + Hanrun HR911105A integrated-magnetics RJ45: a working web server in a weekend.
Status: schematic generated, ERC clean (0/0), netlist reviewed. PCB layout not started. Not released.
What it teaches#
An SPI master against a real peripheral protocol (variable-length frames, socket registers), interrupt-driven networking via ~INT, and the first half of the line's paired lesson — AXC-002 (LAN8720A) rebuilds the MAC in fabric behind the same upper-layer HDL/AruviOS interfaces (spi_w5500 driver + socket API shim in pmod-common/hdl).
Design#
- Analog front end copied from the WIZnet W5500-Ref-RJ45WithMag reference schematic: 49.9 Ω 1% pull-ups to 3V3A on TX±, TX center tap fed through 10 Ω with 22 nF decoupling, RX± AC-terminated 49.9 Ω + 6.8 nF, RX center tap 10 nF to GND.
- EXRES1: exact-value 12.4 kΩ 1 % bias to GND (datasheet requirement).
- 25 MHz crystal (CL = 12 pF, ABM8 class, MPN TBD): load caps C = 2 × (CL − Cstray) = 2 × (12 − 3) pF = 18 pF each + 1 MΩ feedback, matching the reference design.
- TOCAP 4.7 µF, 1V2OUT 10 nF, VBG floating, RSVD pins (23, 38–42) tied to GND — all per datasheet. PMODE straps left open: internal pull-ups give PMODE=111 (all-capable auto-negotiation), as in the reference schematic.
- 3V3 → 3V3A through a 120 Ω ferrite bead; 5 × 100 nF + 2 × 10 µF.
- Jack LEDs verified against the HR911105A datasheet (green anode 9 / cathode 10, yellow anode 12 / cathode 11) and driven by W5500 LINKLED/ACTLED through 330 Ω from 3V3. Jack pin 8 (Bob Smith chassis return) and shell tied to module GND; a 1 nF/2 kV chassis split is a layout decision.
- MISO and ~INT pass 100 Ω series resistors; ~INT (open-drain) and ~RST carry 10 k pull-ups on-module.
| PMOD pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Net | ~CS | MOSI | MISO | SCK | GND | 3V3 | ~INT | ~RST | NC | NC | GND | 3V3 |
Regenerate#
python3 generate_design.py
Remaining for release#
- [ ] PCB layout (RJ45 hangs off the far edge; keep magnetics termination tight; >25 mil PMOD-clip clearance), DRC, fab outputs
- [ ] Pin the crystal MPN (ABM8-25.000MHZ class, CL = 12 pF)
- [ ]
hdl/:spi_w5500driver + socket API shim, testbench, ECP5 demo - [ ] BOM export and availability check, design-review checklist