Creating A Custom ePaper Display FeatherWing #Feather #FeatherWing #ePaper #Adafruit @Adafruit @cogliano

Creating A Custom Featherwing

Dan the Geek writes on his blog about his work with the Adafruit Feather HUZZAH (ESP8266) and HUZZAH 32 (ESP32) boards.

Dan has done some excellent work interfacing ePaper displays to these two boards and making things such as calendars, badges, and weather indicators.

To facilitate his designs, he looked to make a custom circuit board in the FeatherWing form factor:

The initial problem I had is that the Waveshare displays require 8 wires to connect to the HUZZAH for the SPI interface and power pins. In addition, I wanted to add a reset button that will wake up the Feathers from their deep sleep as well as have one or two programmable buttons. This could have been done with a Proto Featherwing, which provides a mini-prototyping board for components, but the number of wires to solder for the e-paper display and buttons requires a lot of wires to solder in a small area. I decided to see if I could design a custom Featherwing that not only could handle the e-paper interface and the buttons but also be compatible with both the HUZZAH 8266 and HUZZAH 32.

The standard Feather format, coupled with some clever design on Dan’s part, made the design come together:

The first task was to map out the e-paper display pins on both the 8266 and 32 so the same physical pin locations on the Featherwing will work on both. With some research, I came up with these pin definitions for the e-paper display:


#if defined(ESP8266)
// Feather HUZZAH 8266
#define RST_PIN 15
#define DC_PIN 2
#define CS_PIN 0
#define BUSY_PIN 4
#else
// Feather HUZZAH 32 (same physical locations as 8266 but different IO pins)
#define RST_PIN 33
#define DC_PIN 14
#define CS_PIN 15
#define BUSY_PIN 23
#endif

In summary, Dan says:

In all, I was very happy with the result. I no longer need to hand solder a dozen or so wires on a small proto board and the final product looks very clean. Having the same board compatible with both the HUZZAH 8266 and HUZZAH 32 is an extra bonus. I am putting the finishing touches on the code for a monthly calendar display and name plate/badge that you can see in the photo at the top of this article. This code will be released to GitHub and described in a future article.