About
John O'Dell
I build small things that work: tools that flash and talk to microcontrollers right in the browser, hardware on the ESP32-P4 and the Raspberry Pi Pico, and games.
What I build
- P4 SDR - Wi‑Fi ‑ BLE A handheld radio receiver: an RTL-SDR dongle driven straight from an ESP32-P4, with a spectrum and waterfall, an aircraft map and Wi-Fi and BLE scanners. No PC, no Linux. C · ESP-IDF · USB host
- The Workbench Flash MicroPython, CircuitPython or ready-made firmware onto a Pico or an ESP32 from a web page, with a backup step first. JavaScript · Web Serial · Cloudflare Workers
- Ember, the desk pet A 4-inch ESP32-P4 box with a pet that levels up on GitHub activity. A bridge on the Mac does the thinking and talks to the box over MQTT. C · LVGL · Python · MQTT
- A Raspberry Pi screen on the P4 A driver and touch calibrator that run the cheap 3.5-inch Pi touchscreen on the ESP32-P4 at 10.8 frames a second, with no adapter. C · ESP-IDF · SPI
- Freeciv for Mac The open-source strategy game, built and packaged for macOS 27 on Apple Silicon. C · macOS packaging
- Wordell and Brothers' Keeper A daily puzzle app for the family and a turn-based tactics game, both coming to iPhone and Android. Swift · Kotlin
- FlasheIDE A separate site for writing and running code on a board, in the browser. JavaScript · Web Serial
Right now
By day I work in development and telephony operations. Evenings and weekends go to this site and the projects on it.
Where it started
Paul McWhorter's free lessons and an ELEGOO Arduino kit. The Library has the story and the kit.
How I work
- Every change starts as a GitHub issue and lands as one pull request with a written review.
- Browser tests run the pages at desktop and phone widths before anything ships.
- Hardware is tested on the real board, and each build page says plainly what hasn't been yet.
- This site is plain HTML, CSS and JavaScript on Cloudflare, with a small Worker for firmware lookups and downloads.
Tools I use most
Every day: C with ESP-IDF, MicroPython, JavaScript, Python.
Often: Swift, Kotlin, Cloudflare Workers, MQTT, LVGL, GitHub.
Get in touch
Email is the fastest way. My code is on GitHub, and a résumé is on request.