E-Paper - Display User-generated QR Code


  • AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1

  • Waveshare 2.9inch e-Paper HAT (D) x 1


In this example, we use the Ameba RTL8722 module connects to a Waveshare 2.9inch e-Paper module to display a few QR codes. The display uses the flexible substrate as a base plate, with an interface and a reference system design.
The 2.9” active area contains 296×128 pixels and has 1-bit white/black full display capabilities. An integrated circuit contains gate buffer, source buffer, interface, timing control logic, oscillator, etc… are supplied with each panel.
You may refer to the official 2.9inch e-Paper HAT (D) datasheet to know more information about this module.

Front view of the e-Paper Module:


AMB21 / AMB22 Wiring Diagram:

../../../../_images/image244.png ../../../../_images/image330.png

AMB23 Wiring Diagram:

../../../../_images/image2-12.png ../../../../_images/image3-12.png

BW16 Wiring Diagram:

../../../../_images/image2-22.png ../../../../_images/image3-22.png

BW16-TypeC Wiring Diagram:


Download the Eink zip library, AmebaEink.zip, at https://github.com/ambiot/tree/master/Arduino_zip_libraries Then install the AmebaEink.zip. Open the “DisplayQR” example in “File” “Examples” “AmebaEink” “DisplayQR”:


Modify the URL in the loop() section as your wish, after that, verify and upload the code to the Ameba board. Upon successfully upload the sample code and press the reset button, a QR code generated based on the URL of your input will be shown on the E-Paper module. The QR code showing below leads to our Ameba IoT official website: Ameba ARDUINO


Code Reference

[1] We use Good Display GDEH029A1 2.9 Inch / 296×128 Resolution / Partial Refresh Arduino Sample Code to get the e-Paper successfully Display: http://www.good-display.com/product/201.html

[2] Provide the link to how to generate a QR code on the E-paper module: https://eugeniopace.org/qrcode/arduino/eink/2019/07/01/qrcode-on-arduino.html

[3] A simple library for generating QR codes in C, optimized for processing and memory-constrained systems: https://github.com/ricmoo/QRCode#data-capacities