El primer ejercicio que vamos a hacer para familiarizarnos con el Microcontrolador ESP32 es el clásico blink.
Para ello vamos a conectar una bombilla LED roja a la placa, dado que la ESP32 no dispone de luz LED interior programable. Las dos luces que tiene son indicadores de on/off y de actividad en la placa. Ninguno de ellos está pensado para manipulación por parte del usuario humilde (yo).
La luz LED la conectaremos al pin GND (posición 6 del lado izdo. de la placa, contando desde el lado de la conexión microUSB) y al pin G32 (posición 13 del mismo lado izdo.). Entre medias pondremos una resistencia de 220 Ohms para reducir la corriente y no quemar la LED. No se ve en la foto pero el cable rojo solo conecta el pin GND al rail ground de la mini-breadboard. El cátodo de la LED sale del rail ground, pasa por la resistencia y el cable verde lo conecta con el pin G32.



Una vez preparado el hardware, pasamos al software.
Abrimos el ejemplo Blink de Arduino:

Esto es lo que vemos en el IDE de Arduino:
/*
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Tenemos un problemita con el LED_BUILTIN que, como hemos dicho, está disponible en las placas de Arduino (creo que en casi todas) pero no en la ESP32. Así que vamos a inicializar led_gpio por pin 32:
const byte led_gpio = 32;
Y vamos a modificar el LED_BUILTIN por led_gpio.
Quedaría así:
const byte led_gpio = 32;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(led_gpio, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(led_gpio, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led_gpio, LOW); // turn the LED off by making the voltage LOW
delay(100); // wait for a second
}
Ahora solo queda compilar el programa y subirlo a la placa...
- "Oooooh!!" No funciona.
Nos da el siguiente error:

Acordémonos de apretar el botón BOOT de la placa durante el proceso de subida del programa a la misma.
Veamos el proceso final en el siguiente video: