Inkmere

Build Log · Hardware

Eight wires and a ribbon

A Waveshare e-Paper IT8951 driver board sitting on a desk, with the display ribbon connector at the top.
The IT8951 driver board. The panel is just glass; this is the bit that knows how to move the ink.

Before any of the software mattered, I had to physically get three things talking: the e-ink panel, a little controller board, and the microcontroller running everything. The panel itself is dumb, just glass and a driver, so all the real work happens on the controller board in between. Connecting them came down to two cables, and I got both wrong at least once.

The ribbon

The first is the flat ribbon coming off the panel. It slides into a hinged connector on the driver board, and the first few times I was sure I was going to snap either the ribbon or the latch. I didn't, but I reseated it enough in those early days that I'm careful with it now. It's the one part here that really doesn't like being fiddled with.

The driver board with the display ribbon connector circled in green marker, the ribbon partially inserted.
Circled because I spent an embarrassing while on a page that kept coming up half-blank. The ribbon was seated a hair off.

Eight little wires

The other connection is the one I understood least when I started. It's SPI, which I'd read about but never wired by hand, broken out to eight labelled pins. I kept the datasheet open the whole time. Most of them are what you'd guess once you see them: 5V and GND for power, then MISO, MOSI and SCK for the data and clock, and CS to pick the chip. The two that taught me something were RST, which just resets the controller, and HRDY, host-ready. HRDY is the controller's way of saying it has finished the last command and you can send the next one. Once I actually waited on that line instead of guessing at timing, the smeared, half-drawn refreshes stopped. One wire fixed a bug I'd been blaming on everything else.

Close-up of a white keyed SPI connector plugged into the driver board, beside the silkscreen pinout 5V, GND, MISO, MOSI, SCK, CS, RST, HRDY.
The eight-wire SPI harness on the labelled pads. I checked these against the datasheet more times than I'd like to admit.

So the whole physical side is just that: one ribbon, eight wires. Everything else is software. It felt like a lot at the time. Looking back it's almost nothing, which is mostly a measure of how little I knew going in.

← Back to the Build Log