Lanbon has a new smart switch that runs on an ESP32-S3-Wroom-1U. This is a really great solution for ESPHome users in the US as it fits behind a standard Decora switch plate.
The best feature is it has a mmwave radar chip behind the screen for motion sensing!
I’m looking at the work the openHASP guys have put into reverse-engineering the L9 and it seems it is using an 8-bit parallel interface for the display.
Am I reading this right? If so, what’s the easiest way to support it? It’s easy to create a parallel interface external component, but how to integrate that into the display component which expects a SPI bus?
Me think an external component defining a new display platform might be the way to go…
Looking at the ESPHome source code, I’m starting to think that defining a new “Octal” SPI type would be the easiest, similar to the Quad SPI. It would allow using the ILI9xxx-ST7789V display driver as-is.
The “problem” is that the 8-bit parallel interface on the ST7789V uses rising edges on WRX and RDX to perform write and read operations via shared data bits whereas SPI uses a rising edge on SCK with parallel write and read operations on MOSI and MISO – so it is not “SPI”. Would the ESP powers that be (@clydebarrow) allow such an overloading of the SPI component in an eventual contribution?
Looking at the ILI9XXX driver, it always transmits bytes. So the proper solution would be for it to be implemented on top of a “byte Tx/Rx” component, SPI being one possible implementation. But that would be a LOT more work and maybe not backward compatible.
If you want to get eyes on this, you already have the link to the github repository where anyone with knowledge on the matter will be able to weigh in.
Thank you for that great improvement on the light platform @clydebarrow!! That was beautiful work. I’m glad we agree on the proper approach. I hope to see the io_bus component appear in the official ESPHome soon.
Here’s the relevant portion of the discussion on openHASP about the radar sensor. Should be possible to use with all the info that is there but I am not personally motivated to do it (yet) as I do not need it for my current application.