Inspiration

i first started working with micro-controllers during a college assignment, it was brutal. i had no idea how to build it, let alone any platforms that could help me reliably simulate and build the project. This experience birthed the idea of an AI-assisted workspace where you can ture simple language into fully blown arduino projects.

What it does

SimuIDE is an Arduino workspace where users can: Describe a project in natural language (for example, “build a 4-LED alternating blink circuit”) and it Auto-generates circuit components, wiring, and Arduino C++ code. Run build/verify and simulation flows directly in the same UI. Iterate quickly with AI guidance for wiring, debugging, and code updates

How we built it

Frontend: React + TypeScript + Vite for the interactive workspace and circuit canvas. Simulation/Canvas: Wokwi elements + custom wiring/state logic for component placement and connection handling. Backend: Node.js + Express APIs for AI orchestration, compile/build routes, and project operations. AI agent layer: Python agent pipeline for action planning (place components, wire, update code, verify, simulate), with guardrails and action normalization. Compiler integration: Arduino CLI-powered compile/upload service. Data/state: Session/project persistence and action history management.

Challenges we ran into

Unstructured model output: AI responses weren’t always clean JSON; we had to add robust parsing, normalization, and fallback handling.

Wiring reliability: Partial or malformed connection plans caused incomplete circuits; we added post-processing to auto-complete critical wiring paths.

Label/render corruption: Some malformed payloads leaked into component labels as raw JSON; we implemented sanitization and deterministic fallbacks.

Accomplishments that we're proud of

Built a working natural-language-to-Arduino workflow in a single environment. Integrated AI, circuit generation, code generation, compile, and simulation into one smooth loop. shipped a practical tool that genuinely lowers entry barriers for beginners.

What we learned

Reliability matters more than raw generation quality in developer tools. Iterative testing across frontend/backend/agent boundaries is critical. “Simple prompt -> working project” is possible, but only with careful orchestration and validation.

What's next for SimuIDE

expand component and board support (ESP32, sensors, modules, communication buses). Add smarter electrical validation (short/open detection, pin capability checks). Improve AI planning with step-by-step explainability and confidence scoring. Introduce collaborative project sharing and versioned design snapshots. Add guided learning mode for students (why each wire/code block exists). Optimize performance for larger circuits and multi-file Arduino projects. Add oscilloscope view mode for debugging circuits and better visualization

Built With

  • ai-agent-endpoints-(/api/ai/*)
  • apis
  • artifact-registry
  • avr-toolchain-(avr-g++)
  • avr8js-for-simulation-support-database:-mongodb-atlas-(via-mongoose)-cloud/devops:-docker
  • c++-(arduino-sketches)
  • circuit/project
  • concurrently-integrations/apis:-arduino-compile/upload-rest-endpoints
  • cors
  • custom-python-agent-orchestration-hardware/simulation:-arduino-cli
  • docker-compose
  • dotenv
  • eslint
  • express-async-errors-ai/ml:-google-gemini-apis-(@google/genai)
  • express.js
  • google-cloud-build
  • google-cloud-run
  • html/css-frontend:-react
  • html2canvas-backend:-node.js
  • hugging-face-tooling-(transformers
  • iam-build/tooling:-npm
  • javascript-(node.js)
  • languages:-typescript
  • litellm-in-workflow)
  • monaco-editor
  • python
  • secret-manager
  • torch
  • typescript-compiler
  • vite
  • wowki/elements
  • zustand
Share this project:

Updates