This e-Paper display uses SPI to receive image data. Since the display is SPI, it was easy to add two more SPI devices to share the bus - an SPI SRAM chip and SPI-driven SD card holder. There's quite a few pins and a variety of possible combinations for control depending on your needs.
The buttons are connected to Digital Input pins. Pressing the button brings the pin low. There are no pull-up resistors connected, so you will need to enable those in software.
The numbers of the pins these correspond to will differ from board to board. However, on 32u4/328p/M0/M4/nRF52840 and many other boards you will see the following connections:
- A Button - this is connected to D11 of the feather
- B Button - this is connected to D12 of the feather
- C Button - this is connected to D13 of the feather
The FeatherWing uses SPI and some control pins for reading/writing data from the SD and then sending data to the E-Ink display
SPI data pins
- SCK - this is the SPI clock input pin, required for e-Ink, SRAM and SD card
- MISO - this is the SPI Microcontroller In Serial Out pin, its used for the SD card and SRAM. It isn't used for the e-Ink display which is write-only, however you'll likely be using the SRAM to buffer the display.
- MOSI - this is the SPI Microcontroller Out Serial In pin, it is used to send data from the microcontroller to the SD card, SRAM and e-Ink display
SPI control pins
- ECS - this is the E-Ink Chip Select, required for controlling the display
- SRCS - this is the SRAM Chip Select, required for communicating with the onboard RAM chip.
- SDCS - this is the SD card Chip Select, required for communicating with the onboard SD card holder. You can leave this disconnected if you aren't going to access SD cards
Other control pins
- D/C - this is the e-Ink Data/Command pin, required for controlling the display
- RST - this is connected to the microcontroller reset circuitry, so you don't need to worry about it in software.
Optional control pads:
- BUSY - this is the e-Ink busy detect pad and is optional if you don't want to connect the pin (in which case the code will just wait an approximate number of seconds). To use it, you will need to run a wire over to it.
SD CS, SRAM CS, EINK CS and DC are in order after the two I2C pins. The numbers of the pins these correspond to will differ from board to board. However, on 32u4/328p/M0/M4/nRF52840 and many other boards you will see the following connections
- SD CS to Pin D5
- SRAM CS to Pin D6
- EINK CS to Pin D9
- EINK DC to Pin D10
If you do not plan to use the SD card, you can cut the trace to SD CS.
Likewise if you do not plan to use the built in SRAM, say because you're in CircuitPython or if you are using Arduino and have a lot of RAM in your controller, you can cut the trace for SRAM CS.