Smol Fonts for E-Ink Displays

Posts are so much more interesting with pictures, don’t you think?

I’ve been playing with different screen designs for my e-ink display.  After initially going with some “to do” style items, I quickly pivoted to playing with some more interesting screens while I was working out the best way to update the display with new content from lists.  This wasn’t a totally worthless chase, however.  Fiddling with various ideas and tests about updating the display and coming up with different images lead me to chase down good looking fonts (Futura variants and Roboto being attractive and friendly fonts) and fonts that look good at very small scale (UNSCII, Tom Thumb, TinyFont for TinyGo displays, and Terminus).  Adafruit has a great toolchain for converting a font from an PC recognizable font to a BDF format font which is much smaller and can fit into a microcontroller.1 It involves2 using FontForge to remove unused glyphs, restrict the font to a specific bitmap size, exporting the font, then using an online tool to convert it to a BDF format.

For extra visual interest, here’s the first Fallout themed screen I uploaded and the latest:

Things are not looking up, my dude

The main screen was inspired by the work of CrowTeeRobot on the RPF.  I took a few screens, jammed them together, added and deleted a bunch of stuff.  After all that, there was still a fair bit of negative space, so I kept adding in more things.  A low battery indicator, life point indicator, a GPS lost / map indicator, an increasingly worrying radiation counter, and a “low ammo” indicator.  If these end up getting installed into a PIP-Boy, I’ll probably try to add a green transparency over it to give a more retro feel.

For working with an e-ink display to go into a PIP-Boy, it really only needs to cycle through a set number of screens.  This could just be done by having the MCU just play new screens every few minutes (keeping in mind the Adafruit guides recommend updates be no more frequently than every 3 minutes) or having it be slightly interactive and update the screen way less often (say every 10 minutes) but can be set to a new screen manually by pressing an associated button.  However, this just requires building a few static screens, saving them as BMP files, tossing them in, and letting the MCU detect button presses, capacitive touches, or some other kind of input.  There wouldn’t be any kind of need for a text overlay.  That said, while I was playing with the screen, I discovered that some of the graphic text I had included was surprisingly readable at very small scale.  This lead me back to my main project…

For my note / reminder / task purposes, I’m still toying with how the workflow would go.   Since I want a device that is untethered from a USB cable and has

Here are some ideas I’ve gotten to work and played with:

  1. ESP32C3 as a WiFi access point and provides an HTML form which the phone or my computer can connect to.  The problem with this is then I have to disconnect my phone/computer from the network, connect to the ESP, send an update through the HTML form, disconnect and reconnect to the router.
  2. Cell phone as a WiFi access point, the ESP32C3 connects and fetches data from the phone.  The problem with this is then I would have to disconnect the phone from the router, let the device connect, pull data, then I would reconnect the phone to my router for regular usage again.  This is pretty clunky.
  3. ESP32C3 connects to same WiFi network, then tries to push/pull data from a local IP address.  Also possible is for the ESP32C3 to connect to a webservice via an API, but then this makes the device dependent upon proximity/access to both my home router and internet access.
  4. The best way forward is probably a Bluetooth connection to my phone and an associated app.  I’ve written some small apps using the MIT App Inventor, so this looks like the best way forward.  I’m thinking, something along the lines of:
    1. Use the app to create an ordered list of items
    2. Press a button on the device, to “wake” it – which also makes it try to connect over Bluetooth to the device it’s been paired with, and pull the latest list
    3. The device disconnects from Bluetooth, displays the topmost list item, and goes to sleep
    4. I can can press a button to start a timer until X seconds has elapsed
    5. When the time elapses, the device buzzes, vibrates, and/or lights up an LED
    6. I can then press a button to sleep or another button to advance the task to the next item
    7. Possibly an interval timer as well to remind me to get up and walk around / move :)
Sticky Note Timer
  1. Ah, just what I need! A new project!
  2. Sticky Note Timer, parts arrived!
  3. Seeed Studio XIAO ESP32C3 and a small sticky note display
  4. Brainstorming More E-Ink Stuff
  5. Smol Fonts for E-Ink Displays
  6. Tap Light Focus Timer System
  1. This one, League Spartan Bold 16, looked particularly good []
  2. as best as I understand it… []

Note to self, too

The Mummy Box Set - and detail of box
1. The Mummy Box Set - and detail of box

One of my favorite movies is The Mummy, and the coolest prop in the movie is a hexagonal puzzle box. When I get a chance, I’d like to design this object too. Here are some photos and informative links I’ve found:

  1. The cover of the Mummy Box DVD Set.
  2. What appears to be a homebrew prop replica.
  3. What appears to be an actual movie prop.

Sure, it’s frivolous.  However, I like the design challenge inherent in replicating this prop, getting the pieces to fit, perhaps even getting it to spring/pop open.

Home brew prep replica
2. Home brew prep replica
Mummy Puzzle Box Stats
Measurement of height 6-7/18″
Measurement from front to back 3-3/4″
Measurement of width, all sides 2-3/4″
Measurement of width, corner to corner 2-3/4″
Measurement of height 1-1/2″
Measurement of width, from base 5″
Measurement of all links 1-1/4″
Color Antique Gold
Other design details Top shows Seti I’s Horus name (men-maat-re), flanked by Anubis on the left and a male figure on the right, separated by vertical lines. Sides are inscribed with haphazard hieroglyphs including “Son of Re” and “Amen-Re.”
Puzzle Box - full picture
3. Puzzle Box - full picture
Puzzle Box close up
3. Puzzle Box - close up
3. Puzzle Box - side view
3. Puzzle Box - side view