Fabnodes

FabNodes: networked hardware for fabrication and robotics

FabNodes is an open ecosystem of small hardware nodes (sensors, actuators, extruders, steppers, LEDs, end-effectors) built around one idea: every device on the bench should be easy to reach over the network. Each node is an ESP32 that joins ordinary Wi-Fi and exposes its functions as plain, human-readable MQTT topics. You can read and drive it by hand from a terminal, or from a dashboard, Blender or your own script.

FABNODES ON GITHUB

How it works

  • One topic, one signal. fab-led1/color takes [255,0,0]; fab-hello1/button publishes 1 when pressed. No JSON wrappers for control.
  • Nodes describe themselves. Every node publishes a manifest ($info) listing its signals, so any interface can build controls for it without being told anything.
  • Minimal firmware, logic outside. Nodes expose hardware capabilities and stay simple. Orchestration lives in higher layers: Animaquina and Blender, MQTTouch, or any MQTT client.
  • Built-in setup and safety. Nodes start in setup mode with a captive portal for Wi-Fi and broker settings, report availability, and support a latched software stop.
  • FabNodesCore library. A shared runtime handles setup, connections, discovery and diagnostics, so a new node is just pins, a list of signals and a few callbacks. Start from the fab-hello example.

Why

Robot integration usually means wiring every tool into the robot controller. FabNodes treats each end-effector as an autonomous, network-addressable device instead, so the robot does one job (motion) and tools can be designed, swapped and tested independently. This builds on the modular wireless hardware framework described in my ACADIA 2024 paper.

ROB|ARCH 2026: Best Workshop

FabNodes: Detangling Dependencies, a three-day workshop I taught with Karl Singline at ROB|ARCH 2026 (Aarhus School of Architecture, Denmark), received the Best Workshop award. Teams designed and built their own end-effectors as FabNodes and drove two KUKA arms from Blender with Animaquina. Read more on the lab site.

Part of a family

FabNodes works alongside the other tools I develop for Blender:

  • Animaquina: robot control and simulation in Blender.
  • PhyNodes: a node editor that wires sensors and actuators into Blender over MQTT or OSC.
  • GeoSlicer: slicing and G-code export from Geometry Nodes for CNC machines, 3D printers, laser cutters and plotters. It began as the original Fabnodes G-code exporter, which is still on Blender Extensions.

▶️ G-code exporter: install & basic usage