e-Ink/e-Paper Displays

As you may have read in a recent post, I’ve become enamoured of the newer versions of the e-Ink or e-Paper displays to hit the hobby market.  They look great and (apparently) aren’t too difficult to drive, plus their inherent ability to maintain the display when “off” looks to be a major plus for any battery-powered projects.  Waveshare 1.54" Display (courtesy of Waveshare)Unfortunately, there isn’t a whole lot of good, solid information out there yet on using these screens.  That is changing though, as the prices start to drop enough so that people can afford to buy one or two to play with, even if they’re not entirely sure that they’ll work in a given project.  One of those brave early adopters is David Watts and he’s put together a very informative video on how to interface a Waveshare 1.54″ display to an ESP8266, along with details on connections, graphics libraries to use and even a design for a 3D printed desktop stand for the completed project.  It’s well worth a look.

On the subject of the screens themselves, it’s also worth noting that versions with an attached driver/interface card (which is much easier to use) are popping up on all of Waveshare SPI I/F (courtesy of Waveshare)the usual on-line bazaars, so it’s worth taking a few minutes to check whether you’re about to buy a bare screen (with a tiny, 24-pin, flex cable connector) or the former, driver/interface card equipped version.  Confusingly, both are advertised as being “SPI” interfaces and only a check of the photos of the unit for sale will confirm whether you have a usable 8-pin socket, or just a flapping flex-cable.   One of the cheaper options is one of the Raspberry Pi “HAT” displays,  They all seem to come with a standard RPi header connector, as well as the 8-pin connector (or at least the solder pads for it) and, presumably because they’re quite popular, seem to be quite cheap, too.


Hackaday Coin-Cell Challenge

One of the entries in the Hackaday Coin-Cell Challenge piqued my interest, initially because it featured an ESP, but then because of the beautiful display.  The project goes by the name of “Badgy” and is basically just another WiFi enabled, conference-style badge.  I was surprised that it used an ESP8266, because the whole point of the Coin-Cell Challenge was to eke out the maximum amount of life from a coin cell battery …and the ESP8266 is certainly not known for it’s low power consumption.  "Badgy" e-Paper Display As it turns out, the project’s creator, W4ilun, gives a whopping 35-day run-time for the device …but only when it’s in deep-sleep mode; with “normal” use that figure tumbles to around 21-hours (Ouch!).

Still, the thing that hooked me about the project was the beautiful display.  Checkout W4ilun’s Hackaday.io gallery pages to see more examples of this stunning little e-Paper module.

The two things which have put me off these displays in the past are the complicated interface/support requirements and the prices.  This little module seems to have (almost!) nailed those two drawbacks.  The price is very competitive with current OLED modules (once you manage to find the supplier, anyway) and the weird voltage requirements which e-Paper displays have, is mostly handled on-module by the device itself, apart from a requirement for a simple, MOSFET boost circuit to generate the positive and negative gate drive voltages (this is driven from the display module, but the user needs to implement the circuit discretely …and no, I don’t know why it isn’t included on the display module, either.  See page 50 of the manufacturer’s data sheet if you’re interested). The down side on the interface side is that it has a super-tiny 24-pin connector which your average, ageing through-hole-component constructor (with shaky hands) just isn’t going to be able to hack (so, even though W4ilun is offering the bare boards on Tindie, I’d like to suggest that he also sells a board-plus-display option, too).

If it wasn’t for that horrible connector, I would have ordered a couple of these displays already.  As it is, I’ll be waiting for someone to produce an old-git-friendly version (preferably for about $8, including worldwide postage 😉  ).

Anyway, many thanks to W4ilun for all of the work he’s put in on this project and many congratulations to him on getting into the winner’s circle on Hackaday.

W4ilun’s GitHub repository for this project can be found here.

Nice little TFT screen adapter board

Johan Kanflo has an interesting site which is definitely worth browsing.  One of his ESP8266 projects which caught my eye was the “Commadorable-64”.  Although the Commodore 64 isn’t a shared experience, using a tiny TFT display connected to an ESP is.  Johan has put together a neat little carrier board for the ESP8266 which solders directly onto the pins of the TFT display board.  Instant wireless display!

Johan’s project actually covers more than just one model of display, with the ESP Johan Kanflo's TFT Adapter Boardcarrier board being available for the 2.2, 2.4 and 2.8 inch TFTs (the larger models have connections for touch control, too);  follow the links on Johan’s project page to reach the DirtyPCBs pages for the one which interests you.

Johan has a Github repository with the code for this project (and many more) available for download.

Connecting the Yellow Dev board to a TFT display

Previously I mentioned using a modified version of Squix’s Weather Station Colour as a test application for a 2.2″ TFT 240×320 display with an SPI interface.  If you have a Yellow Board hanging around unused, I really would recommend this as a useful application.  My photo doesn’t really do it justice 2.2" 240x320 TFT Display(it is a rainy day here and the light is bad).  The actual display is quite crisp and sharp (even with the protective plastic shipping sheet still attached to the screen).

What you see to the left is Keith Fowler’s modified version of Neptune2’s modified version of Squix’s original (got that?).  The middle and bottom areas on Keith’s version dynamically update every few seconds to give you expanded information (for instance, the bottom 1/3 of the screen will change to show you the current phase of the moon, while the middle will give you the same style of iconized weather for an additional three days).  It really is quite neat, even for someone with eyes as poor as mine.

Squix has build instructions on his site, which I’d just like to add to here.  He’s using a NodeMCU board, where the GPIOs are numbered a little strangely, so here’s the connection map for a normal ESP-12 (or, in our case, the Yellow Dev board):-

  • MISO   –   N/C
  • LED   –   3v3
  • SCK   –   GPIO14
  • MOSI   –   GPIO13
  • DC/RS   –   GPIO02
  • RESET   –   RST
  • CS   –   GPIO04
  • GND   –   GND
  • VCC   –   3v3

There’s nothing special which needs to be done (other than watching out for upper-lower case issues with the names of the included font files if you’re compiling on a non-Windows machine).  Once the connections are made, you can load either Squix or Keith’s code and it will burst into life …except that you won’t get much useful weather information until you get your own developer’s ID from Weather Underground (it’s free).

The display connections leave us with GPIOs 16, 15, 12, 05 and 00 to play with (remembering that 00, 02 and 15 need special attention because of their specific pull-up/down functions at power-on).  One obvious addition would be the use of a P-channel MOSFET in the display LED backlight line to only light up the screen when a button is pressed.  That could save quite a bit of power over time (and I don’t particularly want bright flashing screens at night).

Personally, I plan on stealing some of Squix, Neptune2 and Keith’s ideas to implement a little controller which will display inside and outside temperature (using a local DS18B20 for the local sensing) and allow override control of a fan heating system via MQTT.

Squix has build instructions on his site_