Skip to content

ENC28J60‐H

firien edited this page Feb 6, 2024 · 6 revisions

Now that I have a pico with Rust doing the bare minimum, it's off to Ethernet land. On a whim I ordered a enc28j60-i-sp for a breadboard. At this point, I have no idea how this chip will "talk" to the pico…

A friend tells me they "talk" via SPI. Great, let's wire this fucker up.

OK, turns out you need a whole bunch of shit to wire up the ENC28J60. Crystal Oscillators, ferrite beads, etc. So I took the easy way out and ordered a ENC28J60 breakout board: The Olimex ENC28J60-H

I found an old rust driver for the ENC28J60, but with recent pull requests incorporating smoltcp - with examples that looked stupid simple: example.rs

[TODO: SVG wiring diagram]

Previously I had been dragging *uf2 files into the pico USB drive on the Mac, but it was not fun continuously unplugging, and replugging in (hold BOOTSEL!) - I wanted something better. Enter Getting started with Raspberry Pi Pico - see Chapter 5. Flash Programming with SWD. Using only the pico debug port and a Pi4. I was able to load *elf files (no more converting to *uf2) directly onto pico, and didn't have to unplug it to load new code.

Much to my shock and amazement, I had this splitting out a web page really quickly.

On the enc28j60-h tag I have the pico at 192.0.2.10 spitting out a json payload based on contact sensor.

Clone this wiki locally