Hardware
You need a Raspberry Pi Pico or Pico 2, a W5500-Lite / USR-ES1 SPI Ethernet module, short jumper wires, a USB power connection and an Ethernet cable. Both Pico models use the same connections below; select the matching model when building the firmware.
Modules from other suppliers can also work. Use a W5500 SPI module with compatible 3.3 V signals, and match every signal to the Pico table below. Header order, labels and supply requirements can differ between boards. Check the actual module's markings and documentation before connecting it.
Pin connections
This is the Ethernet mapping used by the Stepper-Ninja Pico + W5500 and Pico 2 + W5500 profiles. GP numbers are GPIO identifiers, not physical pin numbers. The physical positions are shared by Pico and Pico 2; see the official Pico / Pico 2 pinout.
| W5500 module label | Pico connection | Physical pin | Purpose |
|---|---|---|---|
| 3V3 / VCC / VIN3.3 | 3V3(OUT) | 36 | 3.3 V supply; confirm the module's input rating |
| GND | GND | 38 | Common ground; connect all module GND pins |
| MISO / SDO | GP16 | 21 | Data from module to Pico |
| CS / SCS / nSS / SCSn | GP17 | 22 | Chip select, active low |
| SCK / SCLK | GP18 | 24 | SPI clock |
| MOSI / SDI | GP19 | 25 | Data from Pico to module |
| RST / RSTn / nRST / nRESET / nREST | GP20 | 26 | Module reset, active low |
| INT / INTn / nINT | GP21 | 27 | Required for operation. Interrupt signal, active low |
The INT connection is required for Stepper-Ninja to work. Connect the W5500 module's INT / INTn / nINT pin to Pico / Pico 2 GP21 (physical pin 27). Do not leave it unconnected: SPI wiring alone is insufficient, even if the Ethernet link LED is on.
GP16–GP21 are reserved for Ethernet. Keep them free of STEP/DIR, encoder and other I/O connections. Connect the module's reset to GP20, not the Pico's RUN pin.
Connection diagram
Signal diagram only: the rows do not represent the physical order of either header.
Pico / Pico 2 W5500-Lite
3V3(OUT) pin 36 ──────────── 3V3 / VIN3.3
GND pin 38 ──────────── GND
GP16 pin 21 ◀─────────── MISO
GP17 pin 22 ───────────▶ CS / nSS
GP18 pin 24 ───────────▶ SCK / SCLK
GP19 pin 25 ───────────▶ MOSI
GP20 pin 26 ───────────▶ RST / nRESET
GP21 pin 27 ◀─────────── INT / nINT
Power and wiring
- Disconnect USB and any external power before wiring.
- Identify each module pin by its label. A photo of another board may show a different connector order or viewing direction.
- Connect the supply and common ground, then the six signal wires. Keep the SPI wires short and away from motor and spindle wiring.
- If the module has extra pins such as
NCorPWDN, follow that module's documentation. Leave NC unconnected; do not guess the required state of additional control pins. - Check for swapped MOSI/MISO wires, reversed headers and shorts before applying power.
Use 3.3 V for the USR-ES1 supply. Do not connect its 3.3 V input to VBUS (USB 5 V) or VSYS. Pico GPIO signals must also stay at 3.3 V levels. A different module's 5 V supply input does not imply that its signal pins are safe for the Pico.
The USR-ES1 manufacturer specifies a stable 3.3 V supply capable of at least 200 mA. When using Pico pin 36, include the module and other peripherals in the board's available 3.3 V current budget. If a separate regulated 3.3 V supply is needed, connect it to the module with a shared Pico GND and leave Pico pin 36 disconnected from that supply.
First connection
- Open the Pico Configurator and select Raspberry Pi Pico + W5500 or Raspberry Pi Pico 2 + W5500. The EVB profiles are for boards with integrated Ethernet.
- Set the network parameters and remaining I/O, download the build package, then follow the installation guide to build and flash the matching firmware.
- Connect Ethernet to your LinuxCNC computer or network switch, then power the Pico. Check the module's link indicator with a powered Ethernet peer attached.
- Use the IP configuration guide to inspect the device's active network settings. The computer and device must use compatible subnet settings and unique IP addresses.
A link LED confirms the Ethernet link; it does not prove that the SPI wiring or firmware configuration is correct.
W5500-Lite modules — Europe
- Elektrobot — W5500 TCP/IP Ethernet module
- Nettigo — Wiznet W5500 / USR-ES1 / W5500-Lite
- HESTORE — W5500-LITE SPI Ethernet module
You can source the module elsewhere too. Match the W5500 signal names, supply voltage and Pico GPIO connections above for the exact board you receive.
Troubleshooting
- No Ethernet link: check module power and ground, reset wiring, cable and the powered peer's Ethernet port.
- Link is on, but the device does not communicate: first check that INT / nINT is connected to GP21 (physical pin 27). Then check CS, clock, MOSI and MISO, the selected W5500 profile, and IP/subnet/UDP settings.
- Intermittent connection or resets: check supply stability, loose jumper wires and SPI wire length. Route signal wiring away from electrical noise sources.