Eu vinha do software e achava que já sabia o básico. Comprei um ESP32, um punhado de LEDs, resistores e uma protoboard. O plano era simples: copiar o exemplo de piscar LED, subir pra placa e partir para o projeto de verdade no mesmo dia.
Dia 1: o computador não via a placa
Pluguei a placa, abri a IDE e... nenhuma porta aparecia. Instalei driver, reinstalei driver, reiniciei o computador, troquei de porta USB. Nada.
O problema era o cabo. Eu tinha pegado um cabo USB qualquer da gaveta, e ele era só de carga: tinha os fios de energia, mas não os de dados. A placa acendia, então parecia tudo certo. Troquei o cabo e a porta apareceu na hora.
Dia 2: o código subia, o LED não acendia
Com a placa reconhecida, o upload funcionou de primeira. O LED continuou apagado.
Depois de muito tempo olhando para o código, descobri que o número que eu tinha colocado no código não era o pino onde o LED estava ligado. A numeração impressa na placa e a numeração do GPIO nem sempre batem, e cada modelo de placa tem o seu diagrama. Aprendi a ter o pinout da minha placa sempre aberto numa aba.
Dia 3: o LED estava ao contrário
Pino certo, código certo, e nada. Nesse ponto eu já desconfiava de tudo, inclusive do LED. E com razão: LED tem polaridade. A perna mais comprida é o positivo, e eu tinha ligado invertido.
Virei o LED. Ele piscou. Fiquei olhando para aquela luzinha por um tempo que prefiro não dizer.
No software, quando algo não funciona, o problema está no código. No hardware, pode estar no código, no cabo, no pino ou na peça que você colocou de cabeça pra baixo.
O que eu levei disso
- Separe o problema em camadas. O computador vê a placa? O código sobe? O pino está certo? O componente está ligado direito? Cada pergunta é um teste.
- Desconfie do que parece óbvio. "A placa acende, então o cabo funciona" era uma suposição errada.
- Leia a documentação da sua placa específica. Exemplo da internet é ótimo, mas foi escrito para a placa de outra pessoa.
Três dias pra acender um LED parece muito. Mas foram os três dias em que eu mais aprendi sobre hardware até hoje, justamente porque tudo deu errado.