Tag Archives: Ethernet

Unleash your Pi Zero W

Please note, that the USB power pads of a Pi Zero without WiFi will not match.



For the lite version you can skip all steps involving ENC28J60.


  1. Raspberry Pi Zero /w (works for both)
  2. ENC28J60 mini module (you have to desolder the pin header)
  3. An USB A plug (I ripped one from an old cable)
  4. Thin electric wires (old IDE cable works great)
  5. 11 Pogo pins (L 9mm, D 2mm)
    Note: two of them need to be filed down for D+ and D-
  6. Some M2,5 screws


Download and print my 3D design:


Lite (USB only):


Solder the wires to the pogo pins and don’t forget to reduce the bottom diameter of two pins to fit into the holes for the USB data lines.

Yes, everything has a real tight fit!

USB connection

ENC28J60 connection

VCC(3.3V) -> 3V3    (Pin 1)
GND       -> GND    (Pin 6)
SI        -> MOSI   (Pin 19)
SO        -> MISO   (Pin 21)
INT/IRQ   -> GPIO25 (Pin 22)
SCK       -> SCKL   (Pin 23)
CS        -> CE0    (Pin 24)

To make good contact you should put some solder into the pin header holes of your PI’s SPI IOs and power supply.

Software (headless setup)

To have good performance, I used the Raspbian stretch lite: https://www.raspberrypi.org/downloads/raspbian/

After burning the image to a micro SD following files on the boot partition have to be adapted:

Add those two lines to the bottom of config.txt:


Add this after rootwait to cmdline.txt:


Enable SSH by placing an empty file named ssh to the boot partition.

Boot up and ssh into your pi zero:

ssh pi@raspberrypi.local

If you have a Windows machine, you need to install Bonjour to resolve the *.local suffix. Mac and Linux normally can handle this.

Final step

Enable SPI via raspi-config -> Interfacing Options

Reboot and enjoy real (but slow) Ethernet and Ethernet over USB!

Experiencing a boot loop? Try it again with an additional micro USB cable. It seems your computer doesn’t provide enough current.