Skip to content

makercrew/esp32-ulp-playground

Repository files navigation

ESP32-S3 ULP Playground

This respository is a playground for working with the ultra-low power RISC-V co-processor on the ESP32-S3. It is configured, out-of-the-box to be used with the ESP32-S3-DevKitC-1 but should be easily modified to work with other ESP32 boards with a ULP such as the S2, etc.

The repository is organized in a set of branches that are meant to be followed like a tutorial. Simply check out the branch of the lesson.

git checkout lesson-1

Instructions for each lesson can be found in the lessons folder.

Prerequisites

  • Linux
  • Docker
  • VSCode with the Dev Containers extension installed
  • ESP32-S3-DevKitC-1 or other ESP32 board with RISC-V ULP co-processor

Lessons

  1. Setting Up the Dev Environment
  2. Your First ULP Program
  3. Wake Up the Main CPU
  4. Under the Hood
  5. Shared Variables
  6. The ULP Stack
  7. The Stack Monster 🧟
  8. The Stack Monster: Part Deux 🧟 🧟
  9. Detecting a ULP Crash
  10. Reducing App Size
  11. Make Your ULP App a Custom CMake Project
  12. Static Analysis- Stack Usage and Call Graphs

About

A lesson-based playground for learning about the ULP on ESP32

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published