
PleaseDontCode is a browser-based development platform that lets users create embedded firmware for ESP32, Arduino, and 35+ other boards by describing projects in natural language. The AI generates hardware-aware code with verified pin assignments, compiles it via arduino-cli, and flashes it directly over USB or WiFi. It also supports over-the-air updates for fleets of deployed devices.
Funding
Funding not disclosed
Founders
Product
Problem
Creating firmware for microcontrollers like ESP32 and Arduino typically requires writing C++ code, managing pin assignments, and manually debugging compilation errors. Generic AI chatbots produce code that looks plausible but often fails on real hardware due to incorrect GPIO usage, incompatible libraries, or pin conflicts. This steep learning curve limits hobbyists and professionals who want to prototype embedded devices quickly.
Solution
PleaseDontCode provides a browser-based platform where users describe their desired device behavior in chat and the AI generates complete, hardware-aware firmware. The system knows the pin map, voltage, I/O limits, and core of each supported board, and it produces a wiring schematic synchronized with the code. It compiles the firmware through arduino-cli, automatically fixes errors, and flashes the binary directly to the board over USB or via WiFi using POTA (Programming Over The Air). Users can iterate by chatting to add features, with each change versioned for easy rollback.
Target Audience
Primary users are embedded systems hobbyists, IoT developers, and product teams who need to prototype or deploy firmware for ESP32, Arduino, and similar boards without deep C++ expertise.
Features
- Hardware-aware AI that validates pin assignments, voltage limits, and I/O constraints for 35+ boards including ESP32, ESP8266, and Arduino variants
- Automatic wiring schematic generation that stays in sync with the generated code
- Integrated compilation via arduino-cli with AI-driven error fixing until the firmware builds cleanly
- Direct browser-based USB flashing and POTA (Programming Over The Air) for updating single devices or entire fleets over WiFi
- Version control for every code change, allowing users to revert to previous iterations
- Chat-based interface supporting natural language project descriptions and iterative feature additions