We're taking an even deeper loop into deep sleep in this video. As always, big thanks to PCBWay for sponsoring this video - check them out at https://www.PCBWay.com/?from=atomic.
We're following on the previous deep sleep deep dive video (https://youtu.be/YOjgZUg_skU) and taking a look at the Ultra Low Power (ULP) coprocessor.
The ULP coprocessor is a really interesting part of the ESP32 device. It's a really powerful additional processor that can run even when the main device is in deep sleep.
I had to learn how to use this to get deep sleep working well in my DIY e-Reader project (https://youtu.be/VLiCgB0odOQ).
There is a plugin for the Arduino IDE that will add support for the ULP assembler - https://github.com/duff2013/ulptool and there's also a C compiler that will generate ULP assembly code - https://github.com/jasonful/lcc
[0:00] Why are we here?
[1:14] What are we doing in this video?
[2:14] What is this ULP thing anyway?
[3:00] The ULP instruction set
[6:30] How to use it with PlatformIO
[8:50] How to use it with the Arduino IDE
[9:13] Waking up the main processors
[10:13] Reading GPIO pins from the ULP
[13:00] Sharing data between the ULP coprocessor and the main processors
[14:02] Writing to GPIO pins - Blink on the ULP
GitHub repo with the code is here: https://github.com/atomic14/esp32-ulp
Thanks for watching - I'll see you in the next video!
----
Patreon: https://www.patreon.com/atomic14
ko-fi: https://ko-fi.com/atomic14