<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/ben-nuttall-gpiozero-flow-fmpc7nlvn" -->

---
title: Ben Nuttall — gpiozero flow | daily.dev
description: Ben Nuttall, creator of the gpiozero Python library for Raspberry Pi, shares the story of building gpiozero-flow — a web-based visual programming tool that...
canonical: https://daily.dev/posts/ben-nuttall-gpiozero-flow-fmpc7nlvn
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Ben Nuttall — gpiozero flow | daily.dev
og:description: Ben Nuttall, creator of the gpiozero Python library for Raspberry Pi, shares the story of building gpiozero-flow — a web-based visual programming tool that...
og:url: https://daily.dev/posts/ben-nuttall-gpiozero-flow-fmpc7nlvn
og:image: https://api.daily.dev/og/posts/fMPC7NLvn.png
og:image:alt: Ben Nuttall — gpiozero flow
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Ben Nuttall — gpiozero flow

**[Hacker News](https://daily.dev/sources/hn)** · 7 min read · 0 upvotes · 0 comments

## Summary

Ben Nuttall, creator of the gpiozero Python library for Raspberry Pi, shares the story of building gpiozero-flow — a web-based visual programming tool that lets users drag and drop GPIO devices onto a canvas and connect them using gpiozero's source/values paradigm. The tool includes a Python code generator, a websocket agent that runs on the Pi for live GPIO control, shareable canvas links via compressed JSON base64 encoding, and support for nearly all gpiozero devices. Claude was used to accelerate development, particularly for the JavaScript-heavy frontend. The project is published as a Python package on PyPI and hosted at flow.bennuttall.com.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://bennuttall.com/blog/2026/07/gpiozero-flow>

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 52 comments across hackernews (as of 2026-07-30).

**TL;DR:** The community is broadly interested in visual/flow-based programming for GPIO/RPi but quickly pivots to a wide debate about whether visual programming tools ever gain real traction, citing many domain-specific successes (Houdini, Simulink, Unreal Blueprints) while noting they tend to hit a wall requiring a 'code node'.

**Sentiment:** 40% positive · 40% mixed · 20% skeptical

**The case for**

- Domain-specific visual/dataflow tools (Houdini, Simulink, Unreal Blueprints, Node-RED, Touchdesigner) have proven real-world utility in specialized fields.
- Dataflow/visual programming is especially valuable for pipeline-like or physical-modeling tasks where quick iteration matters.
- Hierarchical composition of subgraphs mirrors the abstraction power of traditional code libraries.
- The tool could be a good on-ramp for non-programmers to build programmatic intuition.

**The pushback**

- Visual programming tools almost universally reach a point where users must fall back to a 'code node', limiting the tool's evolution.
- Visual graphs become unwieldy quickly for complex real-world logic, often harder to reason about than text.
- The paradigm mainly suits non-programmers; experienced developers rarely prefer it over writing code.
- No discussion of compatibility with microcontrollers like Pi Pico or ESP32, where a full Linux OS is overkill for GPIO tasks.

**By community**

- hackernews (mixed): Commenters acknowledge niche successes for visual/dataflow programming but are skeptical of broad traction, frequently citing the 'code node' escape hatch as a fundamental limitation.

**Hottest debate:** Whether visual programming tools can ever scale beyond niche domains without inevitably requiring users to fall back to writing code.

**Open questions**

- Could this approach be extended to microcontrollers like Pi Pico 2 or ESP32 without a full Linux OS?
- What is the right visual abstraction for more complex stateful logic (e.g., state machines, conditional branches)?
- Will hierarchical/compositional features be added to make larger graphs manageable?

**Highlights**

> the problem is every visual programming tool eventually reaches the point where you need a 'code node' and then everyone just writes code
> — [luciana1u on hackernews · 5 comments](https://news.ycombinator.com/item?id=49108836)

> I don't know, "node-based" interfaces as a concept seem to have made inroads into quite a number of (specialized) fields, e.g. image processing or movie postproduction. My takeaway is that simply visualizing the AST of a procedural language doesn't do much in reducing the complexity and just makes it harder to read or edit long programs. In contrast, visualizing data flow graphs can have real utility. Also, the general question is who is the target audience: It seems pretty obvious to me that programmers who live and breathe code wouldn't be very enthusiastic about visual programming. But that might be different for other professions that don't have that kind of coding expertise. Also, a lot of programming skill is about keeping the logical abstractions and runtime state in your head that your code will create - not so much reading what is on the screen. That's far easier if you have written the code yourself than if you have to get familiar with existing code. Thanks to agents, the second case is becoming the dominating situation now, so clever visualizations that help you make sense of existing code and its runtime state might be in demand in the future.
> — [xg15 on hackernews](https://news.ycombinator.com/item?id=49108827)

> Houdini (VFX/3D tool), virtually unchallenged in some of its domains, it's basically visual programming. Very basic what you'd do inside of Houdini when working with it (with screenshots): https://www.sidefx.com/docs/houdini/basics/intro.html Unreal Engine also have "Blueprints" for game logic that remains fairly popular, maybe not always as the underlying systems, but at least as a control surface for game designers, like a "API" kind of. If you're curious how out of control and wacky these sort of graphs can get, https://blueprintsfromhell.tumblr.com/ has a bunch of fun examples.
> — [embedding-shape on hackernews](https://news.ycombinator.com/item?id=49108683)

> A key feature about data-flow programming that seems too often missed is that it is (or can be) hierarchical. Define a subgraph of atomic nodes as itself a node with its ports formed from as-yet unconnected ports of its atomic constituents.  Compose yet higher subgraphs of subgraphs and atomic nodes.  Package all this in some way. This is directly analogous to syntactic programming where functions aggregate other function calls and all that packaged into a library with an API.
> — [frumiousirc on hackernews](https://news.ycombinator.com/item?id=49108264)

> I think this looks like a great idea for the kind of automation people often use GPIOs for. I wonder what the complexity would be to make gpiozero that is compatible with Pi Pico 2 or ESP32 devices? A full Linux OS can be overkill for just controlling some GPIOs. That said, a Pi Zero 2 W is only marginally larger than a Pico 2.
> — [pseudosavant on hackernews](https://news.ycombinator.com/item?id=49116555)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=49108048) · 55 points · 52 comments

## Similar posts on daily.dev

- [Hacking the WiFi-enabled color screen GitHub Universe conference badge](https://daily.dev/posts/hacking-the-wifi-enabled-color-screen-github-universe-conference-badge-0fjlkkqqq) · Simon Willison · 1 upvotes · 0 comments
- [PICOTTY project enables multi-target serial remote management through Raspberry Pi Pico boards and Pi Zero 2 W SBC](https://daily.dev/posts/picotty-project-enables-multi-target-serial-remote-management-through-raspberry-pi-pico-boards-and-p-rcor7ceva) · CNX Software · 0 upvotes · 0 comments
- [Claude just turned Python from confusing into actually intuitive with one feature](https://daily.dev/posts/claude-just-turned-python-from-confusing-into-actually-intuitive-with-one-feature-uhheczhyw) · XDA Developers · 0 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python), [#claude](https://daily.dev/tags/claude), [#raspberry-pi](https://daily.dev/tags/raspberry-pi)

[View this post on daily.dev](https://daily.dev/posts/ben-nuttall-gpiozero-flow-fmpc7nlvn)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Ben Nuttall — gpiozero flow","url":"https://daily.dev/posts/ben-nuttall-gpiozero-flow-fmpc7nlvn","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/ben-nuttall-gpiozero-flow-fmpc7nlvn"},"datePublished":"2026-07-30T12:06:14.674Z","dateModified":"2026-07-30T23:20:28.910Z","description":"Ben Nuttall, creator of the gpiozero Python library for Raspberry Pi, shares the story of building gpiozero-flow — a web-based visual programming tool that...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6de1ca23de98fbb94ceade121e69b03c?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6de1ca23de98fbb94ceade121e69b03c?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/ben-nuttall-gpiozero-flow-fmpc7nlvn","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,claude,raspberry-pi","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"Ben Nuttall — gpiozero flow"}]}
```

