Having fun with ESP32 and epaper.

In April 2021, I attended BSides Canberra 2021, a conference on practical cyber security. The conference badge was actually an electronic board with ePaper screen. In addition to that, it is equipped with a lot of extra functionalities that may enable endless possibilities. I am planning to make some IoT applications out of it. Lets start by examining the badge components.

General design

The badge has a main board that contains two small chips, ESP32-PICO-D4 and ATSAMD21. The board hosts several other things such as

  • an epaper display
  • some LEDs
  • an bluetooth antenna
  • a rechargeable battery with On/Off switch
  • some physical buttons.
  • two micro USB ports to talk with the chips.

Each chip controls some of those stuffs, and the two chips can communicate via a serial link. In general, this badge has almost everything you need to build an IoT application, and can even connect to your own external sensors if need be.

Hands-on inspection

I have disassembled the badge to further examine the electronics. Overall, the board has been well designed and made with high-quality parts.

The last second photo shows the two USB ports which can be used to talk with and install firmware to the two chips. The last photo shows the back of the badge, which allows us to quickly inject some cable pins to communicate with the board, or even solder arrays of headers to take a full advantage of the SAMD21 chip.

Detailed specification

Details of the board are as follows. Notice that that epaper display’s model is not what claimed by the badge maker. We will talk about that story in another post.

Two main chips

  • ATSAMD21G18A-AUT
    • 8 x Capacitive touch buttons
    • 3 x user LEDs
    • 8 x RGB LEDs (LP5024)
    • Arduino MKRZero Header (in the add-on pack)
    • Infra-Red Transceiver TFBS4711-TR1 (in the add-on pack)
  • ESP32-PICO-D4
    • eInk Display DEPG0290RHS75BF6CP-H0 (although the vendor says it is DEPG0290B01)
    • 5 x User Buttons
    • Audio Codec SGTL5000XNLA3 (in the add-on pack)
    • Inertial Measurement Unit ICM-20620 (in the add-on pack)
    • MicroSD Card
    • Flash AT25SF081-SSHD-T (in the add-on pack)
    • RAM LY68L6400SLIT (in the add-on pack)

Accessories

  • LP5024RSMR
    • RGB LED Driver for 8 x RGB LEDs
  • ICM-20620 (in the add-on pack)
    • 6-axis Motion Tracking
      • 3-axis gyroscope
      • 3-axis accelerometer
  • TFBS4711-TR1 (in the add-on pack)
    • Infra-Red Transceiver
  • SGTL5000XNLA3 (in the add-on pack)
    • Low Power Stereo Codec with Headphone Amp
  • AT25SF081-SSHD-T (in the add-on pack)
    • 8MBit Flash
  • LY68L6400SLIT (in the add-on pack)
    • 64MBit PSRAM
  • DEPG0290RHS75BF6CP-H0
    • 2.9” Red/Black/White eInk Display
    • 296 x 128 pixels

A trial hack

I have been able to build a simple firmware for the ESP32 to write something on the epaper display. Although the work sounds simple, it has turned out to be tough because the display’s model specified by the badge maker is not correct, and I have not been able to find the datasheet or sample code for the display (even when the correct model has been revealed). We will talk about that story in another post.