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
Log in or sign up for Devpost to join the conversation.