Tu Raspberry Pi puede hacer mucho mas que abrir el navegador o correr un servidor casero. La verdadera diferencia con un PC normal esta en esa hilera de pines metalicos al borde de la placa: los GPIO. Son la puerta de entrada a la electronica fisica, y con ellos puedes prender luces, leer sensores, mover motores o armar tu propia domotica. En esta guia vas a entender que son los GPIO, como se numeran sin equivocarte, y vas a dejar tu primer LED parpadeando con unas pocas lineas de Python. Lo unico que necesitas es perderle el miedo a la protoboard.

Que vas a aprender
- Que significa GPIO y por que estos pines son tan flexibles.
- Como esta organizado el header de 40 pines y la diferencia clave entre numeracion BOARD y BCM.
- Como conectar y programar un LED con la libreria moderna gpiozero.
- Que son I2C, SPI y UART, y cuando conviene cada uno.
Que significa GPIO
GPIO viene de General Purpose Input/Output: entrada y salida de proposito general. La gracia esta justamente en esas dos palabras finales. A diferencia de un puerto USB, cuya funcion ya viene fija de fabrica, un pin GPIO no tiene un rol predefinido. Eres tu, desde el software, quien decide si ese pin trabaja como entrada (por ejemplo, para leer el estado de un boton) o como salida (para encender un LED o activar un motor). Esa libertad es lo que convierte al Raspberry Pi en una plataforma tan potente para hacer proyectos.
Advertencia importante sobre cortocircuitos. Los pines GPIO trabajan con una logica de 3,3 voltios. Al contrario de muchas placas Arduino que toleran 5V, el Raspberry Pi no perdona errores: si aplicas 5V a un pin GPIO de 3,3V o provocas un cortocircuito directo, puedes danar tu Raspberry Pi de forma irreversible. Trabaja siempre con cuidado y desconecta la placa de la corriente antes de enchufar o cambiar cables.
El header de 40 pines: como se organiza
Desde el Raspberry Pi B+, casi todos los modelos (Pi 2, 3, 4, 5 y Zero) traen un header de 40 pines. Esos 40 pines se agrupan en tres categorias:
- Alimentacion: dos pines entregan 5V (tomados directo de la fuente) y dos pines entregan 3,3V.
- Tierra (GND): ocho pines hacen de polo negativo comun para todos los circuitos.
- GPIO reales: los 26 pines restantes se pueden programar libremente o usar para protocolos de hardware especiales (I2C, SPI, UART).

El detalle que confunde a todos: BOARD vs BCM
La primera vez que programas casi siempre tropiezas con la numeracion de los pines, porque conviven dos sistemas que NO hay que mezclar:
- BOARD (numero fisico del pin): los pines se cuentan de forma corrida del 1 al 40. Arriba a la izquierda esta el pin 1 (3,3V), al lado el pin 2 (5V), abajo el pin 3 (SDA), y asi. Esta numeracion nunca cambia.
- BCM (Broadcom SOC Channel): es el nombre interno del procesador Broadcom que lleva la placa. Los numeros BCM parecen repartidos al azar. Por ejemplo, el pin fisico 11 corresponde al BCM 17 (es decir, GPIO 17).
El consejo practico: elige un sistema y se consistente. La libreria gpiozero, que vamos a usar, trabaja por defecto con numeracion BCM, asi que cuando digamos GPIO 17 nos referimos al pin fisico 11. Si te apoyas en un buen diagrama de pinout y revisas dos veces antes de conectar, te ahorras la mayoria de los errores.
Conectar y programar un LED
El clasico "Hola Mundo" de la electronica es hacer parpadear un LED. Para eso vamos a usar gpiozero, la libreria de Python moderna y recomendada por la propia Raspberry Pi Foundation. Conectaremos el LED al pin fisico 11 (BCM 17 / GPIO 17) y a un pin de tierra (por ejemplo, el pin 6).

Un LED jamas se conecta directo a una fuente sin una resistencia limitadora, porque se quema al instante. En este caso usamos una resistencia de 330 ohm. Ademas, fijate en las patas del LED: la pata larga es el anodo (positivo) y la pata corta es el catodo (negativo).

El armado en la protoboard
- Conecta un cable jumper desde el pin 6 (GND) del Raspberry Pi al riel negativo (azul) de la protoboard.
- Inserta la pata corta (catodo) del LED en el riel negativo.
- Inserta la pata larga (anodo) en la zona principal de la protoboard.
- Conecta la resistencia de 330 ohm a la pata larga del LED.
- Conecta el otro extremo de la resistencia, mediante un cable jumper, al pin 11 (GPIO 17) de tu Raspberry Pi.
El script en Python
La libreria gpiozero ya viene preinstalada en el Raspberry Pi OS actual (Bookworm). Crea un archivo nuevo en tu Pi:
nano blink.py
Pega el siguiente codigo (recuerda que gpiozero usa por defecto la numeracion BCM):
from gpiozero import LED
from time import sleep
# LED an BCM 17 (Physischer Pin 11) definieren
rote_led = LED(17)
while True:
rote_led.on() # LED einschalten (HIGH)
sleep(1) # 1 Sekunde warten
rote_led.off() # LED ausschalten (LOW)
sleep(1) # 1 Sekunde warten
Guarda el archivo (CTRL+O, Enter, CTRL+X) y ejecuta el script:
python3 blink.py
El LED deberia parpadear cada un segundo. Para detener el programa, presiona CTRL+C.
Como funciona por dentro (y que hacer si no enciende)
La logica es simple: LED(17) le dice a gpiozero que el GPIO 17 sera una salida. Luego .on() pone el pin en estado HIGH (3,3V) y .off() lo deja en LOW (0V). El sleep(1) solo congela el programa un segundo entre cada cambio, que es lo que percibes como parpadeo.
Si el LED no enciende, revisa en este orden: que la pata corta este en el riel de tierra (un LED al reves no conduce), que la resistencia este realmente en serie con la pata larga, y que el cable de senal llegue al pin fisico 11 y no a un pin vecino. Casi todos los errores de principiante son de cableado, no de codigo.
Otras interfaces: I2C, SPI y UART
Ademas de prender y apagar pines, algunos GPIO soportan protocolos de comunicacion serial para manejar displays, sensores o incluso otros microcontroladores:
- I2C (Inter Integrated Circuit): usa solo dos pines (SDA para datos, SCL para reloj) y puede controlar hasta 127 dispositivos en el mismo bus. Muy popular para pantallas OLED pequenas y sensores ambientales.
- SPI (Serial Peripheral Interface): mas rapido que I2C, pero necesita mas cables (MOSI, MISO, SCLK, CS). Se usa harto para pantallas de tinta electronica y conversores analogico digital veloces.
- UART (serial): la clasica consola serial (TX/RX) para enviar comandos directo a la Pi o conectar modulos GPS.
Estas interfaces vienen desactivadas por defecto. Para habilitarlas, corre la herramienta de configuracion con sudo raspi-config y entra en la seccion Interface Options.
Variantes y mejoras
Una vez que tengas el LED parpadeando, puedes subir el nivel sin cambiar casi nada del hardware:
- Controlar el LED con un boton: agrega un pulsador a otro GPIO configurado como entrada y, con la clase
Buttonde gpiozero, prende el LED solo cuando lo presionas. Es la mejor forma de entender la diferencia entre input y output. - Regular el brillo con PWM: en lugar de
LED, usa la clasePWMLEDy la propiedadvalue(de 0 a 1) para atenuar el LED de forma suave, en vez de solo encenderlo o apagarlo. - Pasar a un sensor real: reemplaza el LED por un sensor ambiental I2C, como un BME280, y muestra temperatura y humedad. Aprovechas el mismo cableado base y das el salto de "salida" a "lectura de datos del mundo real".
Personalizacion para Chile
No necesitas importar nada: todo lo de esta guia lo encuentras con stock local en MechatronicStore.
- Raspberry Pi 5 4/8GB RAM (wc_id 35635) desde $107.990. Es la placa ideal para esta guia porque trae el header de 40 pines completo. Si el tutorial original menciona modelos viejos como el Pi 3 o 4, el Pi 5 cumple exactamente la misma funcion de GPIO y va mas rapido.
- Protoboard 830 puntos GL-12 (SKU C-320, wc_id 23097) por $3.790. Imprescindible para armar el circuito sin soldar.
- Cables macho hembra 30cm (SKU C-418, wc_id 9284) por $1.990. Son los jumpers correctos para ir desde los pines del Raspberry Pi a la protoboard.
- Resistencias 1/4W variedad de valores (wc_id 4731) por $100 la unidad. Pide la de 330 ohm para limitar la corriente del LED.
- Pack 100 Leds Colores (SKU D-503, wc_id 28404) por $4.500. Te deja LEDs de sobra para este proyecto y los siguientes.
Recursos
- Tutorial original (aleman): Alles über GPIO Pins am Raspberry Pi por Philipp Schweizer en raspberry.tips.
- Documentacion oficial de gpiozero: gpiozero.readthedocs.io
- Diagrama de pinout y documentacion GPIO de la Raspberry Pi Foundation: raspberrypi.com
Guia chilena inspirada en el trabajo de Philipp Schweizer, con componentes en stock local en MechatronicStore.



