7.1 · Raspberry Pi 5
Raspberry Pi 5: setup inicial. RPi OS / Debian. Primer arranque, SSH, configuración básica
Texto Anton
Lectura 6 min
17 April 2026
Gestión de energía: USB-C PD, UPS HAT, passthrough, consumo total del conjunto, apagado limpio (botón GPIO + script + MOSFET corta alimentación). Diagrama de circuito
La energía es lo que convierte una Raspberry Pi de sobremesa en un cyberdeck de verdad portátil. Y también es la parte donde más fácil es estropear el sistema de ficheros o quemar componentes. En este artículo vemos cómo alimentar el conjunto, hacerlo autónomo con batería y, sobre todo, apagarlo de forma limpia.
La Pi 5 es exigente con la alimentación. Espera 5V / 5A por USB-C con Power Delivery (PD, el estándar por el que fuente y dispositivo negocian cuánta tensión y corriente entregar; aquí 25W). Con una fuente PD que no negocie esos 5A, la placa arranca pero limita la corriente disponible para los puertos USB a 600 mA, lo que puede dejar sin alimentar discos, radios o periféricos del deck. El primer principio de tu diseño de energía es: garantizar 5V estables con corriente suficiente para la Pi más todo lo que cuelga de ella.
Comprueba siempre el estado eléctrico:
vcgencmd get_throttled
Un 0x0 significa alimentación correcta. Cualquier bit de undervoltage (subtensión: la placa detecta que los 5V caen por debajo del mínimo seguro) encendido indica que tu fuente o tu cableado no dan la talla.
Antes de dimensionar batería, suma el consumo de todo el deck:
Un deck típico se mueve entre 5 y 15 W. Mide el consumo real con un medidor USB-C intercalado antes de decidir capacidad de batería; las estimaciones de hoja de datos suelen quedarse cortas.
Si quieres alimentar el deck desde una power bank o cargador PD del mundo real, te interesa un PD trigger (disparador): un pequeño módulo que negocia con la fuente PD el perfil de tensión que necesitas (por ejemplo 5V/5A, o 9V/12V si luego conviertes a 5V con un buck de calidad, un convertidor reductor que baja una tensión a otra menor con buen rendimiento). Así aprovechas baterías USB-C comerciales potentes en lugar de depender de la fuente oficial.
Para autonomía e ininterrumpibilidad, la solución más limpia es un UPS HAT (UPS, Uninterruptible Power Supply, lo que en español llamamos SAI, sistema de alimentación ininterrumpida; en formato HAT, es decir, de placa acoplable sobre la Pi) que monta celdas 18650 (un formato cilíndrico estándar de batería de litio, 18 mm de diámetro por 65 mm de largo) o 21700 de litio. Hay opciones de DFRobot, Geekworm (serie X120x), Waveshare, Sixfab o PiSugar. Lo que buscas en un buen UPS HAT para la Pi 5:
El passthrough es clave: sin él, al conectar la red de pared el sistema puede reiniciarse, y un corte de batería con escrituras pendientes corrompe la microSD o el SSD.
Un cyberdeck no tiene botón de encendido como un portátil. Si simplemente cortas la corriente, arriesgas el sistema de ficheros. La solución elegante combina tres elementos: un botón en un pin GPIO (las patillas de propósito general de la Pi), un script que ejecuta el apagado del sistema, y un MOSFET (el transistor que actúa como interruptor electrónico que viste en el módulo 3) que corta físicamente la alimentación cuando ya es seguro.
La idea, a nivel conceptual (el MOSFET de canal P en high-side es el que corta por el lado positivo de la alimentación, entre la batería y la Pi):
[Batería/UPS] ---> [MOSFET de potencia (P-channel high-side)] ---> [Pi 5 5V]
|
| (gate controlada por...)
|
[Botón pulsador] --> [GPIO entrada] --> (script Python) --> [GPIO salida] --> gate
El flujo de funcionamiento:
sudo shutdown -h now.En la práctica, los buenos UPS HAT ya integran toda esta lógica con su propio microcontrolador, y solo tienes que instalar su servicio. Pero entender el circuito te permite construirlo tú o depurar el del HAT.
Con la librería moderna gpiozero (la librería de Python que maneja los GPIO de la Pi con una sintaxis sencilla), el script es muy corto:
from gpiozero import Button
from signal import pause
import subprocess
# Botón en GPIO 3 (pin físico 5), entre el pin y masa
boton = Button(3, hold_time=2)
def apagar():
subprocess.run(["sudo", "shutdown", "-h", "now"])
boton.when_held = apagar
pause()
Usar when_held con hold_time=2 evita apagados accidentales por un roce: hay que mantener pulsado dos segundos. Registra el script como servicio systemd (el gestor de servicios y arranque de la mayoría de Linux modernos, que se encarga de lanzar procesos al inicio y mantenerlos vivos) para que arranque solo:
sudo systemctl enable --now boton-apagado.service
El GPIO 3 tiene una ventaja extra: en la Pi, un pulso a masa en ese pin también reenciende la placa si está apagada (en estado halt), con lo que el mismo botón sirve para encender y apagar.
La energía bien resuelta es la diferencia entre un deck que aguanta una jornada de campo y uno que se corrompe a la primera. Dedícale tiempo: es la base sobre la que se apoya todo lo demás.
Del blog al libro Este post forma parte del temario de Guía del constructor de cyberdecks. El libro completo incluye el capítulo de UX y dotfiles, el árbol de alimentación paso a paso y los scripts del repo complementario.
Ver el libroRaspberry Pi 5: setup inicial. RPi OS / Debian. Primer arranque, SSH, configuración básica
Texto Anton
Lectura 6 min
Almacenamiento: microSD vs SSD (USB/NVMe HAT), benchmark, cuándo merece la pena
Texto Anton
Lectura 6 min
Estamos preparando algo. Vuelve pronto.
Novedades y montajes.
Directo a tu correo.
Sin spam.
Sin anuncios.
Al suscribirte aceptas recibir correos del taller. Puedes darte de baja cuando quieras.