XDA covered a new batch of ESP32 educational robots this week, five years in the making, that let a beginner change behavior while the robot is still running. That live-programming trick used to require dedicated commercial boards. Now, thanks to a handful of open-source projects, any ESP32-based robot can be programmed in blocks, MicroPython, or C from a laptop and updated over the air in a second. We tested 7 desktop apps that make that possible.
What to look for in an ESP32 programming environment
Educational robotics has different requirements than firmware engineering. The best apps understand that.
- Block-based mode for absolute beginners, code mode for later
- Live coding, so changes appear on the robot without a full reflash
- Solid Wi-Fi or USB pairing without a driver dance
- Simulation so the code can be tried without the hardware plugged in
- Access to sensors, motors, servos, and LEDs through friendly names
- A community library so we do not write drivers for every sensor from scratch
- Free and preferably open source, because school budgets are tight
Quick comparison
| App | Best for | Platforms | Free | Cost | Rating |
|---|---|---|---|---|---|
| MicroBlocks | Live coding blocks on ESP32 | Windows, macOS, Linux, ChromeOS, web | Yes | Free | 4.7 (community) |
| Arduino IDE | The default first tool | Windows, macOS, Linux | Yes | Free | 4.6 |
| PlatformIO | Pro-grade IDE with device libraries | Windows, macOS, Linux, VS Code plugin | Yes | Free tier | 4.7 |
| Thonny | Python-first, beginner friendly | Windows, macOS, Linux | Yes | Free | 4.5 |
| ESP-IDF | Espressif’s official native SDK | Windows, macOS, Linux | Yes | Free | 4.4 |
| MakeCode for micro:bit | Block-first, works with ESP32 forks | Web, offline installer | Yes | Free | 4.7 |
| Wokwi | Simulate ESP32 boards in-browser | Web | Yes | 7/mo for Pro | 4.6 |
1. MicroBlocks, best for live coding blocks
MicroBlocks is what the XDA story is really about. Drop a block, click run, the block executes on the robot right now. Change the block, click again, no reflash. It supports ESP32, ESP8266, micro:bit, Calliope, and dozens of educational boards through a single interface. Every block corresponds to a Smalltalk-inspired VM running on the chip.
Where it falls short: block library is smaller than MakeCode’s, and the community is smaller too.
Pricing:
- Free: open source, MIT
- Paid: none
Platforms: Windows, macOS, Linux, ChromeOS, and a web version that pairs over Web Serial
Download: MicroBlocks | GitHub
Bottom line: pick MicroBlocks if the goal is teaching a class where kids can see their code affect a robot in the same second.
2. Arduino IDE, best as the default first tool
Arduino IDE version 2.x is the environment most tutorials assume. Install the ESP32 board package once, and any ESP32 board shows up as a target. It handles Wi-Fi provisioning, over-the-air updates, and library management. The IDE is C++-only, so this is not the tool for a six-year-old, but it is the tool a teenager will use next.
Where it falls short: build times on macOS are still slow, and the library manager sometimes downloads three copies of the same driver.
Pricing:
- Free: everything, no account required
- Paid: none (Arduino Cloud is separate)
Platforms: Windows, macOS, Linux
Download: Arduino IDE
Bottom line: the default. Every ESP32 project on the internet compiles here.
3. PlatformIO, best for pro-grade libraries and boards
PlatformIO runs as a VS Code extension and turns the editor into a full embedded IDE. It manages boards, frameworks, and libraries with a lockfile, so a project built today builds identically two years from now. The library registry has 20,000+ entries, including nearly every ESP32 sensor.
Where it falls short: pitched at intermediates and pros. Steep first-day experience for a total beginner.
Pricing:
- Free: unlimited local development
- Paid: PIO Labs plans for teams, from about 15/user/mo
Platforms: Windows, macOS, Linux, as a VS Code extension
Download: PlatformIO | VS Code Marketplace
Bottom line: the environment to graduate to once the Arduino IDE is holding the project back.
4. Thonny, best for MicroPython on ESP32
Thonny is a Python IDE for beginners with first-class MicroPython support. Point it at an ESP32 running the MicroPython firmware, and it acts like a REPL with a file browser, a debugger, and a variables inspector. Ideal for schools that already teach Python.
Where it falls short: no block editor, and the debugger can be slow over Wi-Fi.
Pricing:
- Free: open source
- Paid: none
Platforms: Windows, macOS, Linux, Raspberry Pi
Download: Thonny
Bottom line: the tool for the Python route. Flash MicroPython, open Thonny, write two lines of code, watch the LED blink.
5. ESP-IDF, best for native performance and every feature
ESP-IDF is Espressif’s official framework. It exposes every chip capability, from BLE mesh to secure boot. Nothing here is educational. But if a class project involves building a custom device, ESP-IDF is the layer everything else sits on.
Where it falls short: absolutely not a beginner tool. The build system is CMake plus a menu-driven config screen, and the docs assume C.
Pricing:
- Free: open source, Apache 2.0
- Paid: none
Platforms: Windows, macOS, Linux
Download: ESP-IDF
Bottom line: the exit ramp. When Arduino IDE and PlatformIO run out, this is what comes next.
6. MakeCode for micro:bit, best for the youngest coders
MakeCode started as Microsoft’s block editor for the micro:bit and now supports several ESP32-based educational boards through community targets. Blocks compile to JavaScript in the browser and flash to the board over WebUSB. The simulator on the left of the screen shows the code running before we plug anything in.
Where it falls short: ESP32 support depends on the specific board’s community fork, not every board is covered.
Pricing:
- Free: fully free, works offline in a downloadable app too
- Paid: none
Platforms: Web (Chromium browsers for WebUSB), Windows and macOS installer
Download: MakeCode
Bottom line: the tool for eight-year-olds. Blocks, a simulator, and a one-tap flash.
7. Wokwi, best for simulating before touching hardware
Wokwi simulates ESP32 boards, connected sensors, LEDs, and displays in the browser. Wire up a circuit visually, drop in Arduino or MicroPython code, and hit play. The simulation runs at real speed and includes Wi-Fi, so we can test MQTT publish without a physical board.
Where it falls short: not every sensor is modeled, and the free plan caps simulation time per session.
Pricing:
- Free: 15 min per simulation, common ESP32 boards, main sensor library
- Paid: 7/mo Pro (long simulations, every board, private projects)
Platforms: Web
Download: Wokwi
Bottom line: pair it with any of the above. Prototype in Wokwi, flash on real hardware once the wiring is right.
How to pick the right one
- For live-coding a robot with kids: MicroBlocks.
- For teenagers wanting to write C: Arduino IDE, upgrade to PlatformIO when the project grows.
- For a Python classroom: Thonny with MicroPython.
- For serious embedded work: ESP-IDF.
- For six- to nine-year-olds: MakeCode.
- For anyone still waiting on their robot to arrive: Wokwi.
Mind+ is worth a look too if the target audience is Chinese-speaking classrooms, since it ships bilingual and supports the popular MakeBlock and DFRobot boards out of the box.
FAQ
What is the easiest ESP32 app for total beginners?
MicroBlocks if we want live coding, MakeCode if we want a simulator alongside the editor. Both use blocks and neither requires a compile step visible to the user.
Can I run Python on an ESP32?
Yes. Flash the MicroPython firmware (about 1.5 MB) and use Thonny or the built-in REPL. Performance is fine for teaching, marginal for real-time signal processing.
Do I need Wi-Fi to program the robot?
No. USB serial is the default. Wi-Fi enables over-the-air updates and live coding in MicroBlocks, which is convenient but not required.
Can I use these tools on a Chromebook?
MicroBlocks and MakeCode both have web versions that work on a Chromebook through WebUSB or Web Serial. Arduino IDE requires Linux mode.
Which app should a school pick?
Schools we spoke to standardize on MicroBlocks or MakeCode for the first two years and move students who want more to Arduino IDE and PlatformIO in years three and four.