Introdução
Este artigo apresenta uma abordagem simples e eficaz para proteger credenciais e outros dados sensíveis em projetos com o ESP32, quando você está usando a IDE Arduino. A ideia é organizar os segredos (senhas, tokens, SSID etc.) de forma mais segura e limpa, e destacar boas práticas que evitam exposições acidentais.
1. Por que separar credenciais do seu sketch?
Quando você escreve diretamente no seu sketch (arquivo .ino) credenciais como nomes de redes Wi-Fi, senhas, tokens de API ou chaves, corre os seguintes riscos:
Se o arquivo for compartilhado (no GitHub, Bitbucket ou outro), as credenciais podem vazar.
Se você usar o mesmo código em vários projetos e só alterar as credenciais, corre o risco de não lembrar que um desses sketches contém “hard-coded” credenciais.
Manutenção menos organizada: quando as credenciais mudam, pode ser mais trabalhoso atualizar todos os lugares.
Para mitigar isso, sugerimos mover as credenciais para uma biblioteca separada (por exemplo, MySecret.h) — assim o sketch permanece “limpo” e as credenciais ficam isoladas.
2. Como criar a biblioteca de credenciais
Segue o passo-a-passo:
Na IDE Arduino, vá em Arquivo > Preferências para ver o caminho da pasta “Sketchbook” (por exemplo,
C:\Users\USUARIO\Documents\Arduino).

- Dentro localize a subpasta libraries.
- Dentro de libraries, crie uma nova pasta chamada
MySecret(ou qualquer nome que você prefira).
- Dentro de
MySecret, crie o arquivoMySecret.h.
- Abra
MySecret.he insira suas credenciais, por exemplo:
- No seu sketch principal, inclua a biblioteca:
- Compile e faça o upload normalmente.
3. Boas práticas adicionais recomendadas
Para elevar ainda mais a segurança e organização do seu projeto com ESP32, vale considerar:
Não inclua nenhuma credencial ou chave sensível no arquivo
.ino,.hou.cppque você irá publicar ou versionar publicamente.Se seu projeto vai para repositório público, adicione a pasta da biblioteca de credenciais no arquivo
.gitignorepara evitar commit acidental.Use macros (
#define) ou constantesconst char*, conforme sua preferência, mas mantenha tudo bem centralizado emMySecret.h.Se o projeto for um produto ou destinado à operação em campo, considere usar recursos mais avançados do ESP32 — como Flash Encryption ou Secure Boot. Por exemplo, há recomendações de que “para o ESP32, considere usar as funcionalidades de Flash Encryption e Secure Boot, se a segurança for uma prioridade elevada.” lojapm.pt+1
Utilize comunicação criptografada (HTTPS/TLS) sempre que enviar dados sensíveis pela rede — especialmente em projetos IoT. fatecourinhos.edu.br+1
Considere o uso de sistemas de arquivos robustos (como LittleFS ou SPIFFS) para armazenamento local de dados críticos em vez de EEPROM simples, pois oferecem melhor integridade em caso de falha de energia. lojapm.pt
4. Exemplo completo de estrutura de código
No arquivo MySecret.h:
5. Considerações finais
Mover as credenciais para uma biblioteca separada é uma mudança simples, mas traz benefícios concretos de organização, segurança e manutenção. Para projetos de hobby isso já ajuda bastante; para aplicações em escala industrial ou comercial, vale aplicar também as camadas adicionais de segurança mencionadas.
Os microcontroladores como o ESP32 são plataformas poderosas, porém, se deixarmos senhas, tokens ou chaves expostas, abrimos portas para problemas. Portanto, aplicar práticas básicas de proteção de dados é um bom ponto de partida.

Deixe um comentário