Edge Collective

E-Ink Map Display Prototyping

2020 Nov 09

Youtube tutorial by Techiesms

Nice tutorial using ESP32 and 4.2 " e-ink display

Associated library, GxEPD is here

Link for project code in the tutorial is here

Heltec Wifi LoRa v2 pinout.

Instructions for Adafruit MicroSD are here.

Formatting a microSD tutorial here

Convert to byte array code here

converting input images to proper grayscale here

this conversion pipeline looks great -- here

which is explained along with other code here

Working code, SD card to itsym0 4.2 in e-ink

Code on github is here

Converting images

Great little tutorial here

convert Lenna.png -monochrome lenna-1.png
convert lenna.png -monochrome -resize 200x320\! lenna4.bmp


Good quality compass offered here

Map tiles

Typical map tile size is 256x265 -- reference here

Guide to creating your own tiles here

Browsing local tiles guide here <---- this seems like a great guide to dive into.

More basic guide to OSM tiles here.

PCB Antennas for GPS

Guide here

Design considerations for UBlox here

Fig 9 from the UBlox App Note mentioned above.

Offline maps

Nice discussion and review here

Open Map Tiles

Main project description is here.

Open map tiles project update is here

OMT is compatible with Stamen's Toner -- post here.

Grayscale / B&W image

Thread discussion here.

Doing it without dithering:

convert bone.png -colorspace gray -threshold 80% -type bilevel -resize 200x320\! bone4.bmp



E-Ink setup

Link to waveshare guide for 4.2 in e-ink here

Datasheet is here.

ESP32 Low-power modes

There's a nice description here.

Tutorial on using ESP32 deep sleep here.

In particular, wakeup from external pin here.

Low-power ESP32:

Eink experiments

Inspiring projects

Arduino APRS project, here.

Key project. Marinus, and APRS display project, here. Great set of links, here!

Online code to generate OSM tiles for download is here.

Ham Radio for Arduino and Picaxe book --- Description, Amazon.

Source code for generating tiles from OSM is here

Grid square locator on above site is broken; perhaps this works?

Grid square locator here.

Computing lat / lon here.

Conant road lat / lon: 42.41158 -71.2983

Grid square utility here works, but doesn't give 10 character grid squares ...

Another tool is here, which generates a nice overlay ... <-- this is the tool to use!

So, the combined tools are:

Example grid square:


Grid Squares

Generator here. Uses a nice open source geocoding app that works with OSM. The author, ha8tks, has a repo on github that applies the GridSquare layout in Leaflet.

Reference on gridsquares here

Ham radio chat on grid squares here.

General term for this is the Maidenhead Gridsquare System.

(Alternative: the World Geodetic System)

Nice explanation of the grid locator system.

Nice historical background on the system.

Really nice video explanation of grid squares.

OSM Tiles

Guide to tiles here.

Tutorial on how to use OSM tiles in an application, here.

Leaflet providers here <-- really useful survey of free tile providers.

Good list of hiking maps

2020-11-25 10:50:31

Would be nice to include the GridSquare system in an offline map. Easily switch between a device and a paper printout.

How would one overlap on a 'regular' map? Might be neat to try to do via features. Would need same project I suppose.

Note that there's a TTGO EINK+ESP32 module here.

E-ink calendar display project here for ESP32.

Quick tally of hardware costs

If custom board:

can sell for 4X to support project, or around $200?

If DIY kit:

Can sell the PCB + SD card + GPS + screen as a kit for (10+30+5+5)*4 = $200 ... hmm. Maybe if also sell a case ...


Sparkfun ublox library.

Various Sparkfun ublox products.

I think the cheap chip vis a vis ublox is the NEO-6M. That's on the meshtastic, and that's what I'm using via Amazon. E.g. here.

This is the 'NEO-6M' item I've been using, here.

Designing a PCB for the waveshare

Module description is here.

Dimensions of module are thus:

5-way tactile switch

Sparfkun thumb slide joystick.

Two-axis analog thumb joystick from adafruit.