ESP32 dev

  Uncategorized

ESP-IDF

  • v4.4 is still commonly used (as of 2023-10-17)
  • building v5 with Arduino as a compoment can have issues
  • Build Arduino as a component to have access to a large repository of libraries

Chips

  • Choose ESP32S3 rather than ESP32. It has a better specs, USB, i2c pins can be arbitrary
  • ESP32S3 USB port eliminates the need of a serial USB adapter (it even has JTAG)
  • ESP32 has ethnernet
  • ESP32-C3 is a single core RISC-V

Flashing

  • Serial to USB
  • USB (ESP32S3)
  • ESP-PROG board
  • esp32 webflasher

JTAG

  • The ESP32S3 exposes a JTAG interface through the USB-PORT. No additional HW required (only a USB cable)

DEV TOOLS

  • Clion and the plugin
    • link plugin
    • link OpenOCD plugin for remote debugging
  • Instrumented profiler through interrups TODO link
  • Wokwi https://github.com/MabezDev/wokwi-server/releases

Storage

  • LittleFS
  • InfluxDB
  • https://github.com/armink/FlashDB/

PWM

There are at least 2 APIs:

  • LEDc timer
  • mcpwm

mcpwm is more advanced, with dead time and sync

for the LEC API there is a SPWM port: https://github.com/FLWL/esp32-spwm

Dev Boards

waveshares ESP32-S3-Zero
Seeed Studio XIAO ESP32S3
CodeCell

Rust Demos

  • https://github.com/JurajSadel/esp32s3-no-std-async-mqtt-demo
  • https://github.com/esp-rs/awesome-esp-rust

LEAVE A COMMENT