Skip to content
View WillyBilly06's full-sized avatar
😊
😊
  • 02:04 (UTC -07:00)

Highlights

  • Pro

Block or report WillyBilly06

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
WillyBilly06/README.md

~ focus

$ whoami
William Ho — Computer Engineering @ Cal Poly San Luis Obispo

$ cat focus.txt
I build firmware that makes hardware play hi-res sound —
multi-codec Bluetooth audio, real-time DSP, and the occasional
reverse-engineered codec running bare-metal on an ESP32.

$ ls ~/interests
hardware/software boundary   low-latency wireless audio   embedded DSP
  • Now — multi-codec A2DP firmware for the ESP32 family: LDAC, aptX / HD / LL, LHDC V5, AAC, Opus, LC3plus, SBC
  • Depth — real-time DSP: equalizers, bass boost, level meters, clock sync, packet-loss concealment
  • Reach — Android companion apps (Kotlin / Flutter) that drive it all over BLE — EQ, codec selection, OTA, live visualization
  • Learning — ESP-IDF internals, FreeRTOS scheduling, and squeezing hi-res codecs onto internal SRAM

> reverse-engineering

I reverse-engineered the proprietary LHDC V5 hi-res Bluetooth codec — digging through binaries until it became a working decoder that runs on an ESP32, wired straight into the A2DP audio pipeline. A microcontroller playing hi-res audio nobody documented. 🎧


# stack

Languages    C  ·  C++  ·  Kotlin  ·  Dart
Embedded     ESP-IDF  ·  FreeRTOS  ·  Arduino  ·  CMake
Wireless     Bluetooth A2DP / BLE GATT  ·  ESP-NOW
Codecs       LDAC · aptX HD/LL · LHDC V5 · LC3plus · Opus · AAC · SBC
DSP          3-band EQ · Bass Boost · Level Meters · PLC · Clock Sync · Adaptive Buffering
Mobile       Android (Kotlin)  ·  Flutter
Tooling      Git  ·  Android Studio  ·  Logic / Signal Analysis

* featured projects

Project Stars What it is
🎚️ ESP32-S31-A2DP-Codecs Multi-codec A2DP sink on ESP-IDF v6.1 — LDAC, aptX/HD/LL, LHDC V5, Opus, LC3plus, AAC, SBC — all on internal SRAM
🔊 esp32-a2dp-sink-with-LDAC-APTX-AAC A2DP audio sink with BLE GATT control, DSP, level meters and LDAC
🎵 ESP32-A2DP-SINK-WITH-CODECS-UPDATED A2DP sink with LDAC, aptX, aptX-HD & AAC codec support
🎼 LHDC-V5-Decoder Reverse-engineered LHDC V5 decoder, integrated into the ESP32 A2DP pipeline
📱 BDK-AUDIO-APP Android control app — DSP/EQ, codec selection, LED effects, OTA over BLE
🖥️ NVFLASH Patched NVFlash supporting RTX 50-series GPU BIOS flashing

~ activity

Profile summary Repos per language Most commit language



🛠️ Most recently pushed to LHDC-V5-Decoder on 2026-07-25
LHDC V5 Decoder For ESP32's A2DP Integration
C

· auto-updates via GitHub Actions ·


@ contact

LinkedIn GitHub


Profile views



$ echo "building things that make sound 🔊"

Pinned Loading

  1. ESP32-S31-A2DP-Codecs ESP32-S31-A2DP-Codecs Public

    Multi-codec Bluetooth A2DP audio sink for the ESP32-S31 on ESP-IDF v6.1 — LDAC, aptX/HD/LL, LHDC-v5, Opus, LC3plus, AAC, SBC. Runs entirely on internal SRAM

    C 6 2

  2. ESP32-A2DP-SINK-WITH-CODECS-UPDATED ESP32-A2DP-SINK-WITH-CODECS-UPDATED Public

    ESP32 Bluetooth A2DP Sink with LDAC, aptX, aptX-HD, AAC codec support.

    C 27 5

  3. LHDC-V5-Decoder LHDC-V5-Decoder Public

    LHDC V5 Decoder For ESP32's A2DP Integration

    C 9 3

  4. BDK-AUDIO-APP BDK-AUDIO-APP Public

    Android app for ESP32 Bluetooth speaker control. Features DSP/EQ controls, LDAC/aptX/AAC codec selection, LED matrix effects, real-time audio visualization, OTA firmware updates over BLE. Control b��

    Kotlin 6 2

  5. esp32-a2dp-sink-with-LDAC-APTX-AAC esp32-a2dp-sink-with-LDAC-APTX-AAC Public

    ESP32 A2DP Bluetooth Audio Sink with BLE GATT, DSP, Level Meters, and LDAC support

    C 30 5

  6. NVFLASH NVFLASH Public

    This NVFlash Patched version does support up to RTX 50 Series and you can (almost) flash any bios onto your GPU

    21 3