🔧 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:

  1. Describe a project in plain English (e.g., "Control an LED with a button").
  2. 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
  3. 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 + JS interface 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.
  • 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

🚧 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”)
  • .ino and .json file 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

  1. Clone this repo
  2. Make sure Python ≥ 3.8 is installed
  3. Install dependencies: bash pip install -r requirements.txt
  4. Set your API key in an .env file: env PERPLEXITY_API_KEY=your_api_key_here
  5. Run the app: bash uvicorn main:app --reload
  6. Visit http://localhost:8000 in 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! 🤖⚡

Built With

Share this project:

Updates