Guia Prático: Configuração de Ambiente Web no ESP32
Controle Preciso de Motores DC com ESP32: Guia Completo
O controle de motores DCConfiguração de PWM e FrequênciaAprenda a configurar e ajustar o PWM no ESP32 com exemplos práticos para controlar LEDs, motores e servomotores em projetos IoT. (corrente contínua) é essencial em uma ampla gama de aplicações, desde robótica até automação industrial. O ESP32, com seus recursos avançados e versatilidade, torna-se uma escolha excelente para projetos que exigem controle preciso e eficiente de motores DC. Neste artigo, exploraremos detalhadamente como controlar motores DC utilizando o ESP32. Abordaremos desde conceitos básicos sobre motores DC, circuitos de acionamento, até a implementação de controle de velocidade e direção. Além disso, forneceremos exemplos práticos e códigos para orientá-lo na construção de seus próprios projetos.
Introdução aos Motores DC🔗
O que são Motores DC?
Motores de correnteDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! contínua (DC) são dispositivos eletromecânicos que convertem energia elétrica em energia mecânica através da rotação de um eixo. São amplamente utilizados devido à sua simplicidade, facilidade de controlar a velocidade e direção, e baixo custo.
Princípio de Funcionamento
O funcionamento básico de um motor DC baseia-se na interação entre campos magnéticos gerados pela corrente elétrica nos enrolamentos do rotor e do estator. A direção e magnitude da correnteDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! elétrica determinam o sentido e a velocidade de rotação do motor.
Aplicações Comuns
- Robótica: Movimento de braços, rodas e atuadores.
- Automação Residencial
Introdução à Automação Residencial com ESP32Descubra como o ESP32 transforma sua casa em um lar inteligente com dicas práticas de configuração, programação e automação residencial.: Persianas elétricas, portões automáticos.
- Indústria: Esteiras transportadoras, bombas.
Componentes Necessários🔗
ESP32
- Microcontrolador
Características Técnicas e Funcionalidades do ESP32Descubra as especificações completas e os recursos avançados do ESP32, a plataforma ideal para automação, IoT e projetos modernos com segurança.: Será o cérebro do sistema, responsável por controlar os sinais enviados ao motor.
Motor DC
- Especificações: É importante conhecer a tensão e corrente
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! nominal do motor para dimensionar corretamente o circuito de controle.
Drivers de Motor
- Ponte H: Circuito que permite controlar a direção e velocidade do motor. Exemplos:
- L298N
- L293D
- DRV8833
Fonte de Alimentação
- Alimentação Separada: Motores geralmente consomem mais corrente do que o ESP32 pode fornecer; portanto, é necessária uma fonte de alimentação
Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência. dedicada.
Componentes Adicionais
- Diodos de Proteção
📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada.: Para evitar picos de tensão inversos (EMF).
- Resistores
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! e Capacitores: Para filtragem e proteção
📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada. do circuito.
Conceitos Fundamentais🔗
Controle de Velocidade
A velocidade do motor DC pode ser controlada variando a tensão aplicada ou utilizando modulação por largura de pulsoConfiguração de PWM e FrequênciaAprenda a configurar e ajustar o PWM no ESP32 com exemplos práticos para controlar LEDs, motores e servomotores em projetos IoT. (PWM).
- PWM
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!: Técnica onde a largura do pulso é alterada para controlar a potência
🚴 Power Meter para Ciclismo de EstradaDescubra neste tutorial completo como construir um power meter com ESP32, abordando física, firmware, calibração e integração com apps para ciclismo. média enviada ao motor.
Controle de Direção
Invertendo a polaridade da tensão aplicada ao motor, é possível mudar o sentido de rotação.
- Ponte H: Circuito específico que permite controlar a direção do motor de forma eficiente.
Montagem do Circuito🔗
Esquema Básico com Ponte H (L298N)
Conexões do ESP32 ao Módulo L298N
ESP32 | L298N |
---|---|
GPIO 14 (ENA) | ENA (Enable A) |
GPIO 27 (IN1) | IN1 |
GPIO 26 (IN2) | IN2 |
GND | GND |
Alimentação
- Motor: Conectado à saída OUT1 e OUT2 do L298N.
- Fonte de Alimentação
Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência. do Motor: Conectada aos terminais 12V e GND
Conectando Sensores de Movimento PIR ao ESP32Aprenda a integrar sensores PIR com ESP32 neste tutorial completo, explorando montagem, ajustes e programação na Arduino IDE. do L298N.
- ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!: Alimentado separadamente via USB ou fonte regulada
Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência..
Diagrama do Circuito
Programação do ESP32🔗
Configurando os Pinos
Declare os pinos utilizados e configure-os no modo adequado.
#define ENA 14 // Controla a velocidade via PWM
#define IN1 27 // Controla a direção
#define IN2 26 // Controla a direção
void setup() {
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
}
Controle de Velocidade com PWM
Utilize os canais de PWMConfiguração de PWM e FrequênciaAprenda a configurar e ajustar o PWM no ESP32 com exemplos práticos para controlar LEDs, motores e servomotores em projetos IoT. do ESP32 para controlar a velocidade do motor.
const int freq = 30000;
const int pwmChannel = 0;
const int resolution = 8; // Resolução de 8 bits (0-255)
void setup() {
// Configuração anterior
// ...
// Configura o PWM
ledcSetup(pwmChannel, freq, resolution);
ledcAttachPin(ENA, pwmChannel);
}
Funções para Controle
Função para Definir a Velocidade
void setSpeed(int speed) {
// Restringir a velocidade entre 0 e 255
speed = constrain(speed, 0, 255);
ledcWrite(pwmChannel, speed);
}
Função para Mover para Frente
void moveForward(int speed) {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
setSpeed(speed);
}
Função para Mover para Trás
void moveBackward(int speed) {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
setSpeed(speed);
}
Função para Parar
void stopMotor() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
setSpeed(0);
}
Exemplo de Uso no Loop
void loop() {
// Move para frente com velocidade máxima
moveForward(255);
delay(2000);
// Para
stopMotor();
delay(1000);
// Move para trás com metade da velocidade
moveBackward(128);
delay(2000);
// Para
stopMotor();
delay(1000);
}
Controle Avançado🔗
Controle via Bluetooth
Permita controlar o motor através de um aplicativo móvelIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT..
Configuração do Bluetooth
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
void setup() {
// Configuração anterior
// ...
Serial.begin(115200);
SerialBT.begin("ESP32_Motor"); // Nome Bluetooth
}
Recebendo Comandos
void loop() {
if (SerialBT.available()) {
char comando = SerialBT.read();
switch (comando) {
case 'F':
moveForward(200);
break;
case 'B':
moveBackward(200);
break;
case 'S':
stopMotor();
break;
}
}
}
Controle via Wi-Fi e Web Server
Crie uma interface webInteração com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. para controlar o motor.
Configuração da Rede
#include <WiFi.h>
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
void setup() {
// Configuração de pinos
// ...
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Conectando ao WiFi...");
}
Serial.println("Conectado!");
}
Servidor Web Simples
#include <WebServer.h>
WebServer server(80);
void setup() {
// Configuração anterior
// ...
server.on("/", HTTP_GET, handleRoot);
server.on("/forward", HTTP_GET, []() {
moveForward(200);
server.send(200, "text/plain", "Moving Forward");
});
server.on("/backward", HTTP_GET, []() {
moveBackward(200);
server.send(200, "text/plain", "Moving Backward");
});
server.on("/stop", HTTP_GET, []() {
stopMotor();
server.send(200, "text/plain", "Motor Stopped");
});
server.begin();
}
void handleRoot() {
String html = "<h1>Controle do Motor DC</h1>";
html += "<a href=\"/forward\">Frente</a><br>";
html += "<a href=\"/backward\">Trás</a><br>";
html += "<a href=\"/stop\">Parar</a><br>";
server.send(200, "text/html", html);
}
void loop() {
server.handleClient();
}
Feedback com Encoder
Utilize um encoder🤖 Braço Robótico Didático com EncodersDescubra como construir braços robóticos com encoders, integrando mecânica, eletrônica e algoritmos de controle para precisão em aplicações pedagógicas. para monitorar a velocidade real do motor.
Leitura do Encoder
volatile long posicao = 0;
void IRAM_ATTR encoderInterrupt() {
posicao++;
}
void setup() {
// Configuração anterior
// ...
pinMode(encoderPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(encoderPin), encoderInterrupt, RISING);
}
Ajuste de Velocidade com PID
Implemente um controlador PID🌡 Termostato Inteligente para Ar-CondicionadoProjeto inovador de termostato inteligente integra sensores, PID e IoT para controle ambiental preciso, promovendo conforto térmico e economia energética. para ajustar a velocidade do motor com base no feedback.
// Definição de variáveis do PID
double Setpoint, Input, Output;
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
void setup() {
// Configuração anterior
// ...
myPID.SetMode(AUTOMATIC);
}
void loop() {
Input = medirVelocidade();
myPID.Compute();
setSpeed(Output);
}
Considerações de Segurança🔗
Proteção Contra Sobrecarga
Implemente medidas para evitar danos causados por correntes excessivas.
- Fusíveis: Utilize fusíveis adequados para a corrente
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! do motor.
- Circuitos de Proteção
📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada.: Monitore a corrente
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! e desligue o motor em caso de sobrecarga.
Isolamento do Circuito
- Optoacopladores: Para isolar eletricamente o ESP32 do circuito de potência
🚴 Power Meter para Ciclismo de EstradaDescubra neste tutorial completo como construir um power meter com ESP32, abordando física, firmware, calibração e integração com apps para ciclismo..
- Separação de Terras: Mantenha a terra do lado de controle separada da terra do lado de potência
🚴 Power Meter para Ciclismo de EstradaDescubra neste tutorial completo como construir um power meter com ESP32, abordando física, firmware, calibração e integração com apps para ciclismo..
Dissipação de Calor
- Coolers e Dissipadores: Utilize dissipadores de calor nos drivers para evitar superaquecimento.
- Ventilação: Garanta que o circuito esteja em um ambiente bem ventilado.
Boas Práticas🔗
Alimentação Adequada
- Fontes Estabilizadas: Utilize fontes de qualidade que forneçam a corrente
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! necessária.
- Capacitores de Desacoplamento: Adicione capacitores próximos aos pinos de alimentação do driver.
Filtragem de Ruídos
- Filtros EMI: Reduzem interferências eletromagnéticas
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. que podem afetar o funcionamento do ESP32.
- Cabos Blindados: Em aplicações
📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada. sensíveis, utilize cabos blindados para conexões longas.
Organização do Circuito
- Layout Limpo: Mantenha os fios organizados para facilitar a manutenção.
- Identificação: Etiquete os fios e componentes
📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT. para evitar confusões.
Exemplos Práticos🔗
Exemplo 1: Carrinho Controlado por Smartphone
Crie um carrinho robô que pode ser controlado via BluetoothControle de Dispositivos com ESP32 via BluetoothDescubra como controlar dispositivos com ESP32 via Bluetooth em projetos IoT. Aprenda a configurar circuitos e programar funcionalidades de automação. usando um aplicativo no smartphone.
- Motores DC
Configuração de PWM e FrequênciaAprenda a configurar e ajustar o PWM no ESP32 com exemplos práticos para controlar LEDs, motores e servomotores em projetos IoT.: Dois motores controlados individualmente para permitir movimento e direção.
- Controle: Aplicativo envia comandos para o ESP32 via Bluetooth
Controle de Dispositivos com ESP32 via BluetoothDescubra como controlar dispositivos com ESP32 via Bluetooth em projetos IoT. Aprenda a configurar circuitos e programar funcionalidades de automação..
- Implementação:
- Use duas pontes H para controlar os motores.
- Implemente lógica para movimentação básica: frente, trás, esquerda, direita e parar.
Exemplo 2: Porta Automática com Sensor
Desenvolva um sistema que utiliza um motor DC para abrir e fechar uma porta automaticamente com base em sensoresProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. de presença.
- Sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código.: Utilize sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. infravermelhos ou ultrassônicos para detectar presença.
- Controle do Motor: Aciona o motor para abrir ou fechar a porta.
- Segurança
Segurança em MQTT: Autenticação e Criptografia no ESP32Descubra como proteger conexões MQTT em aplicações IoT com ESP32, implementando autenticação e criptografia TLS para segurança máxima.:
- Implementar mecanismos para evitar esmagamento, como sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. de obstrução.
- Botão de emergência para parar o motor.
- Implementar mecanismos para evitar esmagamento, como sensores
Resolução de Problemas Comuns🔗
Motor Não Gira
- Verifique as Conexões: Certifique-se de que todos os fios estão conectados corretamente.
- Alimentação Insuficiente: Verifique se a fonte de alimentação
Selecionando Componentes de Hardware para o Sistema de Alarme com ESP32Descubra como selecionar os melhores componentes de hardware para criar um sistema de alarme com ESP32. Tutorial prático com dicas de segurança e eficiência. fornece a corrente necessária.
- Driver Danificado: Teste
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. com outro driver para descartar falha.
Motor Gira em Apenas Uma Direção
- Conexões da Ponte H: Verifique se os pinos de controle estão configurados corretamente.
- Código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!: Certifique-se de que as funções para ambas as direções estão implementadas.
Ruído e Interferência
- Filtros: Adicione capacitores de filtro nos terminais do motor.
- Separação de Circuitos: Mantenha os cabos de alta corrente
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! afastados dos sinais de controle.
Expansão do Projeto🔗
Controle de Múltiplos Motores
- Drivers Múltiplos: Utilize um driver com mais canais ou adicione mais drivers.
- Endereçamento: Gerencie os pinos de controle para cada motor.
Integração com Sensores
- Feedback Avançado: Utilize sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. como giroscópios ou acelerômetros para controle complexo.
- Autonomia: Implemente algoritmos para movimentos autônomos baseados em dados de sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código..
Conectividade com a Nuvem
- Monitoramento Remoto
Monitoramento Remoto de Sensores com ESP32 e MQTTAprenda a configurar ESP32 com MQTT para monitorar sensores IoT, garantindo comunicação eficiente e coleta de dados em tempo real.: Envie dados de operação para um servidor ou aplicativo.
- Controle Remoto
Controle Remoto de Eletrodomésticos via Wi-Fi e ESP32Aprenda a controlar eletrodomésticos via Wi-Fi usando o ESP32. Tutorial completo com montagem, código e dicas de segurança para automação residencial.: Receba comandos via Internet para controlar o motor à distância.
Conclusão🔗
O controle de motores DCConfiguração de PWM e FrequênciaAprenda a configurar e ajustar o PWM no ESP32 com exemplos práticos para controlar LEDs, motores e servomotores em projetos IoT. com o ESP32 abre um vasto leque de possibilidades em projetos de automação e robótica. Compreendendo os princípios básicos e implementando boas práticas, é possível desenvolver sistemas eficientes, seguros e confiáveis. Este artigo buscou fornecer um guia abrangente, desde a teoria até a prática, permitindo que você inicie ou aprimore seus projetos envolvendo motores DC.
Lembre-se de que a chave para o sucesso em projetos eletrônicos é a experimentação cuidadosa e a aprendizagem contínua. Não hesite em explorar novas ideias, testar diferentes configuraçõesInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns. e aprofundar-se em tópicos avançados. Com criatividade e dedicação, você poderá criar soluções inovadoras e funcionais utilizando o ESP32 e motores DC.
Referências e Recursos Adicionais🔗
- Datasheets dos Componentes
📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT.: Sempre consulte os datasheets para informações detalhadas sobre os componentes
📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT. utilizados.
- Comunidades Online
🔋 Sistema UPS para Rede 220VAprenda a construir um UPS 220V com ESP32, integrando inversor senoidal, relés SSR, e monitoramento IoT para segurança e eficiência energética.: Fóruns e grupos sobre ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! e eletrônica podem fornecer suporte e insights valiosos.
- Livros e Cursos: Considere aprofundar seus conhecimentos com materiais especializados em controle de motores e programação embarcada
🪐 Simulador de Ambiente de Vácuo EspacialAprenda a criar um simulador de vácuo espacial com ESP32, combinando física, engenharia e programação para testes e inovações no ambiente espacial..
Próximos Passos🔗
- Explorar Motores de Passo
Controle de Motores de PassoAprenda a controlar motores de passo com ESP32 usando drivers como A4988 e DRV8825. Tutorial completo com exemplos, circuitos e códigos práticos.: Outra opção para controle preciso de movimento.
- Implementar Controle PID
🏎 Esteira Robótica com Controle PID de VelocidadeAprenda a construir uma esteira robótica com controle PID e ESP32, integrando hardware preciso e software robusto para alta precisão e desempenho industrial. Avançado: Para aplicações
📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada. que requerem alto grau de precisão.
- Integrar com AI e Machine Learning
📱 Controlador Universal para Experimentos FísicosDescubra o controlador ESP32 que revoluciona experimentos físicos integrando sensores, comunicação BLE e processamento em tempo real para educação STEM.: Para desenvolver sistemas autônomos com capacidades avançadas.
Esperamos que este artigo tenha sido útil em sua jornada no mundo do controle de motores DCConfiguração de PWM e FrequênciaAprenda a configurar e ajustar o PWM no ESP32 com exemplos práticos para controlar LEDs, motores e servomotores em projetos IoT. com ESP32. Boa sorte em seus projetos!
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Arduino IDE Official Website: arduino.cc
- Documentação do ESP32 Arduino Core: docs.espressif.com/projects/arduino-esp32
- Repositório do ESP32 Arduino Core: github.com/espressif/arduino-esp32