Installing ESP-IDF

Espressif guides https://docs.espressif.com/projects/esp-idf/en/stable/get-started/ Setting up a Windows PC to program the ESP32 Create the required GNU-compatible environment with toolchain (the programs to compile and build your applications) Download the Windows all-in-one toolchain from https://docs.espressif.com/projects/esp-idf/en/stable/get-started/windows-setup.html Unzip as instructed so it creates the directory C:\msys32 and follow the remaining instructions to create the exp\ directory Check if IDF_PATH is set, […]

Read More

JTAG Debugging

The ESP32 Xtensa cores and FreeRTOS OS provides a lot of programming power but debugging without proper debugger can be really hard when all you have are printf statements, especailly when dealing with multiple threads across the cores.  Providing a JTAG port and using a JTAG debugger gives you proper debugging access to the CPU. Resources […]

Read More

JTAG Adaptor

Anything which openocd supports for JTAG mode should work.  USB2.0 FTDI adapters are noticably faster. Adators that people recomend TIAO USB Multi-Protocol Adapter

Read More

I2C Pins

Both I2C interfaces are connected to pins via GPIO matrix, so you can select arbitrary IO pins for SDA and SCL.  You just need to observe the constraints of each pin such as I/O capability (GPIO34 – 39 are input only so not suited!), bootstrapping function. Pull up resistors The ESP32 has internal pull up […]

Read More

.IO Pins General

REMEMBER NOT ALL ESP32 PINS ARE INPUT/OUTPUT – SOME ARE INPUT ONLY!!!! ESP32 Pin List All of the pin fucntions, default state, etc: https://www.espressif.com/sites/default/files/1a-esp32_pin_list_en-v0.1.pdf

Read More

Programming Hardware

On many development boards with built-in USB/Serial the programming hardware is provided for you and software such as esptool.py can automatically reset the board into bootloader mode using it.  However for production boards you may well not want to add components only required at programming time on the board itself. Off the shelf programming adapters AnalogLamb […]

Read More

Power

Power Consumption 3V3 power supply to ESP32: 80ma typ, must allow for 500mA min

Read More

IO Pins

IO Pins as outputs High-level output voltage: min 2.64V (0.8 x Vdd) Low-level output voltage: max 0.33V (0.1 x Vdd) High-level source current (PAD_DRIVER = 3): 40mA Low-level sink current (PAD_DRIVER = 3): 28mA

Read More

.Dual Core Overview

Many of the ESP32 modules use a dual core version of the ESP32 processor.  This allows one of the cores to run the all the multitasking involved in updating the WiFi stack etc and the other for your main applciaiton carrying out all your data processing and IO. The two cores: Protocol CPU (PRO_CPU) Handles […]

Read More