What it is
Network DNS sinkhole on ESP32. Blocks ads for all WiFi devices. Built with the open-source esp32-c3-adblock project (M-Abozaid) as reference.
Version history
Straight from the project’s own card data — what each version added.
C3 incompatible with RT-AC58U WPA2. Used WROOM-32D.
What broke, and what I’d change
Not written yet. This is the part only I can write — what actually went wrong, and what I’d do differently. It lives in builds/reflections/esp32-c3-adblock.md (see _TEMPLATE.md); as soon as that file has words in it, this section fills in on the next build.
Everything else on this page — the spec, the version history, the file counts — is generated from the project’s own build notes and files, so nothing here is guesswork.
Build spec
The project’s own build notes, rendered. Open the raw .md ↗
Show the spec
ESP32-C3 AdBlock
Category: Software & Apps · Status: Done
Network DNS sinkhole on ESP32. Blocks ads for all WiFi devices.
Stack / Tools: ESP32, C, DNS, IoT
Reference: https://github.com/M-Abozaid/esp32-c3-adblock — open-source Pi-hole-class DNS ad-blocker on an ESP32-C3 (537k domains as 40-bit FNV-1a hashes in flash, binary-searched; UDP DNS sinkhole + web dashboard, MIT). Used as the reference for this build.
Build path:
- Note — C3 incompatible with RT-AC58U WPA2. Used WROOM-32D.
Location: ~/projects/adblockers/
Network DNS sinkhole on ESP32 with ~144k blocked domains, a web dashboard, and a captive-portal WiFi setup. Answers blocked domains with 0.0.0.0 and forwards the rest. The C3 is WPA2-incompatible with the RT-AC58U, so use a WROOM-32D (CP2102, needs the SiLabs driver) or run the sinkhole in AP mode.