Built reproducible Nix derivations for the ESP-IDF SDK and xtensa-esp32 toolchain on NixOS
Set up a reproducible ESP32 ESP-IDF development environment on NixOS by patching Nix packages and debugging the VSCode Espressif extension from source
Repurposed an ESP32 as a SUMP-compatible logic analyzer by integrating esp32_sigrok with sigrok and Pulseview for capturing stepper motor timing signals
Repurposed an Arduino Uno as a multi-channel logic analyzer to capture and inspect digital signals on ports 8 through 11
Resolved ESP32 RMT looping artifacts by disabling software transmit interrupts before enabling hardware loop mode, achieving precise square wave generation
Packaged a reproducible Rust cross-compilation toolchain for ESP32 microcontrollers using custom Nix derivations
Replaced L298N H-bridge with TMC2208 stepper driver to reduce GPIO overhead, eliminate overheating, and simplify microstepping control
Implemented ESP32 Bluetooth Low Energy heart rate service in Rust using the NimBLE stack by translating and adapting C reference implementations
Packaged esp-idf build system into a standalone Rust library to enable reusable ESP32 Bluetooth development