I'm running into a problem: on the ESP32-S3, using the SPI slave often generates transactions with too many bits received. In a rare case I get less bits.
* It is a 30KHz clock with 160 or 264 bits of data (configurable), sending 20 transactions per second.
* The code is over here: https://github.com/hberntsen/mhi-ac-ctrl-esp32-c3 . I'm now testing it out with the S3. I'm using ESPHome 2026.2 with ESP-IDF framework
* It runs rock solid when using pin 43 (normally TXD). Can run for a week without any issue. Same as my C3. Unless I connect the USB port and open the serial console. Then I have the same problem.
* I'm using this board, v1.2: https://www.tinytronics.nl/en/developme ... r-esp32-s3 . I connected pin 21 and 43 together with a wire.
* This is how the signal looks: https://github.com/hberntsen/mhi-ac-ctr ... 2695634858
When I reflash over WiFi to 21 the problem appears and with 43 disappears. Pins 39, 40, 41, 44 behave the same as 21. I checked the signal with an oscilloscope and it looks clean. So this feels like a software issue but I don't know where to look. I've dumped the GPIO pin configuration after configuring, both 21 and 43 get the same:
Code: Select all
IO[43] -
Pullup: 0, Pulldown: 1, DriveCap: 2
InputEn: 1, OutputEn: 0, OpenDrain: 0
FuncSel: 1 (GPIO)
GPIO Matrix SigOut ID: 256 (simple GPIO output)
GPIO Matrix SigIn ID: 101
SleepSelEn: 1
Any hints on what to check? I already tried disabling the logger component and that did not make a difference.