// the find
waveshareteam/e-Paper
Waveshare's vendor reference code for their e-paper HATs and shields, with C and Python for Raspberry Pi and Jetson Nano, Arduino sketches for UNO R3 and R4, and STM32F103ZET6 examples. Each panel gets its own folder with a driver, a hardware layer, and a demo, so it's aimed at someone who bought a Waveshare panel and needs a starting point rather than a reusable library.
Each panel folder is self-contained: the driver (epdXXX.cpp/.h), a thin hardware layer (epdif.cpp, or DEV_Config in the 1.02-inch folder), and a .ino demo. You can copy one folder into a sketch and build it without a dependency manager. The coverage is the real draw. The tree runs from the 1.02-inch panel up to the 13.3-inch, including tri-colour (b and c suffixes) and the newer g-series panels, and the drivers are the vendor's own init sequences, which is what you want when a datasheet is vague. Version suffixes (V2, V3, V4) sit side by side instead of overwriting each other, so older boards' code keeps building after you pull.
Almost nothing is shared between panels. epdif.cpp, imagedata.cpp, and the font files are copied into every panel folder (epd2in13, epd2in13_V2, _V3, and _V4 each carry their own font8 through font24), so a fix to the SPI layer has to be ported by hand to dozens of copies, and nothing in the visible tree suggests tests. The README says this branch holds user-submitted changes that are not yet verified and will be migrated to main later, so check which branch you clone; this code is less vetted than main. The README is a bilingual status note plus a hardware list, with no wiring tables or setup steps for any platform, so the real setup knowledge lives on the Waveshare site. The README also admits the newest panels have no Arduino UNO R3 example.