-
-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Guition ESP32-S3-4848S040 Display wakes-up randomly #706
Comments
hmm it does not depend on discovery... I get this, if the display are wakeing up.
Possible that some problem with touch panel? |
Strange thing... it only happen, if i power it my display via 230V... if i use USB type C port, the problem not happen more than one hour... |
I have that screen running on 240V and do not see this problem, how often does it wake up ? |
I did more test and seems maybe not the 230V the problem... sometimes happen about 5-10 min, sometimes not happen hours... I dont understand... Seems happen more time, if for example the sun is shine directly to the screen... but it only just a idea... |
This doesn't really sound like a bug to me. |
Hello sorry the late answer. Here:
Other one. I not see any special
|
Well it doesn't look like anything is waking it via command, so it may just be a faulty screen / local interference ? I haven't seen this issue with my screen. |
This all sounds to me like electromagnetic interference on the device/microcontroller. Make sure all the needed signals have an appropriate pull-up/pull-down resistor. Fixing an issue that only occurs randomly is nearly impossible without knowing the root cause... |
Is this problem resolved now? |
not solved, unfortunately... |
This sounds more like a hardware issue than a bug. e.g. the screen is registering a touch when there is none. |
More troubleshooting is needed to determine the root-cause.
|
- Does it happen when you detach the screen from the PSU? Power it with a stable 5V power-supply and see what happens.
- Does this also happen with other firmware?
- Do you have multiple screens? Do they all have the same symptoms?
|
Thanks for your feedback. It really sounds like a hardware issue to me. Like stated before, without a way to replicate the random problem, it will be very hard to fix it. |
It might be that the touch driver chip is reacting to electrical noise and generating an interrupt. Been digging in to the GT911 programming notes, and I see a couple of config registers that can be set to filter out noise (and adjust the touch sensitivity). There are a couple of functions within the Arduino Goodix driver for the GT911 that read the config registers. Whilst there is a function call to set the resolution, there isn't one to adjust sensitivity. |
The goodix repo is a fork which already has some openHASP tweaks. Then, openHASP can simple call that function when initializing the driver. |
If you do this I glad to test it! |
Hacked a few lines of code to read the config registers inside the GT911 chip. In the process, learned a little... My trivial little hack causes openHASP to crash & burn with a panic. Not had time to work out why. In the meantime, I do have a standalone utility that could be used to tweak the relevant register in the GT911 chip. |
OK so it seems that my screen has developed this problem now ;-( |
Tried adding a short bit of code to openHASP to modify the relevant register in the GT911 chip during setup. Unfortunately, this addition triggered a panic and infinite reboots. As life is short, and using the JTAG interface to debug is impossible, I've put together a standalone "project" - https://github.com/FreeBear-nc/HA-openHASP/tree/main/GT911 To adjust the noise sensitivity, edit the NR_LEVEL flag in the platformio.ini and recompile/upload - I would suggest 6 or 7 to start with. |
Does this register fix the ghost touches? |
I can not able to test it... |
3A is enough right? |
Depends on how big the load is you are switching. If you are switching LED lamps, 3A will be fine. |
I put before the display that we are talking about. Not to clear to me, that need to install it that i protect the noise, or that cause the noise... |
@username-AL @TNTLarsn @vampywiz17 @FreeBear-nc It might be useful to collect some more information.
|
|
@fvanroie I put message on discourse link back to here, not sure if you can do anything to pin / highlight it so its more visible. |
I think so too
I've never had unexpected events that switches any buttons etc. on the screen. Overall the "events" were noticeably reduced with the new firmware. |
How many screens do you have? If only 2 are affected, could you try to swap a good PSU with a bad PSU and see if the problem moves too? That way you can be sure the issue is in the PSU part and not the display part. This might be a long shot, but what's that mains frequency? Probably it is 50Hz. The backlight is set to 100Hz, so maybe there is some interference... try setting the |
Judging by feedback garnered here, the patch does help to reduce the number of phantom events. Uploaded a new firmware build with a 110Hz backlight frequency. |
I have two on my desk powered by same mains socket. I and others have had ghost events even with the USB power, but it seems less of an issue, indeed if I swap the problem screen back to USB the issues seems to stop with a higher setting 7+ I never noticed this issue when I first got the screen and was using it for development, so perhaps something is failing over time ? |
Just picked up the main power board for the plate I'm using for test & development... One of the capacitors on the switch mode PSU module is rattling around loose. Going to have to remove the module somehow and solder that capacitor down. |
I power cycled the bad screen a hour ago and no events yet. Before it was averaging 4-5 an hour. |
I try 110Hz firmware, but the problem are also happen. |
For info after power cycle at 00:00 I have only had 2 false events so far - 07/09/24 05:50:57 LCD:1 btn:p1b51 Where yesterday, before power cycle I got all these - 06/09/24 15:39:51 LCD:1 btn:p0b21 Still no events from the new screen on stock firmware. |
Did you find a problem with the PSU ? |
Yes. One of the electrolytic capacitors finally fell off the PSU module - A pain in the b... to solder back in place as there is a relay in the way. Getting the module off the main PCB wasn't easy. I did note that it is possible to remove R5 & R6 (both zero ohm links) and insert a suitable small common mode inductor in the space labeled L4. Something like this: https://www.aliexpress.com/item/1005006624953914.html |
Update, I swapped over the PSUs between my two screens, and neither screen caused any ghost touches. |
@FreeBear-nc |
Found the 330uF capacitor fell out when poked (bad solder joint). But this particular board sits on the bench powered by USB when (if) I'm testing code. |
No issues in the last 7 days since changing the 330uF capacitor ..... |
Starting to sound like a power supply problem. If you haven't already tried it, drop noise reduction back down to 5 and see if you get any more phantom touch events. |
I only had your fix on one unit, which I did set to 5 the other has stock firmware. Sounds like a batch issue perhaps ? |
You able to make a pic what capacitor are replace it? |
Some interesting remarks regarding to the power-supply and upgrades can be found here: |
@fvanroie Interesting read and a useful site in general. |
I took it apart my device and not only C1 and R4 but L4 is also missing.... (a toroidal transformer maybe...) |
Somebody able to measure the L4 part? i would like to build it, but it would be good the details. |
One of my boards has L4, the other doesn't. Don't have an inductance meter so can't measure the value. None of my boards have C1 or R4 fitted... |
@vampywiz17 Did you swap the 330uf capacitor, that fixed my issues ? |
Perform all steps below and tick them with [x]
Describe the bug
To Reproduce
Install latest beta firmware 7.0 rc11 (Guition ESP32-S3-4848S040)
Expected behavior
The display can not wake up
Screenshots or video
Get this code on console, when the display are wake up:
The text was updated successfully, but these errors were encountered: