We may earn an affiliate commission when you visit our partners.
Dr. Peter Dalmaris and Pablo Freitas

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.

Read more

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.

Enroll now

What's inside

Learning objectives

  • Aprenda sobre o esp32 e o que faz dele uma escolha excelente para desenvolvedores arduino.
  • Aprenda sobre as diferenças e as semelhanças entre o esp32 e o arduino.
  • Aprenda sobre as variações do módulo esp32.
  • Aprenda sobre as características do kit de desenvolvimento esp32
  • Aprenda a usar o esp32 no lugar do arduino para controlar leds, botões, potenciômetros, displays, motores e ler sensores digitais e analógicos (incluindo intern
  • Aprenda a usar as funções avançadas do esp32, como memória flash, conversores digital-analógico e analógico-digital.
  • No fim, se tornar confiante em usar o esp32 nos seus projetos.
  • Aprenda como utilizar o esp32 para habilitar seu projeto a se comunicar com a internet.
  • Aprenda como utilizar o esp32 para habilitar seu projeto a se comunicar com dispositivos bluetooth (clássico e ble).
  • Show more
  • Show less

Syllabus

Introdução
01.10 Sobre o que é esse curso?
01.20 Software que você irá precisar
01.30 Hardware que você irá precisar
Read more
01.40 Como aproveitar este curso ao máximo
Conheça o seu ESP32
02.10 O módulo ESP32
02.20 O kit de desenvolvimento ESP32
02.30 ESP32 vs Arduino
02.40 GPIOs
02.50 Comunicações
02.60 Alimentação
Ambientes de Desenvolvimento
03.10 Configurando o ESP32 na IDE do Arduino no Mac OS (para usar neste curso)
03.20 Configurando o ESP32 na IDE do Arduino no Windows 10 (para este curso)
03.30 Instalando o driver do chip USB CP2102
GPIOs
04.10 LED output digital
04.20 PWM e LED
04.30 LED RGB e PWM
04.40 Input digital com botão
04.50 Input analógico com um potenciômetro
04.52 Input analógico com potenciômetro e output PWM
04.62a Uma visão global do Conversor digital para analógico no ESP32.
04.62b Código demo DAC
04.62c DAC analog waveform demo
04.62d Fazendo barulho com o DAC
04.70a Interrupção na GPIO, uma introdução
04.70b Interrupções na GPIO. código e demonstração.
Sensores
05.10 Efeito Hall integrado (utilize um ímã)
05.20 Sensor de toque (capacitivo) com LED
05.30 Sensor de toque (capacitivo) com interrupções e LED
05.40 Fotorresistor
05.50 Sensor de ambiente BME280 utilizando I2C
05.60 DHT22
05.70 Acelerômetro ADXL335
Displays
06.10 Tela LCD com I2C
06.20 Display de sete segmentos
06.22 Display de sete segmentos com biblioteca
06.30 Display relógio de sete segmentos com I2C
06.40 Display matriz de LEDs 8x8 (singular)
06.42 Display matriz de LEDs 8x8 (múltiplos)
Motores
07.10 motores DC com o controlador de motor DRV8871
07.20 Servo motor
Armazenamento
08.20 EEPROM
08.30 SPIFFS
08.40 Como apagar a memória flash
Data e Hora
09.10 Data e Hora com o DS3231
09.20 Um relógio com um LCD e o DS3231
Wifi
10.10 Conexão wifi
10.20 Cliente HTTP wifi
10.30 Cliente HTTPS wifi
10.40 Cliente HTTPS wifi e controle de LED
Bluetooth
11.10 Introdução ao Bluetooth Clássico
11.12a Demonstração de um projeto com Bluetooth Clássico
11.12b Projeto Bluetooth Clássico, gerenciamento do display
11.12c Projeto Bluetooth Clássico, atualizações dos sensores
11.20a Servidor BLE (parte 1)
11.20b Servidor BLE (parte 2)
11.30 Servidor BLE com LCD
Conclusão
Parabéns!
Outros cursos de Peter Dalmaris

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Bridges the gap between Arduino and ESP32, allowing learners to leverage existing Arduino knowledge for more advanced projects
Covers a wide range of ESP32 functionalities, including GPIOs, sensors, displays, motors, storage, Wi-Fi, and Bluetooth, offering a comprehensive learning experience
Includes mini-projects that demonstrate practical applications of ESP32 functionalities, such as reading and writing GPIOs, Bluetooth, Wi-Fi, and digital-to-analog conversion
Teaches how to create simple Internet of Things (IoT) and Bluetooth applications, providing a foundation for building connected devices
Requires learners to configure the Arduino IDE for ESP32 development, which may involve some initial setup and troubleshooting for those unfamiliar with the process
Requires specific hardware, such as the ESP32 development kit and various electronic components, which learners will need to acquire separately

Save this course

Save ESP32 para Desenvolvedores Arduino - Português Brasileiro to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in ESP32 para Desenvolvedores Arduino - Português Brasileiro with these activities:
Review Arduino Fundamentals
Solidify your understanding of Arduino fundamentals to better grasp the nuances of ESP32 development within the Arduino IDE.
Show steps
  • Review basic Arduino syntax and programming concepts.
  • Practice with simple Arduino projects like blinking an LED.
  • Familiarize yourself with the Arduino IDE interface.
Review 'Programming ESP32 with Arduino'
Deepen your understanding of ESP32 programming with a dedicated resource that complements the course material.
Show steps
  • Read the introductory chapters to understand the ESP32 architecture.
  • Work through the example projects to gain hands-on experience.
  • Refer to the book for detailed explanations of specific ESP32 features.
GPIO Control Exercises
Reinforce your understanding of GPIO control by completing a series of practical exercises.
Show steps
  • Write code to control LEDs using different GPIO pins.
  • Implement button-controlled actions using digital input.
  • Experiment with PWM to control LED brightness.
  • Integrate a potentiometer to control an LED's brightness via analog input.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Blog Post on ESP32 vs Arduino
Solidify your understanding of the differences and similarities between ESP32 and Arduino by creating a blog post that explains these concepts to others.
Show steps
  • Research the key differences between ESP32 and Arduino.
  • Outline the blog post with clear sections and headings.
  • Write a detailed explanation of each difference and similarity.
  • Include code examples to illustrate the concepts.
  • Edit and proofread the blog post before publishing.
IoT Weather Station Project
Apply your knowledge to build a practical IoT project that integrates sensor data, Wi-Fi connectivity, and data visualization.
Show steps
  • Connect a BME280 sensor to your ESP32.
  • Write code to read temperature, humidity, and pressure data.
  • Configure the ESP32 to connect to your Wi-Fi network.
  • Send sensor data to a cloud platform like ThingSpeak or Adafruit IO.
  • Create a dashboard to visualize the sensor data.
Contribute to an ESP32 Arduino Library
Deepen your understanding of ESP32 and Arduino by contributing to an open-source library.
Show steps
  • Find an ESP32 Arduino library on GitHub.
  • Identify a bug or missing feature.
  • Fork the repository and implement the fix or feature.
  • Submit a pull request with your changes.
Review 'ESP32 Technical Reference Manual'
Gain a deeper understanding of the ESP32's inner workings by studying the official technical reference manual.
Show steps
  • Download the ESP32 Technical Reference Manual from Espressif's website.
  • Focus on sections relevant to your projects, such as GPIO, Wi-Fi, and Bluetooth.
  • Refer to the manual when troubleshooting or optimizing your code.

Career center

Learners who complete ESP32 para Desenvolvedores Arduino - Português Brasileiro will develop knowledge and skills that may be useful to these careers:
DIY Electronics Hobbyist
A DIY Electronics Hobbyist enjoys creating their own unique electronic projects for personal enjoyment and learning. This course is well-suited for a DIY electronics hobbyist as it provides a comprehensive introduction to using the ESP32 microcontroller. You will start by understanding how to use the ESP32's GPIO pins, manage various sensors, control motors, and use communication protocols like WiFi and Bluetooth. The course also includes various mini-projects that help with hands-on learning. With the skills gained, you can move to your own creative, DIY projects. This course helps build a strong foundation in applied microcontroller programming.
Maker
A Maker is someone who enjoys creating and building various types of projects, often involving technology and design. This course is extremely valuable for a Maker who wants to expand their abilities in electronics and microcontrollers. The course content covers essential skills for working with the ESP32, including GPIO manipulation, sensor integration, and Wi-Fi and Bluetooth connectivity. The course also includes a wide variety of projects, such as controlling LEDs, motors, and displays, which are useful for making various types of electronics projects. This course can take you from basic electronic skills to more advanced project building.
Internet of Things Developer
An Internet of Things Developer creates and maintains software for connected devices and systems. This course is well-suited for those looking to become an Internet of Things developer as it teaches how to use the ESP32 microcontroller in various IoT applications. The course covers essential skills like connecting the ESP32 to WiFi and Bluetooth networks, which are fundamental for creating IoT devices. Additionally, the course includes projects demonstrating how to build simple IoT applications, providing practical experience. The course's focus on sensors, actuators, and communication protocols are all highly relevant to the daily tasks of an Internet of Things Developer. You will learn how to control devices, collect data, and transmit information over networks.
Embedded Systems Engineer
An Embedded Systems Engineer designs, develops, and tests the software and hardware components of embedded systems, often involving microcontrollers. This course directly aligns with the practical aspects of embedded systems development, as it teaches you how to use the ESP32, a powerful microcontroller that integrates WiFi and Bluetooth. By learning how to leverage its various features such as GPIOs, analog inputs/outputs, and communication protocols, you gain hands-on experience directly applicable to the role of an embedded systems engineer. The course's focus on using the Arduino IDE to program the ESP32 also helps build a foundation in embedded software development. Moreover, the mini projects included in the course, covering topics such as sensor integrations, motor control, and data storage, provide practical skills that you can use in your career as an Embedded Systems Engineer.
Firmware Engineer
A Firmware Engineer develops low-level software that controls hardware devices. This course provides hands-on experience with the ESP32 microcontroller, making it valuable for those interested in a career as a firmware engineer. The course covers how to program the ESP32, manage its GPIOs, and utilize its various features, such as WiFi and Bluetooth. This course also explores how to control external components such as LEDs, sensors, and motors, which are common tasks for a Firmware Engineer. The course provides a strong foundation in embedded programming using the Arduino IDE, a skill important for firmware development. You will gain the practical skills needed to write firmware for a range of devices and applications.
Robotics Engineer
A Robotics Engineer designs, develops, and tests robots and robotic systems. This course helps build a foundation in embedded systems, particularly the practical skills of programming the ESP32 microcontroller. As a Robotics Engineer, you might work on integrating various sensors and actuators, and this course provides hands-on experience with these components using the ESP32. The course teaches motor control, sensor integration, and wireless communication, all of which are very useful in robotics work. You would work with similar systems and hardware on the job. The course’s projects on controlling motors and reading sensor data can help you build practical skills that every robotics engineer will use.
Hardware Engineer
A Hardware Engineer is responsible for the design, development, and testing of physical hardware components and systems. This course may be useful for a Hardware Engineer, as it introduces the ESP32, a versatile microcontroller that can be used to design embedded systems. The course content covers the fundamental operation of the ESP32, its GPIOs, and various communication protocols. By understanding the ESP32's architecture, a Hardware Engineer can use this knowledge to develop integrated systems. The course's hands-on projects, such as controlling LEDs, sensors, and motors, provide a solid foundation for designing embedded hardware. If you're a hardware engineer interested in learning more about embedded systems, this course may be useful.
Automation Engineer
An Automation Engineer designs, develops, and implements automated systems and processes. This course may be useful for an Automation Engineer, as it introduces the ESP32, a versatile microcontroller ideal for creating automated systems. The course teaches you how to use the ESP32's GPIOs, work with sensors, control motors, and communicate wirelessly using WiFI and Bluetooth. These skills are directly applicable to the work of an Automation Engineer, who would use similar systems to build automated solutions. The hands-on experience with hardware and software, gained through the course’s projects, makes it a resource for you to expand your knowledge of automation technologies.
Electrical Engineer
An Electrical Engineer designs, develops, and tests electrical devices and systems. This course may be useful for an Electrical Engineer, as it teaches the use of the ESP32 microcontroller. The course covers topics such as using GPIOs, analog and digital I/O, and various communication protocols. This knowledge helps build an understanding of embedded systems within electrical engineering. The course's hands-on projects, involving components like LEDs, sensors, and motors, are useful for you to gain practical experience with how embedded systems interact with hardware. If you're an electrical engineer seeking more grounding in embedded programming, this course may be useful.
Automation Technician
An Automation Technician supports the implementation, maintenance, and troubleshooting of automated systems. This course may be useful for an Automation Technician, as it introduces the ESP32 microcontroller, which is foundational for many automated systems. The course provides practical experience in using the ESP32's GPIOs, working with sensors, and controlling motors, all common aspects of automated projects. The course's content on communication protocols like WiFi and Bluetooth may also prove to be valuable in connecting different components in an automated system. An Automation Technician may find that this course helps them understand the underlying technology of the systems they work with.
Product Developer
A Product Developer is involved in the design, development, and launch of new products. This course provides a practical understanding of using the ESP32 microcontroller, a popular choice in many modern products, and may be useful for a Product Developer. The course's content on interfacing with sensors, displays, and actuators, as well as the course’s focus on communication protocols such as Wi-Fi and Bluetooth, provide a basis to understand the technology in many new and emerging products. The hands-on projects, included as part of the course, could help you develop a deeper understanding of product development using microcontrollers. This course helps you gain the hands-on experience that leads to technological fluency.
Technology Educator
A Technology Educator teaches technical skills and concepts to students, such as programming and electronics. This course may be useful for a Technology Educator, as it covers practical skills in using the ESP32 microcontroller. The course will provide educators with a strong foundation in microcontroller programming, sensor integration, and wireless communication. The various projects in the course can also be useful for educators looking for project ideas for their students. With the course’s content, you will have some practical experience that can inform your teaching.
System Integrator
A System Integrator combines different hardware and software components to create complete systems. This course may be useful for a System Integrator as it introduces the ESP32 microcontroller, a versatile tool for creating integrated solutions. The course covers how to manage GPIOs, sensors, and actuators, as well as communication protocols like WiFi and Bluetooth. This knowledge will give you a deeper understanding of how different components can be connected and work together. The course’s hands-on projects can inform you about embedded systems using the ESP32, which can be relevant to integrated systems.
Research Scientist
A Research Scientist conducts scientific research to advance knowledge in a specific field, often requiring specialized skills. This course may be useful for a Research Scientist who needs to build prototypes or data collection devices involving microcontrollers. The course explores topics such as sensor integration, data storage, and communication protocols using the ESP32. The course's hands-on projects may help you gather skills necessary to develop your own research tools. The skills learned from the course, specifically around using microcontrollers and sensors, may be useful in your research applications. Many Research Scientist roles require an advanced degree.
Software Developer
A Software Developer is involved in the design, development, and testing of software applications. While this course focuses on embedded systems, a Software Developer working on IoT applications might find it useful. The course includes programming the ESP32 microcontroller, which is helpful to understand how software interacts with hardware in embedded environments. The course's content around WiFi and Bluetooth connectivity may be useful if a Software Developer is working on projects that involve connected devices. The course gives some experience with hardware interfacing.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in ESP32 para Desenvolvedores Arduino - Português Brasileiro.
Provides a comprehensive guide to programming the ESP32 using the Arduino IDE. It covers a wide range of topics, from basic setup to advanced features like Wi-Fi and Bluetooth. It serves as an excellent reference for understanding the ESP32's capabilities and how to leverage them within the Arduino ecosystem. This book is commonly used by hobbyists and professionals alike.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser