# Flexible for Arduino - ESP32 in JetBrains

Flexible for Arduino adds ESP32 and embedded development to JetBrains IDEs: build, flash, serial monitor, pin viewer, boot loop detection and JTAG debugging.


Okay, so - Flexible for Arduino.
I have a drawer full of ESP32 boards. You know how it goes. And the thing that always got me was the serial monitor: the board resets, spits out a Guru Meditation panic, resets again, and you sit there squinting at a wall of scrolling output trying to work out what died.
So the plugin watches for that now. Three resets in thirty seconds and it tells you which pattern it saw - brownout, watchdog timeout, stack overflow, flash corruption, a Guru Meditation panic with the backtrace pulled out - and what usually fixes it. That one feature has saved me a lot of swearing.
The rest is the boring-but-necessary stuff, done properly. Build backends for ESP-IDF, Arduino CLI, PlatformIO and Zephyr. One button that builds, flashes, opens the monitor and connects to the board (Ctrl+Alt+M). Serial monitor with COM port auto-detection filtered by ESP32/Arduino VID/PID, reset-on-connect, timestamps, the lot.
The Pin Viewer is my other favourite. It draws the actual chip, you click a pin, and the table tells you what it can do and whether your sketch is already using it. The Sketch Pin Mapper reads your const int and #define assignments, lets you reassign a pin from a dropdown, and rewrites the source for you.
Boards: ESP32 (S2/S3/C3/C6/H2/P4), ESP8266, Arduino Uno/Nano/Mega/Leonardo, RP2040 Pico, nRF52840, and the STM32 Nucleo/Blue Pill/Black Pill trio.
Pro adds JTAG debugging through OpenOCD, OTA upload over the network, a memory analyzer for RAM and flash per component, and a runtime device profiler.
Big thanks to @romaingrude for a run of genuinely good Pin Viewer bug reports.
Get it here: plugins.jetbrains.com/plugin/31027-flexible-for-arduino
