Finally got my e-ink display working after two days of head scratching

Oct 15, 2026 Last reply: 2 days ago 4 Replies
Jump to replies (4)

Spent the weekend hooking up a small e-ink panel to a Pico and it's finally showing a proper image. The frustrating part wasn't the code, it was the wiring. I had the data pin swapped with the clock and spent a whole evening wondering why the screen would flash black and then do absolutely nothing else. Turns out the little driver board I used had the pin labels printed on the underside, which I did not notice untill day two. Once I flipped it over and matched everything against the pinout table printed next to the headers, it came alive on the first try. Also had to pick between 3-line and 4-line SPI mode with a solder jumper, and the 4-line option is what the example code expected, so that was another small trap.



What surprised me most is how the display holds the image with zero power. I can pull the plug and the last frame just stays there. Battery project potential is huge. Next step is a weather station for the kitchen, low refresh rate and all. If your screen flashes but never draws, check your wiring before you blame the library.


I went through almost the same ritual with a 2.9 inch panel on a Pico last spring. My mistake was assuming the busy pin was optional because one random tutorial online skipped it. The screen would run the init sequence, wipe to white, and then the code would just blast past the waiting part and draw half a frame before the controller was ready. Added a loop that polls the busy line and suddenly every refresh worked. Two evenings lost to that one wire I decided was decorative.

The zero power thing is what sold me too. Mine sits on a kitchen shelf showing a shopping list, and it runs off a phone charger power bank that lasted about five weeks because the Pico sleeps between updates. I only wake it every 15 minutes to redraw, and most of the time the new frame is identical so it skips the full refresh anyway. One thing I learned the hard way: never let a static image sit on the panel for months without a refresh cycle. A label I left on a spare display over winter got a faint ghost of the old text baked in that no amount of flickering would clear. If your weather station runs for a long time, do the occasional full black then white cycle like the vendor docs suggest, even if it looks odd for a second. Kitchen forecast sounds perfect for this. E-ink is very readable from across a room in daylight, better than any LCD I have tried.

For the kitchen weather station idea, my advice from running something similar on a hallway display is to plan for ghosting early. I used a 7.5 inch panel with an old Pi Zero W because I wanted the WiFi for pulling the forecast anyway, and I got seduced by partial refresh because it looks so clean at first. Two weeks in, the old digits were faintly haunting every new frame, like a price tag ghost on a shop window.

The fix that worked for me was forcing a full clear cycle every handful of updates, plus a full flash refresh overnight. The panel does that dramatic black blink when it does a deep clean, wich my family found hilarious for about a day and now nobody notices. Worth accepting that trade before you build the whole thing around fast updates, because these panels will punish you for it. One other thing I did differently: I stopped trusting the sample code's timing and just watched the busy line myself with a meter across the pins while a refresh ran. Seeing how long the controller actually works, several seconds on a full clear, made it obvious why my early attempts with short delays produced half drawn frames. If your updates come out patchy rather than blank, that waiting part is where I would look before touching anything else.

Also give some thougt to where the panel hangs. Mine sits near a radiator and I learned these displays do not like warm spots, the contrast went noticeably flat until I moved it a meter sideways.

Watch the driver board if you go the battery route. My 4.2 inch panel sits in the hallway on a Pico and I measured the whole thing pulling about 1 mA even with the Pico in deep sleep, which wiped out most of the savings. Turned out the little regulator and status LED on the carrier board stay live no matter what. I cut the trace feeding the LED and idle current dropped to basially nothing, battery went from weeks to months. Worth measuring before you size the battery pack.

Also, cold rooms slow the refresh down noticeably. Mine in the garage takes about twice as long to settle at 5 degrees C as it does indoors, so if the kitchen runs warm you're fine, but keep it in mind for anywhere near a window in winter.

Update: added a proper wait on the busy pin like the first reply suggested and the screen now draws every single time, no more mystery flashes. Still stuck on the power side though, since mine also sips current while asleep. How did you deal with the carrier board draw, desolder the LED or find another way around it?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required