🔧 IOT Helping Hand
💡 Inspiration
Building Arduino projects is fun, but the setup process—researching components, wiring them correctly, and writing the code—can be time-consuming and intimidating for beginners. We wanted to simplify this by using AI to automate the entire workflow: from idea to working code and simulation layout.
We were inspired by:
- The growing maker and IoT community
- The power of large language models to interpret natural language
- The Wokwi simulator's ability to bring virtual Arduino projects to life
⚙️ What it does
The IOT Helping hand allows anyone to:
- Describe a project in plain English (e.g.,
"Control an LED with a button"). - Instantly receive:
- ✅ A list of required components
- ✅ Correct wiring instructions
- ✅ A complete Arduino sketch
- ✅ A Wokwi-compatible simulation layout (JSON format)
- ✅ An auto-generated SVG wiring diagram
- ✅ Natural language explanations for components, wiring, and code
- ✅ Ask custom questions about the generated project
- ✅ A list of required components
- Copy the code and JSON, and paste them manually into Wokwi to simulate and run the project.
🛠️ How we built it
- Frontend:
- A clean
HTML + JSinterface with integrated Vanta.js 3D animated background. - Hosted via FastAPI static file serving (no separate server needed).
- Includes explanation buttons, SVG visualization, and "Ask Me Anything" input.
- A clean
- Backend:
- Python server using FastAPI + CORS.
- Routes:
/generate-project→ returns components, wiring, code, and Wokwi JSON/explain-components→ explains the role of each component/explain-wiring→ details how and why the wiring works/explain-code→ breaks down the generated Arduino sketch/generate-svg→ uses LLM to return an inline SVG/ask-anything→ context-aware Q&A about the current project- Uses an LLM API (e.g., Perplexity or OpenAI GPT-4) with carefully engineered prompts.
- Wokwi Integration:
- Generates valid JSON using the Wokwi schema (
parts,connections, etc.) - SVG generation complements JSON with a diagram preview
- Generates valid JSON using the Wokwi schema (
🚧 Challenges we ran into
- Designing a strict prompt that outputs only clean, parseable JSON
- Mapping natural language parts to real Wokwi components and pins
- Preventing markdown/formatting errors in LLM responses
- Handling failed SVG generations with user-friendly fallback text
- Ensuring front-end UX remains smooth with real-time loading states
🏆 Accomplishments that we're proud of
- A full-stack app that goes from natural language → circuit → testable layout
- AI-generated components, code, wiring, JSON, and explanations
- SVG wiring diagrams rendered automatically for each project
- Ask anything box that allows users to clarify doubts with AI
- Modern 3D background using Vanta.js adds visual polish
📚 What we learned
- Prompt engineering is mission-critical for AI-powered tools
- LLMs can act as circuit assistants, code writers, and tutors
- Hosting frontend within FastAPI reduces dev friction
- SVGs are a great fallback for quick visual prototyping
- You don’t need iframe integration to provide powerful simulation workflows
🚀 What's next for IOT Connections
- ✅ Support for more boards (ESP32, NodeMCU, Raspberry Pi Pico, etc.)
- ✅ Voice-based input (e.g., “Build a smart weather station with a DHT11”)
- ✅
.inoand.jsonfile download/export buttons - ✅ Component vendor links for easy purchase
- ✅ Community gallery: Share, remix, and fork project ideas
- 🔄 Drag-and-drop visual editor for editing connections
- 🗣️ Multilingual interface for global reach
🧪 Getting Started Locally
- Clone this repo
- Make sure Python ≥ 3.8 is installed
- Install dependencies:
bash pip install -r requirements.txt - Set your API key in an
.envfile:env PERPLEXITY_API_KEY=your_api_key_here - Run the app:
bash uvicorn main:app --reload - Visit
http://localhost:8000in your browser
🙌 Made for Makers, Educators & AI Builders
This tool is ideal for:
- Students learning electronics
- Hobbyists building quick prototypes
- Teachers explaining circuit concepts
- Hackathon builders under time pressure
Enjoy building smart with AI! 🤖⚡
Log in or sign up for Devpost to join the conversation.