
Learn to bridge Arduino knowledge to the ESP32 by exploring prerequisites, environment setup, GPIOs, sensors, displays, motors, memory, and wifi and bluetooth features, plus ESP32 documentation and repository guidance.
Identify the required software for the course, including the Arduino IDE, ESP32-Arduino extension, and Atom editor; use a terminal emulator and a browser to explore WiFi and Bluetooth features.
Explore essential ESP32 hardware, including the generic ESP32 v4 development board, dual boards for parallel experiments, and a full parts list with LEDs, sensors, displays, and motors for hands-on experiments.
Master the ESP32 course by confirming Arduino familiarity, mastering the Arduino IDE, writing sketches, and using ESPRESSIF documentation and the GitHub repository to follow the structured sections.
Explore the ESP32 module used in the development kit, focusing on the ESP32‑WROOM‑32 dual‑core ESP32‑D0WDQ6 with 4 MB flash and a MIFA antenna, and compare WROOM and WROVER variants.
Explore the ESP32 development kit hardware, including exposed pins, USB interface, power subsystem, and status LEDs. Learn how reset and upload buttons work, and how the kit supports protoboard connections.
Compare the ESP32 and Arduino Uno, noting hardware architecture, memory, GPIOs, and features. Explore how ESP32 Arduino core lets you use the Arduino IDE and libraries with wifi and Bluetooth.
Explore the ESP32 GPIOs, their multifunctions, and pin mapping on the development kit, including analog-to-digital converter channels, touch sensors, and SBI hardware, with reference by GPIO numbers.
Explore the ESP32 communications capabilities, including Wi-Fi and Bluetooth, wired interfaces like SPI and I2S, UART serial interfaces, CAN bus, Ethernet, infrared, and connections to sensors and devices.
Power your ESP32 dev kit via USB, a 5–12 V external supply through the regulator, or the 3.3 V pin with caution—do not mix options.
Install the ESP32 board support for the Arduino IDE on macOS via boards manager and the GitHub repository. Verify the installation, explore examples, and note PlatformIO as an alternative.
Set up ESP32 support in the arduino ide on windows 10 by adding the board url, installing via boards manager, selecting the esp32 dev module, and exploring example sketches.
Install the cp210x usb-to-uart driver for your ESP32 dev kit to enable uploading sketches via the Arduino IDE.
Explore the ESP32's digital LED output with a basic blink experiment, wiring an LED through a resistor to a GPIO pin, grounding, and loading a sketch on the dev kit.
Explore fading an LED with ESP32 PWM, using up to 16 channels, attaching a channel to pin 33, and controlling brightness from 0 to 255 at 12 kilohertz.
Drive an RGB LED on the ESP32 by wiring red, green, and blue to pins 32, 33, and 25 using PWM to cycle colors, with hue-to-RGB conversion.
Learn to read a push button state on the ESP32 using a digital input (pin 36) and the digitalRead function, with a 10k pull-down resistor, and display the state.
Learn to read analog signals from a potentiometer with ESP32 using ADC1 and ADC2, understand 12-bit resolution and channel limits, and visualize readings via serial monitor.
Read a potentiometer with the ESP32 analog input and drive LED brightness via PWM output using a 12-bit resolution.
Learn to generate true analog signals on the ESP32 using its two DAC channels, GPIO 25 and 26, to produce 0–3.3 V signals, tested with an oscilloscope and audio output.
Generate and output voltages with the ESP32 DAC using the DAC write, creating rising and falling signals from 0 to 3.3 volts, and producing sine, square, and triangle waves.
Demonstrate ESP32 DAC waveform generation with triangle, sine, and square forms by writing 0–255 values; compare trig-based approximations to direct DAC writes for sharp edges.
Use the ESP32 DAC to drive a buzzer and generate triangular and sine waves, with simple slope adjustments and no amplifier needed for small buzzers.
Introduce interrupt driven programming on the ESP32, wiring a button to a GPIO with an internal pull-up, attaching an interrupt to respond to presses and update an entity without polling.
Learn to implement ESP32 GPIO interrupts with a button using a volatile counter, interrupt service routine, attach interrupt, debouncing, input pull-up, and critical sections, with serial monitoring.
Discover how the ESP32's integrated Hall effect sensor detects magnetic fields using a magnet, read via the built-in hall read function, and visualize readings through the serial monitor.
Learn to use ESP32 capacitive touch sensor on a GPIO, read touches with touch_read, detect touch below 20 to turn on an LED, and visualize results with the serial monitor.
Use the ESP32 capacitive touch sensor with an interrupt service routine to detect touches without loop delays, turning an LED on for half a second when threshold 20 is reached.
Learn to detect ambient light with a fotorresistor on the ESP32 using a 12-bit ADC. Adjust resolution from 9 to 12 bits and view results via the serial monitor.
Learn to use the BME280 environmental sensor via I2C on the ESP32 to read temperature, humidity, and atmospheric pressure, with altitude calculated by the library.
Wire a DHT22 to an ESP32 and read temperature and humidity using the SimpleDHT library, with data on GPIO32, a 10k pull-up to 3.3V, and clear error messages.
Connect the adxl335 accelerometer to the ESP32, read x, y, z analog values, and determine gadget orientation—up, down, or on its side—without libraries.
Learn to connect a 16x2 LCD via I2C to an ESP32, scan for the device address, and drive the display with the LiquidCrystal library, including printing, backlight, cursor, and scrolling.
Learn to drive a single seven-segment display with ESP32 by discovering pin mappings, wiring a common cathode with resistors, and using bit patterns to light segments.
Demonstrates controlling multiple seven-segment displays with an external library using multiplexing to share segment pins and select displays via a common cathode pin.
Learn to drive a seven-segment clock display via an I2C backpack with ESP32, including address selection by jumpers and a timer updating seconds and minutes with a blinking colon.
Learn to drive a single 8x8 LED matrix with the ESP32 over the sbi bus, wiring data, clock, and slave select, and draw graphics with the max72xx panel library.
Add multiple 8x8 LED matrix displays to the ESP32 and wire them to the original display for expanded real estate, then set each display position with setPosition and animate across.
Learn to drive a small DC motor with the DRV8871 motor controller on ESP32, covering wiring, PWM speed control, direction control, and using an external power supply.
Learn to control a hobby servo motor with the ESP32 using the servo library, attach the signal wire to a PWM-capable pin, and use the write function to set angles.
Demonstrates EEPROM use on ESP32 with air prom library to store a boolean GPIO state in flash. Learn to read, write, and commit data to restore state after power loss.
SBI file system on ESP32 stores files in flash memory; learn create, read, write, and append operations, and upload data via the data directory using the data uploader tool.
Use a command-line tool to erase the ESP32 flash memory, download and set up the tool, connect to your board, run erase flash, and verify the flash is cleared.
Set up the DS3231 real time clock with ESP32 over I2C, read and print date and time to the serial monitor, and calibrate the clock using compilation time.
combine an ESP32 with an I2C LCD and a DS3231 RTC to display date, time, and temperature, sharing I2C lines and using the supplied libraries.
Demonstrates how to connect the ESP32 to a Wi-Fi network with a minimal hello world sketch, using the WiFi library and begin to obtain and print the IP address.
learn how an ESP32-based sketch connects to wifi and fetches a remote text file from an Amazon S3 bucket via http get, using unencrypted communication.
Configure a secure ESP32 HTTPS client with WiFiClientSecure, setCACert, and port 443, fetch data from a remote server, and embed the root certificate for encrypted communication.
Control the ESP32's built-in LED via HTTPS by fetching a payload from a web resource. Use the first byte to drive GPIOs, enabling simple on/off and multi-pin control.
O ESP32 é um microcontrolador poderoso.
Ele integra Wifi e Bluetooth, muitas GPIOs, funcionalidades de output e input analógicos, muitos protocolos de interconexão de dispositivos, um processador dual-core rápido.
Tudo isso por um preço baixo.
E o melhor de tudo: você pode utilizar o seu conhecimento e habilidades no Arduino para acelerar os seus projetos.
Especialmente se você já aprendeu como utilizar o Arduino Uno nos seus projetos, é provável que você tenha alcançado uma limitação de hardware.
Talvez seus projetos precisassem de mais memória, mais velocidade, ou mais pinos.
Com o ESP32, você pode conseguir muito mais capacidade para construir projetos mais interessantes, quase gratuitamente.
Contudo, o ESP32 não é um substituto para o Arduino.
Enquanto ele compartilha muito da interface de programação e GPIOs, você ainda precisa aprender o básico antes de você poder implementá-lo.
Este é o propósito deste curso.
Neste curso você aprenderá:
O que é o ESP32.
Quais são as múltiplas variações de módulos com este nome, e como estes módulos estão disponíveis para nós no formato de kits de desenvolvimento.
Quais são as diferenças e as semelhanças entre o ESP32 e o Arduino.
Como podemos utilizar o que sabemos do Arduino para fazer coisas baseadas no ESP32.
Como podemos utilizar as GPIOs para trabalhar com componentes simples como LEDs e botões, mas também controlar periféricos como displays, sensores (incluindo os integrados) e motores.
Como configurar a IDE do Arduino para que nós possamos escrever programas para o ESP32.
Como armazenar dados em uma memória não volátil.
Como se comunicar com dispositivos em um campo próximo e com a Internet.
Neste curso, Eu também incluí múltiplos mini projetos para demonstrar como utilizar funcionalidades como leitura e escrita de GPIOs, Bluetooth clássico, Bluetooth de Baixa Energia, Wifi, conversão digital para analógico, sensores de toque, e mais.
Projetos maiores também mostrarão a você como criar aplicações simples de Internet das Coisas (IoT) e Bluetooth, por exemplo.
Se você estiver preparado para aprender mais, por favor, tenha certeza de assistir as aulas na seção introdutória para descobrir mais.