⚡ ESP32-S3 Development Sessions

My ESP32 Journey
with Claude

A series of embedded development sessions — hardware detection, firmware, and real working code, all through conversation.

Freenove ESP32-S3 FNK0086
🤖 Claude Sonnet 4.6
🔌 USB → Flash pipeline
Dear Dr. Dave,

I want to tell you about something remarkable I experienced — a complete embedded development session with Claude, Anthropic's AI, that genuinely blew me away.

I sat down with a brand-new Freenove ESP32-S3 development kit — a proper little beast of a board with a 240 MHz dual-core processor, a 2.8" touchscreen, stereo speakers, a camera, and a heart rate sensor. I'd never used this exact board before, and I wanted to go from "just unboxed" to "running custom firmware" with Claude doing the heavy lifting.

What followed was one of the most impressive things I've seen an AI do. Claude detected the hardware over USB, identified the WCH serial driver, set up a Python virtual environment, read the actual firmware off the chip using esptool.py, wrote a full backup and restore script, then — after researching the exact GPIO pin assignments from Freenove's own GitHub repo — wrote a complete Arduino sketch that drives the LCD, reads touch input, and plays audio over I2S.

If you're doing any ESP32 work, Dave — Claude is the real deal. It's not hand-wavy "here's some code that might work." It reads the actual schematics, uses the real GPIO numbers, iterates on real compiler errors, and ships working firmware.

With genuine enthusiasm,
Richard · April 2026
Source Code

All sketches from these sessions live in a public GitHub repository:

github.com/binRick/esp32-dev-001

Each sketch has its own directory under sketches/ — complete Arduino source, wiring notes, and the compile/flash scripts Claude generated during the session.

Dev Sessions
What We Built
🔔
Button Beep
Touchscreen button that toggles a continuous 880 Hz tone through the onboard I2S speakers. FreeRTOS dual-core, envelope fading, full compile + flash automation.
7 steps ST7789 LCD I2S audio FreeRTOS
Truth Detector 3000
Biometric lie detector using the MAX30102 pulse sensor. Live scrolling BPM graph, 20 funny questions, bell & buzzer sounds, thumb-off detection, DMA audio flush.
8 steps MAX30102 BPM graph 5-state FSM
📀
DVD Screensaver
Classic bouncing DVD logo on the 2.8" LCD. Pixel-perfect collision detection at all four edges, cycling through 8 vivid colors on each bounce — zero flicker via TFT_eSprite double-buffering.
TFT_eSPI TFT_eSprite color cycling
💓
Heartbeat Visualizer
Real-time ECG waveform scrolling across the screen driven by the MAX30102 IR sensor. Live BPM counter, finger-present detection, freeze-on-tap, and a 240×264 px sprite for tear-free rendering.
MAX30102 TFT_eSprite FT6336U touch
🎨
Pixel Canvas
Touch-to-paint drawing app with an 8-color palette toolbar and 3 brush sizes. Tap Save to write a 24-bit BMP file to the microSD card — auto-numbered canvas_001.bmp … canvas_999.bmp.
FT6336U touch SD_MMC BMP writer
📡
WiFi Scanner
Scans for nearby 802.11 networks and renders a live dashboard: SSID, channel, RSSI signal-strength bars, and open/secured lock icons — all on the touchscreen, no serial monitor needed.
WiFi.h RSSI bars channel map