mirror of
https://github.com/OpenEPaperLink/OpenEPaperLink.git
synced 2026-03-21 00:04:28 +01:00
[GH-ISSUE #443] BT-Only AP on ESP32-S3 crashes once a week #1373
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @daniel-tp on GitHub (Feb 27, 2025).
Original GitHub issue: https://github.com/OpenEPaperLink/OpenEPaperLink/issues/443
Describe the bug
My AP becomes unavailable after about a week of power on time.
I have a BT-only AP running on a ESP32-S3-WROOM-1 board. It just has one tag is connects to, a 2.9 inch GICIsky display. I have the home assistant integration running, which updates it once every day at midnight, which doesn't seem to correspond to the times of the crashing. I have nightly reboots turned on. Pressing the reset button on the board quickly gets the tag working again. Looking in the logs there are reboots due to panic, (Which I believe is expected), but those times don't seem to correspond with the AP becoming unavailable. There is no logs for around the time the device crashes.
The ESP32-S3 was initially flashed via the web flashing page, and then updated to 2.75 from the BT_AP_TEST version. The issue occurred on both versions.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The AP to keep being available and accessible.
@atc1441 commented on GitHub (Feb 27, 2025):
Hey,
BLE is curently not advised to be used, a full AP is the best option.
Crashes are expected :)
@daniel-tp commented on GitHub (Feb 27, 2025):
Hello,
Thanks for your reply!
That's a shame, do you mean using BLE in general or the BLE-only AP firmware?
If it's the former, I guess I can work around this for now by automatically resetting the power every time it becomes unavailable for a bit, as it works perfectly apart from this issue.
If it's the latter, would reflashing my ESP32 to another env be a solution?
Thanks!
@atc1441 commented on GitHub (Feb 27, 2025):
It BLE in general, the ESP has a hart time doing everything at once (WiFi and BLE)
@nlimper commented on GitHub (Feb 27, 2025):
If you're feeling lucky, and you're able to compile the firmware yourself, you could try weather BLE is more stable if you build the firmware with Arduino 3.x instead of 2.x, To do that, use this pull request: https://github.com/OpenEPaperLink/OpenEPaperLink/pull/438 and activate
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip(and de-activate the other platform property) in platformio.ini@daniel-tp commented on GitHub (Feb 27, 2025):
I've given that a shot, I'll update in roughly a week I guess.
@cthulu commented on GitHub (Mar 4, 2025):
I am experiencing the same issue though my uptime is sometimes less than an hour (I am using the same 2.9'' BLE display as the OP). I am using Day Ahead prices.
I could not find any of the radio tags, and I also don't have access to tag flasher (which I think is needed if you want to use radio tags instead of BLE ones). Happy to use the "normal" tags if I can get hold of them
Here is my uptime graphs from ESP S3:

Would connecting S3 and C6 (I got one lying around) be a better option? Offload BLE (and radio which I don't use) to C6 and use S3 only for the WiFi.
@daniel-tp commented on GitHub (Mar 6, 2025):
Okay, a week later with Arduino 3.x firmware, and the AP has crashed in the same way again. Apart from that, it did seem slightly more unstable with uploading images (via HASS integration)/The wifi connection. The logs would look like this:
and at seemingly random times:
The image was sent via the HASS integration, but doesn't seem to be applied to the tag. This previously wasn't an issue and these WiFi connection lost lines weren't an issue previously either.
I might flash the previous firmware for now, and find a smart plug I can use to reboot the AP.
@nlimper commented on GitHub (Mar 6, 2025):
Thanks for the investigation. I cannot reproduce it, as I don't use HA, and my AP is very stable without reboots.
If you have the time to investigate some more: can you capture the serial terminal output of the AP around the time the AP crashes or loses connection?
@daniel-tp commented on GitHub (Mar 6, 2025):
I'd be happy to do that, do you have any pointers on how I would go about it? I've pretty much reached the limit of my experience with esps here.
@cthulu commented on GitHub (Mar 10, 2025):
I got this on my serial out, not sure it helps (on 2.75):
@Misiu commented on GitHub (Mar 25, 2025):
What about using ESP32 with an Ethernet port?
https://www.waveshare.com/esp32-s3-eth.htm
https://www.elecrow.com/esp32-stick-poe-p-cam-n16r8.html
Both boards have ESP32-S3 (N16R8), which might solve Bluetooth troubles.
@nlimper commented on GitHub (Mar 25, 2025):
See https://github.com/OpenEPaperLink/OpenEPaperLink/pull/431, based on Olimex ESP32-PoE-ISO
But it's not guaranteed that it solves bluetooth troubles.
@Misiu commented on GitHub (Mar 25, 2025):
I saw that one, but I didn't want to spam it with questions. Also, it mentions that SP32-C6-WROOM-1(U) is needed for tag communication, so I don't know if it will work for BLE-only tags.
I have a couple of WT32-ETH01 https://pl.aliexpress.com/item/1005007390519513.html boards, so I'll wait for the PR to get merged and will try something
@ZoneMR commented on GitHub (Mar 30, 2025):
I too am seeing regular crashes, with a number of 2.9 inch Gicisky displays over BLE.
I haven't yet had a chance to see if there is any relevant console out when it becomes unresponsive.
@atc1441 commented on GitHub (Mar 30, 2025):
Please see first reply
https://github.com/OpenEPaperLink/OpenEPaperLink/issues/443#issuecomment-2688082404
@vit5041 commented on GitHub (Apr 21, 2025):
sorry, which one is the full AP? I tried Yellow AP / MiniAP v4 / AP and Flasher -- I see my tag but can't operate it.. It seems that only BT-only AP works with it.. can it be?
tag info:
Gicisky BLE EPD BWR 2.9"
296x128 fw:33025 0x8101
@atc1441 commented on GitHub (Apr 21, 2025):
As mentioned before the BLE Interface is not advised to be used, a full AP with Zigbee is the best option, the displays need to run the Zigbee firmware as well then
@vit5041 commented on GitHub (Apr 21, 2025):
I checked / googled and didn't find any hint about zigbee firmware flashing, could you please give some clue where to check it?
@atc1441 commented on GitHub (Apr 21, 2025):
Here it is :)
https://youtu.be/e1vod_OqKys
@Misiu commented on GitHub (Apr 24, 2025):
Now that Olimex ESP32-POE-ISO is supported (https://github.com/OpenEPaperLink/OpenEPaperLink/pull/431), maybe a BLE-only AP could use this board? This way, the access point could use Ethernet/PoE for network/internet connection and ESP32 radio for the Bluetooth communication.
I ordered the board, but the seller sent me a broken board, so I'm waiting for a refund and will order from the official store.
Has anyone had success with building a BLE-only AP with an Ethernet port?
@jonasniesner commented on GitHub (Apr 24, 2025):
If you short the tx and Rx pins(that would go to the C6) of any full AP, it behaves like a BLE only AP. But I didn't test this AP yet.
@Hellis81 commented on GitHub (Jul 27, 2025):
I also had a lot of issues.
Then I did what I described here in this post:
https://github.com/OpenEPaperLink/Home_Assistant_Integration/issues/278
It has helped a lot.
I have not yet had any issues since doing the change.
Basically make sure the automations do not send a new image when there is one pending already.
Clear the pending or wait for it to first send the previous image.
@jonasniesner commented on GitHub (Dec 6, 2025):
I am closing this issue because the OEPL Home assistant integration now supports now BLE Proxyes and thus the BLE only AP can be reflashed to a BLE proxy.
@vit5041 commented on GitHub (Dec 7, 2025):
by chance is there any instruction for the Gicisky BLE EPD BWR 2.9" ? How to flash the price tag. Highly appreciated!
@Misiu commented on GitHub (Dec 7, 2025):
Take a look at my hort description: https://community.home-assistant.io/t/using-e-ink-shop-price-tag-with-home-assistant/666150/18
P.S. There is a new firmware version: https://github.com/atc1441/atc1441.github.io/blob/master/ATC_BLE_OEPL.bin
If you have any problems, please describe the steps you are taking and the errors/problems you get.
@vit5041 commented on GitHub (Dec 7, 2025):
OK, thank you! I tried this and so far without success:
09:40:44 : Connecting to: NEMR92951376
09:40:50 : Connected
09:40:56 : File was selected, size: 128132 bytes
09:40:56 : Count: 8009
09:40:57 : Start DFU
09:40:58 : Update error: NotSupportedError: GATT operation failed for unknown reason.
09:40:58 : Disconnected.
I tried this few times even yesterday but stopped because affraid to get a soft brick. once the error was different. But the tag still works well in the BLE-only AP.
Now I see the subsequent comment by the link you provided, so I have to try more.. Unfortunatelly my wife doesn't have Mac, so I have to try some other tricks, maybe to flash from phone or etc. Will keep you updated.
@Misiu commented on GitHub (Dec 7, 2025):
I did this on an Android phone or on a laptop with Windows 11, but the phone worked really well.
If the tag appears on the AP, then you can connect it directly to Home Assistant.
That was how I did it. First, I used tags with AP, but then a new version of HA Integration was created that supports direct BLE communication, so I powered off my AP, and the tags were almost instantly discovered by HA.
Can you display anything on a display using the AP? Do you have the latest HA integration installed?
@vit5041 commented on GitHub (Dec 7, 2025):
Yes, I am using this quite a while with the BLE-only AP but bothered with crashes, so I am using some auto in HA to powercycle the ESP32. Now I am trying to go for direct connection but without success. On Android phone it's same. Also tried with new batteries. Maybe it's my tag issue, some incompatibility with OTA flasher. Is there any way to use pins under batteries for flashing using UART?
@daniel-tp commented on GitHub (Dec 7, 2025):
Thanks for this! I was able to follow it and flashed my 2.9" tag with the latest firmware, but after changing the type to type 22 (as shown in the link) the screen gets garbled and disconnects. I have to take the battery out and put it back in to be able to connect to it again.
Even though the screen is garbled I am able to see it and set it up in home assistant, but any attempts to draw to the screen doesn't work either.
EDIT: Nevermind, I'm dumb. Changed the type to 11 (290 (thus corresponding to the correct size)) and it works great!
@cthulu commented on GitHub (Dec 7, 2025):
You need to switch to different screen size. Look for a 2.9" model of Gici
On Sun, 7 Dec 2025 at 17:05, Daniel P @.***> wrote:
@vit5041 commented on GitHub (Dec 7, 2025):
I have resolved my issue. Problem was with the "new firmware version". The OTA process has started only with the previous version of ATC_BLE_OEPL.bin, exactly as described in first link of https://github.com/OpenEPaperLink/OpenEPaperLink/issues/443#issuecomment-3621813738. My error was that I took newest version of the bin file.
here is my experience, in case if someone will decide to repeat.
On Windows 11 laptop the firmware loading crashed with "NotSupportedError: GATT operation failed for unknown reason." error at about 90-93% but from Android phone finally it was succeeded.
the TAG has restarted, had OpenEpaper Link logo but also some crc error was mentioned in text below.
Then using ATC_BLE_OEPL Uploader -- where to set the type there is a button to flash latest ATC_BLE_OEPL.bin -- I did this as well, the tag has restarted and wrote this time good CRC.
After this all works just fine. I updtated the target device of my old automatization in HA with new OpenEPaper tag entity and it just started to work as before.
Thank you so much for your great job.
@Misiu commented on GitHub (Dec 8, 2025):
@vit5041 I'm glad it finally works :)