0 votes
in ESPaper by (280 points)

Hi Marcel,

first of all, Merry Christmas and thanks for your quick response!

OK I hooked the ESPaper up to a Console and logged it, you can find it below.

I believe, I have an issue with the epaper screen, as it does not change at all. The controller says it sended something to the screen, but I see still the "Initial Setup" screen. Do you know the assembly process, when they manufacture the devices? Is the screen programmed with the "Initial Setup" actually written with the very controller it is put together in the enclosure, or are the screens "programmed" from a different controller and then put together?

Do you have any further suggestions? Is there a test sequence program I could start/flash to the device to see if the screen is working (refreshing) properly?

Best Regards!

Sergio

Boot sequence arrived in setup()
******** Client Version: "V031" ********
******** Device Type: "Espaper42Bw" ********
******** Screen Type: "" ********
Display Settings. CS: 15, RST: 2, DC: 5, BUSY: 4
Current free heap: 44824
Checking FS
WIFI_SSID = [*************]
WIFI_PASS = [*************]
UPDATE_INTERVAL_MINS = [20]
TIMEZONE = [Europe/Zurich CET-1CEST,M3.5.0,M10.5.0/3]
NTP_SERVERS = [0.europe.pool.ntp.org,1.europe.pool.ntp.org,2.europe.pool.ntp.org]
DEVICE_ID = [************************************]
DEVICE_SECRET = [*********************]
Loaded config
TOTAL_DEVICE_STARTS = [2]
SUCCESSFUL_DEVICE_STARTS = [1]
LAST_NTP_SYNC_TIME = [1577273749]
STARTS_WITHOUT_NTP_SYNC = [0]
LAST_CYCLE_DURATION = [12569]
ACTION_AFTER_REBOOT = [0]
Loaded data file
Saved values in data file.
Button state: 0
Starting config portal...
Setting pin modes
Starting SPI transaction
Beginning SPI
Configuration file present -> assume user manually started config portal
Committing screen
Waiting until idle:
HTTP server started

Pressed Reset Button:


Boot sequence arrived in setup()
******** Client Version: "V031" ********
******** Device Type: "Espaper42Bw" ********
******** Screen Type: "" ********
Display Settings. CS: 15, RST: 2, DC: 5, BUSY: 4
Current free heap: 44824
Checking FS
WIFI_SSID = [*************]
WIFI_PASS = [*************]
UPDATE_INTERVAL_MINS = [20]
TIMEZONE = [Europe/Zurich CET-1CEST,M3.5.0,M10.5.0/3]
NTP_SERVERS = [0.europe.pool.ntp.org,1.europe.pool.ntp.org,2.europe.pool.ntp.org]
DEVICE_ID = [************************************]
DEVICE_SECRET = [*****************]
Loaded config
TOTAL_DEVICE_STARTS = [1]
SUCCESSFUL_DEVICE_STARTS = [0]
LAST_NTP_SYNC_TIME = [1577273749]
STARTS_WITHOUT_NTP_SYNC = [0]
LAST_CYCLE_DURATION = [12569]
ACTION_AFTER_REBOOT = [0]
Loaded data file
Saved values in data file.
Button state: 1


***Time before connecting to WiFi 525
Reconnecting
WiFi connect..............................192.168.1.25
NTP sync.
Current time: 1577274782


***Time before going to fetching data 4956
Downloading resource from:
    Scheme: https
    Host: www.espaper.com
    Port: 443
    Path: /public/devices/*********************************/screen
Using secure WiFi client
[HTTP] configuring server root cert in client
MFLN supported: no
[HTTP] begin...
Connecting to www.espaper.com:443
Free mem: 30776
Sending request: GET /public/devices/****************************/screen HTTP/1.1
Host: www.espaper.com
User-Agent: ESPaperClient/1.0
X-ESPAPER-BATTERY: 1024
X-ESPAPER-CLIENT-VERSION: V031
X-ESPAPER-FREE-HEAP: 11120
X-ESPAPER-MILLIS: 6903
X-ESPAPER-SECRET: ********************
X-ESPAPER-SPIFFS-FREE: 442764
X-ESPAPER-SPIFFS-TOTAL: 459330
X-ESPAPER-WIFI-RSSI: -45
X-ESPAPER-TOTAL-DEVICE-STARTS: 2
X-ESPAPER-SUCCESSFUL-DEVICE-STARTS: 1
X-ESPAPER-LAST-NTP-SYNC-TIME: 1577274782
X-ESPAPER-STARTS-WITHOUT-NTP-SYNC: 0
X-ESPAPER-LAST-CYCLE-DURATION: 12569
Connection: close


HTTP/1.1 200 OK

Server: Cowboy

Connection: close

Expires: 0

Cache-Control: no-cache, no-store, max-age=0, must-revalidate

X-Xss-Protection: 1; mode=block

Pragma: no-cache

Date: Wed, 25 Dec 2019 11:53:05 GMT

X-Content-Type-Options: nosniff

Strict-Transport-Security: max-age=31536000 ; includeSubDomains

Content-Type: image/bin

Content-Length: 15006

X-Application-Context: espaper:prod,heroku:15115

Via: 1.1 vegur



headers received
Parsed HTTP code: 200
Client disconnected before body parsing
Processing body
Starting resource download
#####################################################################
#################################################Downloaded file /screen with size 15006
[HTTP] connection closed or file end.
Setting pin modes
Starting SPI transaction
Beginning SPI
Drawing /screen
FileSize:15006
Version:1
BitDept:1
Width:  400
Height: 300
Writting image to screen
Waiting until idle:
De-allocating frame buffer
Saved values in data file.
Free mem: 40696.
Waiting until idle:
Start millis: 4956, start time: 1577274782, current millis: 10637 -> now: 1577274787
'sleepUntilEpoch' is 0. Using configured default update interval of 20min.
Going to sleep for: 1200[s]

 

by (11.7k points)
During production the stock firmware is flashed to the devices. When they boot and notice they're not registered yet they display the init screen. Hence, it's rather unlikely your screen is really broken. However, due to the characteristics of the e-ink technology you'll never notice if the connection between MCU and display gets damaged (as last screen content is retained forever).

If you feel comfortable opening the case and verifying the display ribbon cable sits firmly in its socket you're welcome to do so. If nothing else helps you can also send it in and we'll take a look.

You redacted DEVICE_ID and DEVICE_SECRET which indicates you actually have non-empty values, correct? That's weird as we're not seeing any registered devices tied to your account on the server. Can you please disclose your device id for cross-reference please?
by (280 points)
moved by
Hi Marcel,

I already opened the device and had a look hat the flatcable that goes to the screen, seems fine to me.

It's correct, I have DEVICE_ID and DEVICE_SECRET.

My DEVICE_ID is as follows: [ae45d826-9c9a-4456-81e8-30a16910dcd0]

Best Regards!

Sergio
by (11.7k points)
I noticed an unclaimed device on the server with that id. I deleted it as you won't ever be able to register it if you don't know the one-time-password associated with it.

Last night I put together a small sketch to test the interaction between the MCU and the display: https://github.com/ThingPulse/espaper-screen-test I would appreciated if you could run that on your device. Curious to learn about the results.

Sorry for all the trouble.
by (280 points)
Hi Marcel,

thanks for the test sketch! I downloaded it to the ESPaper and got feedback on the serial monitor, but still no change on the E-Paper Screen :-(

So I openend up the device again and pulled out the flatcable that goes to the E-Paper-Screen. And guess what? It looked "dirty" on some of the pins. Some sort of corrosion/oxidation ("Gr√ľnspan" in german) So i cleaned it with Acetone. I also ran a small piece of paper trough the the connector slot and was able to remove a flake of hardened solder-flux or solder-stop laquer. Plugged the flatcable back in and guess what?
The screen is working now!
I try to upload some pictures.

Now i just need the the original software, so I can give it another try. Can you tell me where to find it?
Best Regards
Sergio
by (11.7k points)
Well done, great job! So glad you were able to fix that. We'll take that issue up with our manufacturer.

You can install the ESPaper Client from here: https://github.com/ThingPulse/espaper-client/. The instructions are right there in the README. Take note of the special flash size settings!

Feel free to ping us if you need any help.
by (280 points)
Hi Marcel,

I just downloaded the espaper-client. I set the board to the following settings:
Board: "Generic ESP8266 Module"
Flash Size: "2MB (FS:1MB OTA:~512KB)"
Flash Mode: "QIO (fast)"

note: Flash Size I set to 2MB as in the Readme for the "ESPaper screen test" not to 1MB as in the Description for the "espaper-client". I guess the 4.2" is equipped with 2MB of Memory?

Anyway, Flashing seems to bee successfull, as it spun up the ESPaper WiFi where I was able to enter my credentials.

Problem is now: It failes to sync to the NTP Server (reminds me of the issues i had with my older 2.9" ESPaper...)

Here is what i get on the Serial Monitor:

***Time before connecting to WiFi 508
Reconnecting
WiFi connect..............................192.168.1.25
NTP sync.....Re-initializing NTP
....Re-initializing NTP
....Re-initializing NTP
....Re-initializing NTP

Failed to sync time through NTP. Giving up after 5101ms.
Setting pin modes
Starting SPI transaction
Beginning SPI
Drawing /screen
File /screen not foundWaiting until idle:
Saved values in data file.
Free mem: 42552.
Waiting until idle:
Start millis: 0, start time: 0, current millis: 15115 -> now: 15
Going to sleep for: 45[s]

Tried entering different NTP Server, but no luck.
I am Using Arduino IDE 1.8.10
The MiniGrafx Library has been installed and
in the "settings.h" file I uncommented: #define ESPAPER42BW.

Any help appreciated!

Best Regards

Sergio


Thats all
by (11.7k points)
Note that the ESPaper Client README says "2M (512K SPIFFS)".  You seem to be working against ESP8266 Arduino Core 2.6.x. They apparently changed the flash size definitions - again. Hence, the equivalent would be "2MB (FS:512KB OTA:~768KB)" with "FS" representing what was previously called "SPIFFS".
Background: as the ESPaper Client supports OTA (great for us and great for you :) ) we need to shrink SPIFFS - down to 512KB - in favor of more OTA space.

However, this won't affect how the NTP sync runs. I got curious when you said "reminds me of the issues i had with my older 2.9" ESPaper...", went back to check for your previous question(s) and found https://support.thingpulse.com/888/why-is-my-2-9%E2%80%B3-espaper-plus-kit-not-getting-the-time-via-ntp. Almost exactly a year ago.

Can you try downgrading to ESP8266 Arduino Core 2.5.2? I'm wondering if they somehow broke NTP with 2.6.x. Sorry, I don't have access to the hardware at the moment to verify myself :(

An alternative would be to get a pre-built binary from https://services.espaper.com/firmwares/Espaper42Bw-PROD-V031.bin (the one we distribute over OTA) and flash it with the App Fairy from https://github.com/ThingPulse/app-fairy.
by (280 points)
Hi Marcel,

yes, time is flying, and obiously im not learning to much :-/
You were right, downgrading to ESP8266 Arduino Core 2.5.2 solved the problem!
I have been displayed a Registration code (which I will try next), perfect!
I also set the flash definition to 2MB (FS:512KB OTA:~768KB), so I should be fine for upcomming "Over the Air Updates"

Agian, thanks a lot for your support!

Best Regards

Sergio

1 Answer

0 votes
by (280 points)

Here are the Pictures I took.

Was not able to add them to the "comment" so I "answered" to  my own question.

Oxidation on Flatcable going to the E-Paper Screen:

"Debris" found inside flatcable connector:

Welcome to ThingPulse Q&A, where you can ask questions and receive answers from other members of the community.

https://thingpulse.com

...