
Explore the ESP32 feature review: a low-power wifi and bluetooth combo chip offering up to 150 Mbps, with adc, dac, touch sensors, and multiple high-speed interfaces.
Explore the ESP32 minimum system: a simple reference design featuring a power supply, 40 megahertz crystal, and io interfaces, enabling a compact wifi and bluetooth hardware setup.
Set up the ESP32 compile environment by downloading the IDF framework, obtaining the project source from GitHub, and configuring the Windows build path; use a Linux-like terminal for testing.
Set up and compile a minimal ESP32 hello world project using a Linux-style make system and menuconfig to generate the build and sdk config, and flash.
Explore ESP32 gpio control by blinking a led, setting direction and high/low levels, then compile and flash the blink example.
discover how to configure and use a gpio interrupt on an ESP32, including setting input pins, enabling the interrupt, and implementing the interrupt handler with hardware testing.
Learn to use an ESP32 timer to wake from sleep, configure timer groups, and handle timer events via an interrupt and a main task queue.
Explore the ESP32 UART interface for MCU communication, including bootloader trace data, multi UART configuration (uart0, uart1, uart2), and practical send/receive tasks with a USB-to-UART connection.
Learn how the ESP32 DAC converts digital signals to analog outputs, drives a speaker, and configures DAC channels and voltage range on a 3.3V supply, with code setup and testing.
Learn how to calibrate the ESP32 ADC using two-point or reference-based curves, understand attenuation and measurement ranges, and convert ADC readings to wattage for battery/energy monitoring.
Master I2C communication on an ESP32 with an accelerometer by reading and writing registers. Verify the setup using the correct slave address and the who am i value of 0x69.
Master i2c lsm6ds3 sensor full function coding on esp32 by initializing the sensor, reading accelerometer and temperature data, and using the standard c driver interface with practical example code.
Integrate the I2C OLED original driver into the ESP32 project by adapting the interface and writing data via start and stop sequences to display english and chinese text.
Drive an I2C OLED on ESP32 using the u8g2 GUI library, from downloading and integrating the library into ESP-IDF to testing graphics like circles and text.
Explore how to use the SBI interface to communicate with a sensor (accelerometer and gyroscope) on the ESP32, including bus setup, chip-select handling, and reading the device ID.
Explore the ESP32 SD card interface using the SBI API module, mounting a filesystem and reading and writing a text file with fopen and fclose.
Explore how the ESP32 NVS stores key-value data across restarts, saving integers, strings and binary data, with a 4000-byte string limit, using open, get, set, and commit.
Explore the i2s protocol and the ESP32 i2s interface, including bit clock, word select, and data lines, and how i2s supports audio, camera, and lcd with dma and interrupts.
Drive a speaker with the ESP32 using I2S and the internal DAC, showcasing simple audio playback. Generate wav headers with a Python script and update the IDF compiler.
This season will cover three aspects of ESP32 wifi chip software development:
(1) ESP32 basic hardware knowledge;
(2) ESP32 SDK Compile Environment Setup;
(3) ESP32 Periperals Driver software development: Uart, GPIO, Interrupt, Timer, DAC, ADC, I2C, SPI, SDCard, I2S etc.
This season is the first part of the ESP32 development lesson series. It mainly takes the ESP32 as a regular Microcontroller to demo how to control other sensors or MCU.