These instructions are as simple as possible to allow for easy reproduction. I don't endorse using the Arduino IDE for anything serious. The Espressif/IDF environment provides a way better experience.
The pins need 3.3V! The original Arduino only has 5V pins. Don't use that board without voltage dividers.
Original code taken from: https://github.com/waveshare/IT8951/
- Get a microcontroller and a Waveshare display with IT8951 driver board
- i.e. an ESP32: https://www.dfrobot.com/product-1590.html (find cheaper and faster shipping ESP32s on ebay etc.)
- i.e. the 6" version: https://www.waveshare.com/6inch-e-paper-hat.htm
- Wire your Arduino-compatible board with the following pins
- Power -> 5V (USB)
- Ground -> Ground
- MISO (blue) 19
- MOSI (yellow) 18
- SCK (orange) 5
- CS (green) 12
- RESET (white) 16
- HRDY (purple) 17
- Download Arduino IDE
- install IDE support for ESP32 (Tutorial)
- Flash this repo's code to the board
- Enjoy your success
The example picture that will show up on the epaper is Obernberg am Inn Adlerwarte: Rotmilan (CC-BY-SA-4.0). It was resized and encoded using 4 bit per pixel, little-endian-like.
To reproduce:
- ./convert_image.py 400 400 pic.jpg
- xxd -i pic > pic.ino
- manually insert width and height variable into pic.ino (unsigned int pic_width = 400; unsigned int pic_height = 400;)
The ESP's RAM is limited, so if you want full resolution images, you need to stream them to the device via WiFi or load them from flash storage.