WaveShare 4.2" - Arduino Uno Problems

Hello everyone,

I have bought the WaveShare 4.2 inch e-paper display to use in one of my projects. The first one never worked unless i used 5v. Then of course it stopped working a few days later because its not supposed to run on 5v. So i bought 2 more. Got them in the mail and none of them are working. I tried using the WaveShare library as well as the GxEPD library and still nothing. Im using the pinouts on the WaveShare website for arduino. I have tried using an arduino uno, Pro MINI, Mega.

Any ideas or what am i doing wrong?

Thanks in advance

Connecting this e-paper display to 5V supply is a very bad idea; it will not survive long.

Connecting data lines of this e-paper display to 5V IO pins is also a bad idea; it will shorten its lifetime.

Use at least series resistors for data lines to connect to 5V Arduino data pins.

You did not post a link to the display you bought, so we don't know if you use the display with the panel mounted on the Waveshare board, or the panel used with the Waveshare e-paper HAT, or …

Note that the Waveshare demo code and GxEPD use different connections per default.

Thank you for the info on your library. But i have everything wired correctly and all i get are these faded images of the text. Please note the Waveshare image is never 100% erased...

PS: the display i purchased was : https://www.amazon.com/gp/product/B074NR1SW2/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1

Thanks.

If you got this behavior with GxEPD, then please look at diagnostic output in Serial Monitor, select and copy it, and post it using code tags </>.

This is what im getting on the seriel monitor

setup
setup done
Busy Timeout!
Power On : 10001108
Busy Timeout!
update : 10001120
Busy Timeout!
update : 10000156
Power Off : 40644
Busy Timeout!
Power On : 10000152
Busy Timeout!
update : 10001072
Power Off : 40648
Busy Timeout!
Power On : 10001112
Busy Timeout!
update : 10001124
Power Off : 40648
Busy Timeout!
Power On : 10001032
Busy Timeout!
update : 10000980
Power Off : 40584
Busy Timeout!
Power On : 10000144
Busy Timeout!
update : 10000968
Power Off : 40652
Busy Timeout!
Power On : 10001028
Busy Timeout!
update : 10001072
Power Off : 40648
Busy Timeout!
Power On : 10001112
Busy Timeout!
update : 10001124
Power Off : 40496
Busy Timeout!
Power On : 10000960
Busy Timeout!
update : 10000144
Power Off : 40640
Busy Timeout!
Power On : 10000312
Busy Timeout!
update : 10000972
Power Off : 40536

@capeman121,

The values you get are strange.

The BUSY line seems to work, as the Power Off time is close to the value I get with my 4.2" b/w.

Power On should report a value in the same range; the value should not depend on external conditions, but you could check (measure) supply voltage on the pin-holes at the other side of the panel.

Time for update should be ~4.1 seconds; this is only dependent on the waveform table.
You could change the timeout value for a test in the method _waitWhileBusy in file GxGDEW042T2.cpp to 20000000. If this works, then your controller may have a different waveform table stored in OTP, e.g. for the 3-color e-paper. This would also explain the bad picture.

That's about all I can think off from distance. Of course I don't know the quality of your vendor and the history of your display.

The vendor seems to be Waveshare. I do not doupt the quality of goods from Waveshare.

You could also post a picture of the backside of your display, just to make sure it is a b/w display.
Do I see some red shade on the picture you posted? You can try with GxGDEW042Z15.

Jean-Marc

Thank you for the reply and sorry for the late response.

I changed the timeout value on line 18 in the GxGDEW042T2.cpp to 20000000 and this is the result that i am getting. Below is a link to the video..

Video

And here is some of the serial Monitor outputs:

setup
setup done
Busy Timeout!
Power On : 20000160
Busy Timeout!
drawBitmap : 20000148
Busy Timeout!
drawBitmap : 20000160
Power Off : 40640
Busy Timeout!
Power On : 20000152
Busy Timeout!
drawCornerTest : 20001016
Power Off : 40668
Busy Timeout!
Power On : 20001092

Connecting data lines of this e-paper display to 5V IO pins is also a bad idea; it will shorten its lifetime.

Did you connect the data lines directly to your AVR Arduino with its 5V IO pins?

If you did, this will feed the 5V voltage through protection diodes to the display, and disturb SPI communication.

Use level converters with 5V Arduino, or at least series resistors (e.g. 4.7k) on data lines.

wow i missed that as i was originally testing with the uno instead of the mini pro 3v version.

Sorry as im new to this. working great now. thanks for all the support.