Open-source ESP32-C3 DNS ad blocker handles over 500,000 domains without PSRAM
Developer Zed (M-Abozaid) released esp32-c3-adblock, an open-source Pi-hole-style DNS ad blocker running on a $2 ESP32-C3 board without PSRAM. Domains are stored in flash as sorted 40-bit FNV-1a hashes, with lookups taking about 10 ms; ~0.7 MB of flash holds over 140,000 domains using only ~50 KB of RAM.
- Domains stored as 40-bit FNV-1a hashes, 5 bytes each
- 140,000+ domains in ~0.7 MB flash using ~50 KB RAM
- Lookup takes ~10 ms with about 18 flash reads
- Up to 537,000 domains in single-app layout, but no firmware OTA
Read next
Policy