[Hardware] e-Paper flash card project

I started a fun little project the other day that I thought some folks here might be interested in: I got a small e-paper display that would work with my old Raspberry Pi 3, and I thought it would be neat to have a display of all the WaniKani reviews I’ve gotten wrong most often to help me catch up on the 600+ mountain that’s built up. (Yes, this is procrastination. Shhh.)

The way it works is as follows: about once an hour it pulls the list of review summaries for which my percent correct is under 70%, and collates an array of IDs. Then it makes a call to the subjects endpoint to get the details for those IDs. Then every few minutes it selects a random subject from that list, figures out whether it’s a radical, kanji, or vocabulary, and lays it out on the e-paper display.

Since I can’t use colors to distinguish, and because the vocab can be a longer string, I use orientation and shading to visually indicate what I’m looking at. Most of the work actually went into making that look nice, and having it dynamically figure out how to lay it out (balancing word wrapping and font size to make sure it fits). I print the onyomi in katakana to distinguish from the kunyomi.

I’ve still got some work to do on it; the board has some buttons that I’m not doing anything with yet. The refresh on the display is too slow for much interaction, but I thought maybe switching between showing and hiding the answer might be doable. Plus I’d eventually like to build or print a case for it.

Anyway, if there’s interest I can probably clean up the code enough to share. (I was going to put it up on github, but I’m not sure what the licenses are on the fonts I’m using)


That E-Ink is neat. Do you have some info on it?
Also would love to see the code. What language did you write it in?

Other than that nice weekend project!


It’s a Waveshare 2.7 inch display mounted on a HAT board: https://www.waveshare.com/2.7inch-e-paper-hat.htm
I picked it after seeing it on another project that rotated quotes off reddit, since it was inexpensive and looked nice.

The code’s all in Python.


Hey, that’s awesome! Gotta get me one of those e-ink panels.


This is awesome


Been there, done that. Careful, it only gets worse — the temptation and the Review pile.

That’s a really amazing project though!


Very cool! Would love to see the code, cleaned up or not. It is a side project after all :smile:

1 Like

I was amused this morning while working through my lessons to be stumped by a vocab word… and then turn to see it on the display! The odds of this are small but not ridiculous: it’s supposed to be showing me the ones I get wrong most often after all. Still, quite the coincidence. So… elapsed time to using it to cheat: under 24 hours? :sweat_smile:


I assume you mean your reviews? If it was actually a lesson, that would be very odd, since WK shouldn’t have recorded anything for it yet.

Yes, sorry. Posting before coffee, etc.

1 Like