You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As we know, HyperSerialESP32 works a lot more reliably than the HyperSerialWLED fork. Do you know if there a possible alternative solution that can give us both HyperSerial and WLED? There is an obvious advantage of having the capabilities of both.
I was thinking of setting up 2 ESP32's - one with HyperSerial and another with WLED and then sharing the data and ground pins across both chips. Would that work? Another thought was a higher powered ESP32 S3 chip and to try this fork again.
Hi
I am not sure how to solve this problem and whether it is solvable at all. WLED is based on several high-level libraries which in turn are based on another translation layer over a Freertos overlay: Arduino ESP32 (or esp8266). And while everything in theory should work, in reality the nuances of Freertos cause unexpected situations such as IRQ storm when using RTM LED rendering which can disrupt other components. The more esp32 functions we use, e.g. fast serial port transmission, the greater the risk that one of the elements will sometimes fail, especially since this aspect seems to be rather poorly tested there with a tendency to close such issue reports in WLED. Unfortunately, different versions of esp32 also have quite significant differences, which I experienced while working on HyperSerialESP32 and low-level I2S communication. Sometimes the IRQ handling code I wrote for esp32 did not work completely stably on esp32-s2 and it required a huge amount of work and testing to get a stable solution for serial port communication and rendering using I2S.
This is great insight in understanding some of the challenges here.
What do you think of a dual ESP32-solution? One running HyperSerial and the other WLED? Obviously only one can be outputting at a time but feels like a viable workaround. Or another thought - is it possible to compile a hybrid-like firmware that has HyperSerial and WLED combined, but only allowing one to run at a time? (i.e. HyperSerial code running when TV is on and WLED code running when TV is off/manually toggled)
What do you think of a dual ESP32-solution? One running HyperSerial and the other WLED? Obviously only one can be outputting at a time but feels like a viable workaround.
I'm not sure how GPIO data lines behave on an unpowered device: is it floating or open line, or internal esp32 pullup-pulldown resistors are playing some role even if the device is not powered (but the ground is still common between devices). You can measure this with a multimeter on an unpowered esp device. If the resistance is very high and constant or the line is open, I think it might work, although I haven't tested it. So I can't give any guarantees, but I think someone used something similar in the past.
In case anyone is curious, I have an update on this! I got some time to experiment to see how a dual ESP32 solution would work (1 running HyperSerialESP32 and another running WLED). There are probably other ways to do this.
To make this work reliably, you can use a level shifter + 3.3V relay to direct the data lines of each ESP32 board.
HyperSerial ESP32 data line -> level shifter IO 1 -> relay NC
WLED ESP32 data line -> level shifter IO 2-> relay ON
To trigger relay, use WLED relay pin to relay IN
HyperSerialESP32 will run by default. When you turn on WLED, the relay will switch over. Level shifter was required to eliminate any flickering issues through the relay (boost to 5V signal)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Hey @awawa-dev,
As we know, HyperSerialESP32 works a lot more reliably than the HyperSerialWLED fork. Do you know if there a possible alternative solution that can give us both HyperSerial and WLED? There is an obvious advantage of having the capabilities of both.
I was thinking of setting up 2 ESP32's - one with HyperSerial and another with WLED and then sharing the data and ground pins across both chips. Would that work? Another thought was a higher powered ESP32 S3 chip and to try this fork again.
Appreciate all the work you've done with this!
Beta Was this translation helpful? Give feedback.
All reactions