Waveshare 4.2" e-ink display, can't update display since using USB charger to power

Equipment:

Wired as follows:
BUSY: 25
RST: 26
DC: 27
CS: 15
CLK: 13
DIN: 14
plus GND and 3V3 pins.

I had actually started having some success with this board today, able to download data over HTTP and reliably draw pixels on the display. Happy days.

The next part of the project was to make the board awaken every few minutes to do this, and go into a low-power mode at other times. I did this using esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); delay(1000); esp_deep_sleep_start();

I don't think it's a red herring, but since then, I've been unable to write anything else to the display, even using the same previously working code. The serial monitor frequently logs "Busy Timeout!".

I've tried using the following minimal code:

void setup()
{
  Serial.begin(115200);
  Serial.println();
  Serial.println("setup");
  display.init(115200, true, 2, false);
  SPI.end(); // release standard SPI pins, e.g. SCK(18), MISO(19), MOSI(23), SS(5)
  SPI.begin(13, 12, 14, 15); // map and init SPI pins SCK(13), MISO(12), MOSI(14), SS(15)
  
  display.setTextColor(GxEPD_BLACK);
  display.firstPage();
  do
  {
    display.fillScreen(GxEPD_WHITE);
    display.print("Hello World!");
  }
  while (display.nextPage());
}

No output is seen on the display. The serial monitor logs the following:

20:38:12.291 -> Busy Timeout!
20:38:12.291 -> _PowerOn : 10001019
20:38:22.438 -> Busy Timeout!
20:38:22.438 -> _Update_Full : 10001015
20:38:32.481 -> Busy Timeout!
20:38:32.481 -> _PowerOff : 10001015

Any help appreciated.

The display can only update every 4seconds , maybe as you are sending data faster than that it is causing an issue ?

Given these displays are slow , a slower baud rate might be worth a try ?

Maybe you need a longer delay() in GxEPD2_EPD.cpp in line 99:

      delay(10); // NEEDED for Waveshare "clever" reset circuit, at least delay(2);

for use after processor deep sleep. e.g. 20ms or 100ms.

Jean-Marc

Thanks JM but it didn't work.

I know I said the deep sleep thing may be a red herring. I just realised also, it may have coincided with me trying to power the ESP32 board from a USB battery charger. I wonder if this could somehow have damaged either the board or the display.

funkybro.

When the ESP32 goes into deep sleep, the USB battery charger detects very little current draw.

Question for you, do you know what happens to a USB charger when the current draw drops too low?

:face_with_raised_eyebrow: I don't. I'm guessing you do.

Not going to try and look it up?

:roll_eyes::roll_eyes: Anyway. I don't particularly care about my usb charger, it was old and cheap. I am interested in getting my e-paper display operational again.

First thing would be to check if it still works without processor sleep.

I don't believe it does, this is what I was attempting to try in the code snippet I pasted above.

Then you need to state clearly what worked, and what doesn't, and if what worked does no longer.

And for the case without processor sleep it should be possible to provide diagnostic output from Serial Monitor, in a code window, please.

I believe that is what I have provided in the original post.

Really?

The combination of the Waveshare ESP32 Driver Board with a 4.2" e-paper board may result in too low voltage to the e-paper panel and its controller. The LDO on the display board being the cause.

Sorry, this terminates my attempt to help.

I don't understand it.

The combination of the Waveshare ESP32 Driver Board with a 4.2" e-paper board may result in too low voltage to the e-paper panel and its controller.

Too low voltage, is this a bad thing? I've heard of things getting destroyed by too high voltage but not too low.

The LDO on the display board being the cause.

Not sure what an LDO is.

Sorry, this terminates my attempt to help.

Err, ok? Thanks, I guess.

Yes, the controller will not get READY on power up (generating driver voltages for the panel), causing BUSY timeout.

LDO : series regulator, may be Low Drop Out regulator, still having problems to create 3.3V from 3.3V, resulting in less than 3.0V.

You're welcome.

Yes, the controller will not get READY on power up (generating driver voltages for the panel), causing BUSY timeout.

Does this mean my display is permanently broken?

Let me elaborate on my last question

Does this mean my display is permanently broken?

If yes: what specifically was my mistake? Is a USB phone charger a poor choice of power source for this project? What might be a better choice of battery source.

If no: how might I resurrect it, and avoid this issue in future?

No, it may just not work.

You could try to supply at least 5.2V to the driver board, e.g. from USB3.
And a pull-up of 1k on RST might also help.

Good night.

No, it may just not work.

As I said on my original post, it was working well to begin with. I omitted to say this was when connected to USB power from my computer. Sorry.

I originally thought this was due to the deep sleep functionality on my ESP32 but I now believe it was due to the external USB power source.

You could try to supply at least 5.2V to the driver board, e.g. from USB3.

I think I am doing this already but not sure, will check.

And a pull-up of 1k on RST might also help

I don't know how you do one of these, may start another thread to ask.

Good night.

Night! And merry Christmas :christmas_tree::christmas_tree::santa::santa:

Hello all. I am still seeking advice on the following.

  1. My display seems to have gone from working to not-working after trying to power my ESP32 board using a USB charger. Is my display likely permanently broken? If yes, any ideas on what my mistake might have been and how to avoid it with a new display? If no, any ideas on how I might resurrect it?

  2. What is a "pull-up of 1k on RST" and how might I do one? Google is not helping me here.

  3. What happens to a USB charger when the current draw drops too low? Again Google is not helping much.

Should I start new threads for these? Should I seek help on another forum? Should I throw all my equipment in the bin and forget about this project? Any advice appreciated.