← Wednesday, October 7, 2026Performance & OSTool

ESP32-C3 ad blocker searches a 140,000-domain list from flash

github.com 8 min read Editor score 7/10

The project stores sorted 40-bit domain hashes in flash and binary-searches them, fitting over 140,000 entries in about 0.7 MB while using about 50 KB of RAM. The memory-versus-latency trade-off is a useful example of engineering under tight resource constraints.

What
ESP32-C3 Adblock is a Pi-hole-style DNS ad blocker that runs without PSRAM.
How
It stores sorted 40-bit domain hashes in flash and binary-searches them; over 140,000 domains fit in about 0.7 MB.
Why it matters
Flash-resident hashes reduce RAM demands, a storage tradeoff the excerpt says also works on larger chips.
binary search hit miss query extract domain FNV-1a hash flash hash table 0.0.0.0 upstreamresolver
DNS queries are hashed and checked in flash, then sinkholed on a hit or forwarded on a miss. Sketched from the article's own text.

Discussion

Discussion is not switched on yet. Use Note above to keep your own thoughts on this story.

Headline, summary, brief and diagram are written by a model from the source's own text; the link, byline and numbers come from the source. Read the original before relying on a claim.

Your note

Private to you. Stored in this browser, and synced to your account when you are signed in.