VS Code + PlatformIO para ESP32: el entorno que uso a diario

Cómo dejar VS Code + PlatformIO listo para el ESP32: instalación, platformio.ini, subir y monitorizar, librerías por proyecto y depuración.

También disponible en: EN, ES

Serie Introducción al ESP32 Parte 17 Ver la serie →
VS Code con PlatformIO y el ESP32

Si tuviera que quedarme con un solo entorno para el ESP32, sería este. PlatformIO convierte VS Code en un IDE de verdad: build, upload, monitor y depuración, con la configuración del proyecto en un fichero de texto.

Instalación

  1. Instala VS Code.
  2. En Extensions, busca PlatformIO IDE e instálala.
  3. Espera a que termine de preparar el toolchain la primera vez.

Y ya. PlatformIO se encarga de descargar compiladores y herramientas por ti.

Crear un proyecto

PlatformIO Home → New Project: nombre, placa (Espressif ESP32 Dev Module) y framework (Arduino o ESP-IDF). La estructura que genera:

mi-proyecto/
├── platformio.ini     # configuración
├── src/main.cpp       # tu código
└── lib/               # librerías propias

platformio.ini: el corazón

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
upload_speed = 921600

Cambiar de placa es cambiar una línea. Esto es oro cuando tienes varios proyectos:

[env:s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200

[env:c3]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino

Eliges el entorno en la barra inferior y subes.

Subir y monitorizar

En la barra de estado:

  • ✓ Build — compila.
  • → Upload — compila y sube.
  • 🔌 Serial Monitor — abre el monitor a los baudios que pusiste.

O desde la terminal:

pio run -t upload
pio device monitor

Librerías por proyecto

En lugar de instalarlas globalmente, las declaras:

lib_deps =
    adafruit/Adafruit BME280 Library@^2.2.4
    knolleary/PubSubClient@^2.8

Ventaja enorme: el proyecto lleva sus propias versiones. Si mañana una librería rompe, tu código sigue igual.

Depuración

Con una placa que lo soporte (ESP32-S3/C3) y una sonda JTAG:

debug_tool = esp-builtin

Y ya tienes puntos de ruptura de verdad, no printf. Es el salto de calidad cuando el proyecto crece.

Lo que me gusta (y lo que no)

A favor: un entorno para casi todo, configuración versionable, dependencias por proyecto, debugging real, multiplataforma.

En contra: la primera compilación descarga mucho; y si eres nuevo, hay más conceptos que en el Arduino IDE.

Resumen

  • Instala PlatformIO IDE en VS Code y olvídate del resto.
  • Toda la configuración vive en platformio.ini (versionable).
  • lib_deps fija las librerías por proyecto, no globalmente.
  • Cambiar de placa es cambiar una línea: ideal para tener un env por variante.
  • Con JTAG tienes depuración real.

Siguiente paso: VS Code + ESP-IDF si vas a fondo con el SDK oficial. O vuelve al hub de la serie.

Entradas relacionadas

↑↓ navegar ↵ abrir Esc cerrar