I am trying to use a Waveshare e-Paper (2.9") with an Orange Pi Zero LTS. To enable the SPI interface, I have added this to /boot/armbianEnv.txt:
overlays=spi-add-cs1 spi-spidev
param_spidev_spi_bus=1
param_spidev_max_freq=10000000
and installed WiringPI from Github. The e-Paper module is connected to the following GPIO pins:
VCC: 3.3V
GND: GND
DIN: 19(phys)/11(wPi)
CLK: 23(phys)/14(wPi)
CS: 24(phys)/15(wPi)
DC: 22(phys)/13(wPi)
RST: 3(phys)/0(wPi)
BUSY: 5(phys)/1(wPi)
I have checked the connections by using the gpio command line tool to set all 6 ports above to low and to high, and verifying the output with a multimeter.
Then I downloaded the e-Paper software from Github, and made it compatible with the Orange Pi via the following changes to lib/Config/DEV_Config.c:
1. In DEV_Equipment_Testing(void), comment out the code that checks if the file /etc/issue contains the string "Raspian"
2. Set EPD_RST_PIN=0, EPD_DC_PIN=13, EPD_CS_PIN=15, EPD_BUSY_PIN=1.
3. Uncomment "if(wiringPiSetup() < 0)", add a curly open brace, and comment out the line after.
4. Change "wiringPiSPISetup(0,10000000);" into "wiringPiSPISetup(1,10000000);" to use spidev1.0
When I run this e-Paper example, nothing happens on the e-Paper display, although I can detect voltage changes on the GPIO ports with a multimeter. The same software works on a Raspberry Pi without problems. Any hints are appreciated!