Skip to content

IoT Calendar: Using the Custom Featherwing with Adafruit Tri-Color e-Paper Displays

  • by

This is the fourth in a series of articles about using microcontroller devices with e-paper displays for displaying dynamic calendars.

The custom e-Paper Featherwing I created has been working great with the Waveshare family of e-Paper modules. As a fan of Adafruit products, I was curious if it was possible to get it to also work with Adafruit’s line of e-Paper modules. Adafruit ( https://Adafruit.com ) has several tri-color (black, white and red) e-Paper devices ranging from 1.54″ to 2.7″ diagonal screens. Happily, it works! So the same custom Paper Featherwing can now work with either Waveshare or Adafruit e-Paper displays. This article will detail how to use the Featherwing with the Adafruit displays. Note: The custom e-Paper Featherwing is available at my Tindie store.

First, there are a few caveats using the custom Featherwing with an Adafruit e-Paper display. Since the custom Featherwing supports 8 wires and the e-Paper display has 13 pins, there are not enough pins available to use with the Adafruit display. So, some trade-offs were made. One trade off is the built-in memory on the Adafruit display board is not used. All screen memory must be supplied by the microcontroller. This may be an issue if memory is at a premium on your microcontroller. Also, there is no pin available for reading the built-in SD Card slot on the display. On the plus side, howerver, there are 3 buttons available for use on the Featherwing, a reset button and two programmable buttons.

As a pleasant surprise, the wires connecting the Featherwing to the Adafruit display nearly matched the order of the Waveshare display. Only one wire needed to be crossed. To hook up the Adafruit display, I soldered 13 right angle header pins to the display and used 3″ female/female jumper wires to connect to the display. Straight header pins could also be used.

Wired pins from the Featherwing to the display.

All Adafruit displays use the same pin layout. The pins used on the device are shown in Table 1.

Adafruit DisplayFeatherwing Pin (Pin Order)
VINVCC (1)
GNDGND (2)
SCKCLK (4)
MOSIDIN (3)
ECSCS (5)
D/CDC (6)
RSTRST (7)
BUSYBUSY (8)

Table 1: Pin mapping from Adafruit display to Featherwing (note pins 3 and 4 are swapped).

Custom Featherwing pins

Once I had the I/O pins mapped, I needed to work on getting the e-paper demo program in the Adafruit e-paper library working. This page details how to install the two libraries needed for the display. For this project, I had to make some changes to get it to work with the Featherwing. First, I replaced the default pins in the demo program with the newly mapped ones. I also included the I/O pins for the buttons and LED. They were not needed for this sketch, but they can be used in other sketches using the display.

#if defined(ESP8266)
  // Feather HUZZAH 8266
  #define EPD_RESET      15
  #define EPD_DC          2
  #define EPD_CS          0
  #define EPD_BUSY        4
  #define BUTTON0         12
  #define BUTTON1         5
  #define LEDPIN          0
  #define LEDPINON        LOW
  #define LEDPINOFF       HIGH
#else
  // Feather HUZZAH 32 (same physical locations as 8266 but different IO pins)
  #define EPD_RESET       33
  #define EPD_DC          14
  #define EPD_CS          15
  #define EPD_BUSY        23
  #define BUTTON0         12
  #define BUTTON1         22 
  #define LEDPIN          13
  #define LEDPINON        HIGH
  #define LEDPINOFF       LOW
#endif

I also needed to switch the ePaper class constructors to use the ones not using the external SRAM feature. I used these classes instead (uncomment the appropriate one for your ePaper display):

/* Uncomment the following line if you are using 1.54" tricolor EPD */
//Adafruit_IL0373 display(152, 152 ,EPD_DC, EPD_RESET, EPD_CS, EPD_BUSY);

/* Uncomment the following line if you are using 2.15" tricolor EPD */
Adafruit_IL0373 display(212, 104 ,EPD_DC, EPD_RESET, EPD_CS, EPD_BUSY);

/* Uncomment the following line if you are using 2.7" tricolor EPD */
//Adafruit_IL91874 display(264, 176 ,EPD_DC, EPD_RESET, EPD_CS, EPD_BUSY);

Finally, I had to modify the library to not use the external SRAM feature built into the display. I did not see a way to disable it other than modifying the library code itself. This required commenting out a single line in the file Adafruit_EPD.h in the Adafruit_EPD library. At around line 29 add two slashes in front of this line:

#define USE_EXTERNAL_SRAM ///< use the external RAM chip on the EPD breakout

to make it a comment, effectively disabling the #define command:

//#define USE_EXTERNAL_SRAM ///< use the external RAM chip on the EPD breakout

Making these changes allowed me to run the demo program successfully.

Success!

So far I have created a couple of sketches to work specifically with the Adafruit display, including a dynamic monthly calendar display and a random quote display using Adafruit’s quote API. I will be posting the code on GitHub for these and other sketches as I develop them for use with the e-Paper Featherwing. You may need to tweak the code to get it to work with different Adafruit display sizes.

Random quote sketch

Awas Melewatkan Cuan! Rahasia Pola Black Scatter untuk Pecahkan Rekor Kemenangan Hari IniCara Gila! Tingkatkan Akurasi Taruhan Roulette Lewat Teknik Fibonacci Anti-RugiCuan Meledak! Ini Dia Pola Scatter Mahjong Ways 2 yang Paling Nge-Hits Saat IniCuci Mata dan Kantong! Aksi Pemain Sukses Raup Cuan di Black ScatterDari Patah Hati Jadi Heart Attack! Kisah Pemain Sukses di Baccarat dengan Trik SederhanaGak Nyangka! Rumus Sederhana Ini Bikin Peluang Menang Parlay Naik 80%Hati-Hati! Kesalahan Kecil di Baccarat Bisa Bikin Anda Kehilangan Jackpot Besar!Jangan Lewatkan! 3 Sinyal Kemenangan di Mahjong Wins yang Jarang Diketahui Pemain LamaMahjong Wins 2 Dari Pemula Jadi Sultan! Ini 4 Jurus Jitu yang Wajib DikuasaiMenang Terus! Strategi Taruhan Roulette yang Bikin Dealer Sampai Geleng-GelengMode Gila! Simak Trik Menguasai Freespin di Black Scatter Tanpa Modal BesarNgaku Pecinta Gates of Olympus? Wajib Baca 5 Kesalahan Fatal Ini Sebelum Spin!Parlay Panas! Kombinasi Tim Ini Dijamin Bikin Dompet Mbledos Terbukti!Perhatikan Jam Main! Ini Waktu Terbaik untuk Menang di Gates of OlympusPeringatan Keras! Jangan Mainkan Mahjong Ways 2 Sebelum Baca 7 Petunjuk Ini!Roulette Bukan Sekadar Tebak Angka! Strategi Jitu Ini Bikin Meja BergetarScroll Berhenti! Spill Pola Scatter Mahjong Wins dari Grup Telegram Paling DipercayaSensasi Maxwin! Bocoran Pola Scatter Mahjong Ways 2 yang Bikin Saldo Nambah Nol!Turun Gunung! Eks Member Kasino Bagikan Pola Andalan di Mahjong Ways 2Viral! Pemain Ini Raup Cuan Besar di Gates of Olympus Hanya Modal 20 Ribu, Caranya?Catat Tanggalnya! Peringatan Kemenangan Besar di Black Scatter Akan Segera TerjadiCurhat Pro Player Cara Saya Konsisten Cuan dari Parlay Tanpa RibetHati-Hati Scatter Palsu! Kenali Perbedaan Scatter Asli di Mahjong WaysIni Dia! Tanda-Tanda Mesin Mahjong Wins 2 Siap Memberikan JackpotModal Uang Kembalian? Coba Trik Ini di Baccarat, Bisa Jadi Cuan Besar!Sering Kena Scatter? Itu Tanda Anda Salah Main, Coba Simak Strategi Gates of Olympus Ini!Stop! Jangan Spin Sebelum Tau Pola Scatter Gates of Olympus yang TerupdateTakut Kalah? Pakai Saja Trik Anti-Panas di Mahjong Wins 2, Dijaman Aman!Tingkatkan Level! Cara Jago Main Roulette Ala Pro Player Dalam Waktu SingkatTips Sakti! Menaklukkan Meja Roulette Hanya dengan 3 Putaran AwalBaccarat Panduan Membaca Tren Meja Jalan KemenanganBlack Scatter Analisis Tingkat RTP Return to Player dan PengaruhnyaBlack Scatter Teknik Mengelola Emosi Saat Lagi Hoki dan HancurMahjong Wins 5 Kesalahan Fatal yang Sering Dilakukan PemulaPanduan Lengkap Menemukan Pola Scatter Mahjong Ways 2 dari Hasil SpinParlay Memilih Liga dan Tim yang Tepat untuk Taruhan AndaRoulette Eropa vs Amerika Mana yang Lebih Menguntungkan?Roulette Strategi Martingale dan Dampaknya pada Modal AndaStrategi Taruhan Progresif di Baccarat Apakah Efektif?Tips Bermain Gates of Olympus dengan Modal Kecil dan Risiko MinimBaccarat Mengenal Sistem Taruhan Paroli untuk PemulaBlack Scatter Pentingnya Mengatur Batas Waktu dan Target BermainGates of Olympus Membedakan Antara Pola Gacor dan Pola BiasaGates of Olympus Peran Penting Multiplier dalam Kemenangan BesarMahjong Ways 2 Cara Membaca Simbol-Simbol Penting di Dalam GameMahjong Wins Mengoptimalkan Fitur Beli Freespin untuk KeuntunganMemahami Volatilitas Mahjong Ways 2 agar Tidak Cepat Kehabisan SaldoParlay Tips Mengkombinasikan Taruhan Over/Under dan 1X2Roulette Trik Sederhana Memanfaatkan Hot Numbers di Meja LiveTips Memilih Bettingan yang Tepat di Mahjong Wins untuk PemulaBaccarat Memahami Peran Banker dan Player dalam PeluangBaccarat Trik Flat Betting untuk Konsistensi KemenanganBlack Scatter Analisis Pola Kemunculan Simbol Wild dan ScatterBlack Scatter Cara Membaca Pola Putaran Sebelum Memulai Taruhan BesarGates of Olympus Panduan Bermain di Versi Mobile vs DesktopMahjong Ways 2 Rekomendasi Jumlah Spin yang Ideal untuk 1 SesiMahjong Wins Tips Ampuh Memanfaatkan Bonus New MemberParlay Mengerti Risiko dan Manfaat Taruhan Kombinasi Multi-TimParlay Panduan Bermain Saat Musim Turnamen untuk Hasil MaksimalRoulette Perbedaan Taruhan Dalam dan Luar serta ManfaatnyaBaccarat Tips Memilih Meja Berdasarkan Jumlah PemainBlack Scatter Panduan Awal Bagi yang Ingin Beralih dari MahjongGates of Olympus Mengatur Kecepatan Spin untuk Pengalaman Bermain TerbaikMahjong Ways 2 Panduan Daftar dan Mulai Main untuk Pemula AbsolutMahjong Ways 2 Panduan Menerapkan Stop Loss dan Take ProfitMahjong Wins Cara Mudah Memahami Fitur Wild dan FungsinyaMahjong Wins Strategi Jitu Menggabungkan Pola dengan Manajemen ModalParlay Memahami Pengaruh Cedera Pemain Terhadap Peluang KemenanganRoulette Memanfaatkan Fitur Statistik untuk Membantu Menentukan AngkaRoulette Pola Dasar yang Perlu Diketahui Sebelum BertaruhNge-Hits Abis! Pola Scatter Mahjong Ways 2 Ini Bikin Auto Banjir Cuan!Gates of Olympus Sedang Panas! Langsung Gas Pola Ini, Dijamin Scatter Berondong!Cuma 5 Menit! Pemula Ini Raup Puluhan Juta di Mahjong Wins, Kok Bisa?Viral Di Mana-Mana! Ini Pola Black Scatter Paling Brutal yang Lagi Dicari!Siap-Siap Kaget! Baccarat Bisa Bikin Kaya Mendadak Pakai Trik Satu Ini!Roulette Bergetar! Strategi Gila Ini Bikin Meja Loss Berkali-Kali!Parlay Gacor! Kombinasi 3 Tim Ini Wajib Dipasang Pekan Ini Terbukti!Jangan Spin Dulu! Baca 3 Sinyal Kematian di Mahjong Ways 2 Sebelum Main!Cuan Mengalir Deras! Spill Pola Scatter Mahjong Wins dari Admin Grup Sultan!Gates of Olympus Auto Maxwin! Pemain Ini Cuma Modal Receh, Hasilnya Meledak!Bongkar Rahasia! Black Scatter Ternyata Punya Jam Emas Kemenangan!Peringatan Keras! 5 Kesalahan Fatal di Baccarat yang Bikin Bangkrut!Roulette Bukan Tebak-Tebakan! Simak Formula Jitu Ini Biar Cuan Terus!Auto Penasaran! Pola Scatter Mahjong Ways 2 yang Bikin Streaming Ramai!Mahjong Wins 2 Dari Pemula Pro! Ini Lho 4 Jurus Andalan Anak Muda!Parlay Maksimal! Trik Menentukan Tim Kuda Hitam untuk Taruhan Anda!Gila! Black Scatter Kasih Freespin Terus, Pemain Sampai Speechless!Gates of Olympus Hati-Hati! Simbol Zeus Ini Pertanda Akan Jackpot!Baccarat Meja Panas! Terapkan Teknik Cut Ini, Musuh Langsung Ciut!Roulette Berbisik! Pelajari Angka Favorit Dealer Biar Menang Terus!
toto togel
bandar togel