gpiozero Flow es una nueva aplicación web que permite programar dispositivos conectados a los pines GPIO de una Raspberry Pi mediante un lienzo visual en el que se arrastran componentes y se conectan entre sí con líneas. La herramienta nace de la biblioteca gpiozero, creada en 2015 para simplificar en Python el control de LEDs, botones, motores y sensores, abstrayendo conceptos como canales, voltajes o resistencias pull-up en operaciones de alto nivel: encender un LED, leer un pulsador o mover un motor.
La idea central es el flujo de valores entre dispositivos. Cada componente opera en un rango estándar (booleano 0/1, PWM de 0 a 1, motor de -1 a 1) y puede conectarse a otro para que el primero controle al segundo. Funciones como negated, inverted, clamped, scaled o sin_values permiten manipular o generar esos flujos, y un generador de código traduce el diagrama al código Python equivalente de gpiozero.
La versión inicial, publicada como paquete Python y alojada en flow.bennuttall.com, funciona como simulador en el navegador. También incorpora un agente que se ejecuta en la Raspberry Pi y se comunica por websockets para controlar los pines reales en modo Live. El autor, Ben Nuttall, señala que la herramienta es experimental y puede resultar útil como recurso de pensamiento computacional y de sistemas y control, aunque para lógica compleja sigue siendo necesario programar de forma procedural o basada en eventos.
