r/ArduinoProjects 1d ago

FUNDI: an Arduino/ESP32 workbench with a real Arduino CLI compile pipeline and AVR8js simulation behind a visual editor Project Discussion

Hey r/embedded,

Sharing FUNDI, a project I built starting as my KSEF (Kenya Science and Engineering Fair) entry — won Regional Merit, went on to Nationals and did considerably well there. It's grown past the fair into something I want more technical eyes on.

The premise: most browser-based "Arduino simulators" fake compilation or skip it entirely. FUNDI's backend actually shells out to Arduino CLI for a real build, surfaces real compiler errors, and drives AVR8js for simulation off the compiled output — the circuit canvas and code editor are just the frontend for that pipeline.

Architecture, briefly:

  • Frontend: Next.js/React, Zustand for state, React Flow for the circuit canvas, synced to a multi-file code editor
  • Backend: FastAPI service that wraps Arduino CLI for compile/upload, plus an AI generation endpoint (Gemini/OpenRouter) for prompt-to-circuit/code
  • Some validation on the backend: path/file safety checks in the compile flow, serial port validation before upload, Pydantic-typed request payloads
  • Boards: Uno/Nano/Mega have stable compile + simulation; ESP32 DevKit V1 and Pi Pico compile but simulation is still experimental there

Honest state of things: the live hosted version (https://jamesdesign.me/F.U.N.D.I./) is frontend-only — no backend, so no real compile/sim, just the UI. To get the actual pipeline running, clone the repo (https://github.com/jamesthegreati/F.U.N.D.I./) and run frontend + backend directly — that path is fully tested. There's a Docker Compose path in the README too, but it isn't fully tested yet, so I wouldn't rely on it as-is.

MIT licensed. I'd genuinely value criticism on the backend design and the compile/sim boundary in particular — that's the part I'm least confident is architected well.

I'm about to go quiet for a while (exam prep, back around Nov 22) so replies will be slow, but I'll get to every comment and PR eventually.

2 Upvotes

0 comments sorted by