About this project
Microflow is an open-source visual programming tool for making Arduino hardware interactive without writing code. Users drag about 40 nodes—grouped into Sense, Generate, Shape, Decide, and Express—onto a canvas to wire buttons, potentiometers, motion and distance sensors, LEDs, LED strips and matrices, servos, steppers, relays, piezo tones, I²C devices, and NFC readers.
Key capabilities:
- Live editing: Changes are sent to the board immediately. No compiling, uploading, or restarting is needed.
- Cross-platform: Runs in Chrome or Edge via Web Serial, or as a Tauri desktop app for macOS, Windows, and Linux. Supports Arduino Uno, Nano, Mega, Leonardo, Micro, and ESP32.
- Standalone export: A flow can be exported as a self-contained .ino Arduino sketch.
- Design tool integration: Figma and Penpot plugins link design variables and tokens to flows over MQTT, enabling physical knobs to control design elements and vice versa.
- Beyond-hardware nodes: MQTT, MIDI, LLMs, keyboard hotkeys, and custom JavaScript functions.
- AI assistance: An Ask AI feature can add and wire nodes from a natural-language description, using any OpenAI-compatible provider (OpenAI, OpenRouter, Ollama, LM Studio, or Claude Code in the desktop app).
- Real-time collaboration: Multiple users can edit a flow simultaneously with live cursors, share by invitation, and publish or fork community flows.
Architecture: The flow runtime is written in Rust using a sans-IO design, compiled to WebAssembly for the browser and run natively in the desktop app. The UI is built with React Flow and Yjs for collaboration. The monorepo also includes a Hono/tRPC API server, Figma and Penpot plugin packages, and a documentation site. Licensed under GPL-3.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.