Como enviar o programa para a placa pelo USB, direto do navegador
Como o navegador conversa com a placa pelo Web Serial, o que o ESP32 precisa ter antes de receber o programa, como levar o código para o Arduino Nano pela Arduino IDE e os problemas mais comuns de cabo, driver e porta ocupada.

A IDE de blocos roda no navegador e, mesmo assim, consegue gravar o programa numa placa ligada ao cabo USB. Quem faz isso é o Web Serial, uma função dos navegadores Google Chrome e Microsoft Edge para computador que permite a uma página conversar com uma porta serial, com a permissão de quem está usando.
Como o navegador fala com a placa
- Você clica em Conectar na IDE.
- O navegador abre a própria janela com as portas seriais disponíveis. A página não vê nenhuma porta antes de você escolher; é uma regra de segurança do navegador.
- Você escolhe a porta da placa e a IDE passa a conversar com ela até você desconectar ou fechar a aba.
Firefox e Safari não têm o Web Serial, e no iPad e no iPhone ele não existe. Nesses casos, a IDE continua montando o programa e oferece o código para baixar.
ESP32: primeiro o MicroPython
O ESP32 sai de fábrica sem o MicroPython. Antes do primeiro envio, é preciso gravar o firmware do MicroPython na placa, uma vez só. Os caminhos mais comuns:
- Pelo site do MicroPython: baixe o firmware da sua placa em micropython.org e grave com a ferramenta esptool.
- Pelo Thonny: o editor Thonny tem um instalador de MicroPython para ESP32 nas configurações do interpretador.
Com o MicroPython gravado, o envio pela IDE é assim:
- A IDE interrompe o programa que estiver rodando.
- Grava o novo programa na memória da placa como main.py.
- Reinicia a placa, que passa a rodar o programa novo.
Como o programa fica salvo como main.py, ele roda sempre que a placa liga, mesmo desligada do computador e alimentada por uma fonte.
Arduino Nano: pela Arduino IDE
O Nano precisa de um programa compilado, e a compilação de C++ não acontece no navegador. Hoje, a IDE de blocos gera o código C++ completo e entrega de dois jeitos: copiar para a área de transferência ou baixar o arquivo .ino. Daí:
- Abra o arquivo na Arduino IDE.
- Em Ferramentas, escolha a placa Arduino Nano e a porta.
- Em Processador, escolha ATmega328P. Se o envio falhar com erro de sincronização, tente ATmega328P (Old Bootloader): muitos Nanos compatíveis saem com o bootloader antigo.
- Clique em Carregar.
A biblioteca Servo, que o código usa, já vem instalada com a Arduino IDE.
Os problemas mais comuns
A porta não aparece.
- Cabo só de carga. Muitos cabos USB baratos têm só os fios de energia. A placa acende e o computador não a enxerga. Troque o cabo antes de qualquer outra coisa.
- Driver. Placas com o conversor CH340 (comum no Nano compatível e em vários ESP32) ou CP2102 podem pedir o driver do fabricante do chip no Windows.
A porta aparece, mas a conexão falha.
- Porta ocupada. Só um programa por vez pode usar a porta. Feche o monitor serial da Arduino IDE, o Thonny ou outra aba com a IDE aberta.
O ESP32 não responde.
- Confirme que o MicroPython está gravado: sem ele, a placa não entende os comandos.
- Algumas placas precisam que o botão BOOT seja segurado durante a gravação do firmware, mas não durante o envio do programa.
A placa reinicia quando os servos se mexem.
- Não é problema de envio, é de alimentação: os servos estão puxando corrente da porta USB. Veja a seção sobre fonte em braço robótico com quatro mini servos.
Pronto para o primeiro envio
Abra a IDE de blocos, escolha a placa, monte um cartão de bip e envie. Se o buzzer apitar, o caminho entre o navegador e o robô está funcionando.
A IoTData faz o cadastro e o envio por você.
Um engenheiro nosso responde: qual rede chega até o poço, o que o IGAM ou a ANA vão pedir, quanto custa e quem cuida do cadastro de operador.