Arduino IDE with integrated Google Gemini AI Assistant for intelligent code generation and autonomous task execution
Arduino IDE AI Assistant is an enhanced version of Arduino IDE 2.x with Google's Gemini 2.5 (Flash / Flash-Lite) integration that provides:
- AI-powered code generation for Arduino sketches
- Autonomous agent mode that can create/modify sketches, install libraries, and verify code
- Contextual assistance based on your current sketch
- Conversation memory (rolling buffer + summarization) designed for long sessions
- Quota-aware defaults for Gemini 2.5 (250k input TPM, 10–15 RPM, plus daily caps)
Below are screenshots from the running Arduino IDE AI Assistant UI (left: AI / Spectre chat, right: editor + output). These images are stored in the static/ folder and shown here for quick reference.
- Ask questions about Arduino development
- Generate code snippets instantly
- Get debugging help and explanations
- Context-aware responses based on open sketches
- Accept high-level project goals ("create a weather station with DHT22")
- Automatically create sketches
- Install required libraries
- Select appropriate boards
- Compile and verify code
- Multi-step autonomous execution
- Dynamic conversation retention (rolling buffer + summaries)
- AI-powered summarization (configured for concise, structured summaries)
- Session persistence across restarts
- Smart token allocation for long conversations
- 100k token memory bank capacity
- Go to Releases
- Download
Arduino-IDE-AI-Assistant-Setup.exe - Run the installer
- Enter your Gemini API key when prompted
# Clone repository
git clone https://github.com/omartazul/arduino-ide-ai-assistant.git
cd arduino-ide-ai-assistant
# Install dependencies
yarn install
# Build the application
yarn build
# Package for Windows
cd electron-app
yarn packageThe installer will be in electron-app/dist/
- Visit Google AI Studio
- Create a new API key (free tier available)
- Copy the API key
- Open Arduino IDE AI Assistant
- Click the AI icon in the sidebar
- Enter your Gemini API key
- Choose your model (
gemini-2.5-flashorgemini-2.5-flash-lite)
Conversational Mode:
User: How do I read analog sensor on pin A0?
AI: Here's a simple example...
Agent Mode:
User: Create a temperature monitor using DHT22 sensor
AI: [Creates sketch, installs DHT library, sets up code automatically]
- Windows 10/11 (64-bit)
- Node.js 18.17.0 - 20.x
- Gemini API key (free tier available)
- Internet connection for AI features
- Frontend: Electron + Theia IDE framework
- Backend: Node.js + arduino-cli daemon
- AI Integration: Google Gemini 2.5 Flash/Flash-Lite
- Memory System: Dynamic rolling buffer with AI summarization
- Storage: localStorage for session persistence
- Rolling buffer: 40 messages (25k tokens)
- Memory bank: 100k tokens
- Summarization model:
gemini-2.5-flash-lite
- Input: 250k tokens per minute
- Requests: 10-15 per minute
- Requests per day: 250 (Flash) / 1000 (Flash-Lite)
- Output: 65,536 tokens max
arduino-ide-ai-assistant/
├── arduino-ide-extension/ # IDE extension code
│ └── src/
│ ├── browser/spectre/ # AI assistant frontend
│ ├── common/protocol/ # Service interfaces
│ └── node/ # AI backend implementation
├── electron-app/ # Electron application
├── docs/ # Documentation
└── SPECTRE_AI_DOCUMENTATION.md # Technical documentation
- Technical Documentation - Complete system architecture
- Building Guide - Build instructions
- Contributing Guide - Contribution guidelines
| Feature | Original IDE 2.x | Arduino IDE AI Assistant |
|---|---|---|
| Code assistance | Basic | AI-powered with Gemini |
| Code generation | Manual | Automatic |
| Library management | Manual search | AI suggests and installs |
| Project setup | Manual | Autonomous agent mode |
| Context awareness | Limited | Full sketch understanding |
| Learning curve | Steep | AI explains concepts |
- Learn Arduino programming with AI explanations
- Generate starter code for common projects
- Get help debugging errors
- Understand sensor interfacing
- Rapid prototyping with agent mode
- Code optimization suggestions
- Library recommendations
- Complex project scaffolding
- Teaching tool with interactive AI
- Generate example code for students
- Explain concepts in real-time
- Project ideas and implementations
- Memory overhead: <5ms per message
- Summarization: 2-4s (async, non-blocking)
- Agent operations: Depends on complexity
- UI responsiveness: Maintained during AI calls
- Requires internet connection for AI features
- Gemini API rate limits (free tier)
- Agent mode reliability depends on task complexity
- English language optimized (multilingual possible)
AI not responding:
- Check API key is valid
- Verify internet connection
- Check rate limits not exceeded
Agent mode loops:
- Use latest version (v3.3.8+)
- Clear session if issue persists
Memory issues:
- localStorage automatically manages 100k tokens
- Sessions persist across restarts
- Compression happens automatically
Contributions welcome! See CONTRIBUTING.md
This project maintains the original Arduino IDE license:
- License: AGPL-3.0-or-later
- Based on: Arduino IDE 2.x
- Framework: Eclipse Theia
- Original Arduino IDE: Arduino Team
- Spectre AI Integration: Tazul Islam (@omartazul)
- AI Model: Google Gemini 2.5
- Framework: Eclipse Theia
- Repository: https://github.com/omartazul/arduino-ide-ai-assistant
- Issues: https://github.com/omartazul/arduino-ide-ai-assistant/issues
- Original Arduino IDE: https://github.com/arduino/arduino-ide
- Gemini API: https://ai.google.dev/
arduino ide, arduino ai, gemini arduino, ai code generator, arduino assistant, arduino ide with ai, google gemini arduino, arduino code generation, ai arduino programming, intelligent arduino ide, arduino autonomous agent, arduino chatbot, arduino development ai, gemini api arduino, arduino ide 2.x ai, arduino machine learning, arduino copilot, arduino code helper
Star this repo if you find it useful! ⭐





