Author Topic: Custom SSD1680 E Ink board - stuck before BUSY/GDR goes active?  (Read 116 times)

0 Members and 1 Guest are viewing this topic.

Offline OrlandoBlyatTopic starter

  • Newbie
  • Posts: 6
  • Country: si
Hello everyone,

I'm encountering an issue prototyping a custom PCB for a 2.13" E Ink display that uses the SSD1680 driver. I could use some advice on what to check next.

The firmware for this project was developed and tested successfully on a WeAct Studio SSD1680 module. I'm using the exact same firmware binary on my ESP32-C3 microcontroller connected to my custom board, but the display fails to initialize.

The core issue is that the SSD1680 doesn't seem to complete its startup sequence. The GDR (Gate Drive Ready) output signal consistently stays low (inactive), so the external charge pump circuit on my board is never enabled. Consequently, VGH/VGL aren't generated, and the display remains blank.

Troubleshooting Performed:

Baseline: Verified the ESP32 is running and scope shows SPI signals (SCL, SDA, CS#, DC#) are being transmitted during startup attempts.

RES# Issue Identified : Initially, the RES# line was stuck low. My schematic lacked a pull-up. I added a 10kΩ pull-up, and the scope now confirms the ESP32 generates a correct reset pulse (High -> Low -> High).

BUSY Issue Identified : After fixing RES#, the BUSY output line appeared to be floating. Checked continuity to the FPC connector. Also added a 10kΩ pull-up resistor here, as one was missing from the schematic.

Current Status:

RES# pulse is confirmed correct.

Initial SPI commands are transmitted after reset.

BUSY line reads high (due to the pull-up) but is never actively pulled low by the SSD1680.

GDR line remains low.

Hardware Notes:

My custom board interfaces the ESP32 to the display FPC and includes the charge pump components (L1: 47uH TDK MLZ2012N470LT000, Diodes: Toshiba CES521,L3F, Q1: 2N7002N).

I'm aware the L1 saturation current (115mA) and Diode reverse voltage (20V) might be insufficient for full operation, but I suspect the root cause is earlier, as the chip doesn't even reach the stage of asserting GDR or pulling BUSY low.

I also swapped my MOSFET, inductor and diodes onto the reference module and the module works - so half rules out the components.

Where I Need Help:

Since the firmware works on the reference module and the RES# signal is now correct, why is the SSD1680 stalling before it signals readiness by pulling BUSY low? It seems stuck in the very early stages of processing the initial SPI commands after reset.

My main suspects are:

SPI Communication Problems: Noise on the lines (layout),  signal integrity issues preventing the SSD1680 from correctly interpreting the first commands.
or
Power Supply Instability?

Does anyone have any wisdom to help me?

Attached are my schematic, layout and the schematic for the reference module.

2541194-0
2541198-1
2541202-2
« Last Edit: April 07, 2025, 11:04:34 pm by OrlandoBlyat »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf