O PlatformIO é um ecossistema de desenvolvimento de código aberto que substitui a Arduino IDE tradicional por uma plataforma profissional e completa. Suporta mais de 1.000 placas — de Arduino e ESP32 a STM32, Raspberry Pi Pico e BBC micro:bit — com compilação cruzada, debugging real e integração nativa com VS Code.

🚀 Por que usar PlatformIO?

O PlatformIO resolve os problemas mais comuns da Arduino IDE: gerenciamento manual de bibliotecas, ambiente de build limitado e ausência de ferramentas profissionais de depuração. É a escolha certa para quem leva firmware a sério.

💻 Instalação

Linux / Termux (Android)

pip install platformio
# ou
python3 -m pip install platformio

# Verificar instalação
pio --version

VS Code

  1. Abra o VS Code
  2. Vá em Extensões (Ctrl+Shift+X ou Cmd+Shift+X)
  3. Pesquise "PlatformIO IDE"
  4. Clique em Install e aguarde a configuração completa (pode levar alguns minutos na primeira vez)
PlatformIO CLI: Após instalar, use pio diretamente no terminal. Não precisa do VS Code se preferir trabalhar na linha de comando — toda a funcionalidade está disponível via CLI.

🔧 Primeiro Projeto

# Criar novo projeto para ESP32
pio project init --board esp32dev

# Compilar o projeto
pio run

# Upload do firmware (conecta automaticamente à porta correta)
pio run --target upload

# Monitor serial (115200 baud, Ctrl+C para sair)
pio device monitor

💡 Exemplo Prático: Blink LED no ESP32

Vamos criar um projeto completo passo a passo. Estrutura de diretórios após o pio project init:

meu-projeto/
├── platformio.ini          ← configuração do projeto
├── include/
│   └── README
├── lib/
│   └── README
├── src/
│   └── main.cpp             ← seu código fonte
└── test/
    └── README

Arquivo platformio.ini

; ==================== PlatformIO ====================
; LabAuto CDSA/UFCG — Configuração ESP32

[env:esp32dev]
platform = espressif32
board     = esp32dev
framework = arduino

; Velocidade do monitor serial (baud rate)
monitor_speed = 115200

; Libs extras (opcional — gerenciadas automaticamente)
lib_deps =
    espressif/AsyncTCP@^2.0.16
    me-no-dev/ESP Async WebServer@^1.2.6

; Monitor com filtros para melhor legibilidade
monitor_filters
    esp32_exception_decoder
    default

Arquivo src/main.cpp

#include <Arduino.h>

// GPIO2 — LED azul na maioria das placas DevKit ESP32
const int LED_BUILTIN = 2;

void setup() {
    // Configura o pino do LED como saída
    pinMode(LED_BUILTIN, OUTPUT);
    Serial.begin(115200);
    Serial.println("LabAuto ESP32 Blink — initializing...");
}

void loop() {
    // Acende o LED (nível alto no GPIO2)
    digitalWrite(LED_BUILTIN, HIGH);
    Serial.println("LED ON");
    delay(1000);  // 1 segundo ligado

    // Apaga o LED (nível baixo)
    digitalWrite(LED_BUILTIN, LOW);
    Serial.println("LED OFF");
    delay(1000);  // 1 segundo desligado
}
Upload: Para fazer o upload, conecte o ESP32 via USB e execute pio run --target upload. Se houver múltiplas portas, use pio run --target upload --upload-port /dev/ttyUSB0.

🧩 Placas Suportadas

O PlatformIO suporta mais de 1.000 placas organizadas em plataformas. Aqui estão as mais utilizadas no LabAuto:

🟢 Espressif

ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP8266

🔵 Arduino

Uno, Mega, Nano, Leonardo, Due, MKR, Nano Every

🟣 STMicro

STM32F1, STM32F4, STM32F7, STM32H7, Nucleo, Discovery

🍓 Raspberry Pi

Pico, Pico W, RP2040 (com SDK C/C++ e Arduino)

💻 BBC

micro:bit v1 (nRF51) e v2 (nRF52)

🎸 Teensy

Teensy 3.2, 3.5, 3.6, 4.0, 4.1 — ARM Cortex-M

📊 PlatformIO vs Arduino IDE

⚡ Conclusão

O PlatformIO é a escolha profissional para projetos de IoT, automação industrial e sistemas embarcados. No LabAuto CDSA/UFCG, utilizamos o PlatformIO para desenvolvimento de firmware em nossos módulos IoT baseados em ESP32 e STM32, aproveitando a facilidade de gerenciamento de bibliotecas e a robustez do sistema de build.

A transição da Arduino IDE para o PlatformIO pode parecer intimidadora no início, mas os benefícios em termos de produtividade, organização de projetos e capacidades de debugging justificam rapidamente o investimento de tempo. Para projetos de pesquisa e extensão no semiárido nordestino, a confiabilidade e a portabilidade do PlatformIO são diferenciais competitivos reais.