Introducción
¡Bienvenido a otro tutorial de Velxio! Hoy vamos a construir una prueba de Eco Serie para la Raspberry Pi Pico (RP2040). Este proyecto es perfecto para principiantes que quieran entender cómo funciona la comunicación serie en microcontroladores. Aprenderás a enviar y recibir datos a través de UART, añadir un indicador visual con un LED e implementar un temporizador de latido simple.

Recorrido del Circuito
El circuito es encantadoramente simple. Solo necesitamos dos componentes:
- Raspberry Pi Pico (el cerebro)
- LED amarillo (indicador visual de actividad serie)
Conexiones
- Conecta el ánodo (A) del LED amarillo al pin TX de la Pico. El pin TX se usa para la transmisión serie, por lo que cada vez que la Pico envía datos, el LED parpadeará.
- Conecta el cátodo (C) del LED a GND (cualquier pin de tierra de la Pico).
¡Eso es todo! El LED está conectado en serie con la línea TX, por lo que se enciende cuando la Pico transmite. Esto te da una confirmación visual de que los datos serie están fluyendo.

Recorrido del Código
Vamos a sumergirnos en el código. Abre el editor de Velxio y verás el siguiente boceto:
// Raspberry Pi Pico — Serial Echo Test
// Echoes received characters and prints a heartbeat every 2 seconds
void setup() {
Serial.begin(115200);
delay(500);
Serial.println("=== Pico Serial Echo ===");
Serial.println("Type something and press Enter.");
Serial.println();
}
unsigned long lastHeartbeat = 0;
void loop() {
// Echo any incoming characters
while (Serial.available()) {
char c = Serial.read();
Serial.print("Echo: ");
Serial.println(c);
}
// Heartbeat every 2 seconds
if (millis() - lastHeartbeat >= 2000) {
lastHeartbeat = millis();
Serial.print("[Heartbeat] Uptime: ");
Serial.print(millis() / 1000);
Serial.println("s");
}
}
Cómo Funciona
setup(): Inicializa la comunicación serie a 115200 baudios. Tras una breve pausa, imprime un mensaje de bienvenida.loop(): Dos tareas principales:- Eco: Comprueba si hay datos disponibles en el puerto serie. Si los hay, lee un carácter y lo imprime de vuelta con el prefijo “Echo:”.
- Latido: Cada 2000 milisegundos (2 segundos), imprime un mensaje de latido que muestra el tiempo de actividad del sistema en segundos.
La variable lastHeartbeat lleva la cuenta de la última vez que se imprimió el latido, usando millis() para una temporización no bloqueante.
Conceptos Clave
Comunicación Serie (UART)
UART (Receptor/Transmisor Asíncrono Universal) es un protocolo serie simple. El pin TX de la Pico envía datos y el pin RX los recibe. En este ejemplo, solo usamos TX para la salida, pero la función de eco también usa RX (a través del Monitor Serie).
Temporización No Bloqueante con millis()
En lugar de usar delay(), que pausa todo el programa, usamos millis() para comprobar el tiempo transcurrido. Esto permite que el bucle de eco se ejecute continuamente mientras sigue imprimiendo el latido a intervalos regulares.
LED como Indicador Visual
Al conectar el LED al pin TX, obtenemos una visualización en tiempo real de la actividad serie. Cada vez que la Pico envía un carácter, el LED parpadea brevemente.
Errores Comunes y Consejos de Depuración
- Velocidad de baudios incorrecta: Asegúrate de que el Monitor Serie esté configurado a 115200 baudios. Si ves caracteres extraños, verifica la velocidad de baudios.
- El LED no parpadea: Verifica la polaridad del LED (ánodo a TX, cátodo a GND). También comprueba que la Pico esté realmente transmitiendo (por ejemplo, escribe algo en el Monitor Serie).
- Sin eco: Asegúrate de que estás enviando datos al pin RX de la Pico. En Velxio, el Monitor Serie maneja esto automáticamente.
- El latido no se imprime: Comprueba que
lastHeartbeatesté declarada comounsigned longy que la lógica de comparación sea correcta.

Extensiones Sugeridas
Una vez que tengas el eco básico funcionando, prueba estas mejoras:
- Añadir un LED RX: Conecta otro LED al pin RX para mostrar cuándo se reciben datos.
- Análisis de comandos: En lugar de solo hacer eco, interpreta comandos como “LED ON” o “LED OFF” para controlar un LED externo.
- Múltiples velocidades de baudios: Permite al usuario cambiar la velocidad de baudios mediante un comando serie.
- Registro en consola: Almacena los datos recibidos en un búfer e imprímelos cuando se solicite.

Llamada a la Acción
¿Listo para probarlo tú mismo? Abre el ejemplo en vivo en Velxio y empieza a experimentar: Pico Serial Echo en Velxio. Puedes modificar el código, cambiar el color del LED o añadir nuevos componentes. ¡Feliz hacking!