Björn D. Spark
banner
bjorndspark.bsky.social
Björn D. Spark
@bjorndspark.bsky.social
A nerd who loves tech, gadgets, and coffee ☕❤️
📼 youtube.com/@björndspark
Thanks :)
It is for Furby!
The PCB has an ESP32-S3, a power unit, a motor driver, a speaker amplifier, and an IMU!
I've already found a few mistakes on my end... I hand-soldered the MOSFETs 😅 I used the wrong footprint and mixed up G-D-S.
June 30, 2025 at 12:28 PM
The last one was a timing issue. I needed to add a delay between vTaskSuspend and vTaskResume.

suspend
delay // added
process
resume

Maybe ESP32 was slower, and it didn't need the delay. In the end, I used an event-driven approach to ensure proper functionality :)
February 2, 2025 at 11:44 AM
The second problem I faced was an incorrect object reference. While the ESP32 did not require 'this' explicitly, the ESP32-S3 needed 'this' to function correctly 🤔

I'm using platformio/framework-arduinoespressif32:
espressif32@6.9.0
Arduino - v2.0.17 (based on IDF v4.4.7)
ESP-IDF - v5.3.1
February 2, 2025 at 11:33 AM
Thank you guys for the response! I solved all the problems now :D

First, the wake-up from deep sleep triggered by a button press did not work.
esp_sleep_enable_ext0_wakeup(gpio_pin, LOW);

I needed to add:
rtc_gpio_pullup_en(gpio_pin);
February 2, 2025 at 11:28 AM