
ESP32-C3 Ad Blocker: Pi-hole-Style DNS Filtering for $2
The open-source esp32-c3-adblock firmware turns a $2 ESP32-C3 board into a network-wide DNS ad blocker that handles up to 537,000 domains without PSRAM.
A network-wide ad blocker usually means a Raspberry Pi running Pi-hole. A new open-source project called esp32-c3-adblock does the same core job on a microcontroller board that costs about $2. Covered by CNX Software on October 9, 2026, the firmware turns an ESP32-C3 SuperMini into a DNS ad blocker that can hold a blocklist of hundreds of thousands of domains, with no external memory required.
- Hardware: any ESP32-C3 board with 4 MB flash; tested on the ESP32-C3 SuperMini, around $2.
- Capacity: about 250,000 domains with over-the-air firmware updates enabled, or a 537,000-domain list without them.
- Footprint: about 50 KB of RAM, with blocked lookups answered in about 10 ms including the Wi-Fi round trip.
- License: MIT, with source on GitHub.
How Does a $2 ESP32-C3 Block Ads?
The device works as a DNS sinkhole, the same approach Pi-hole uses. You point your router or devices at the ESP32-C3 for DNS. When a device asks for a domain on the blocklist, the firmware answers 0.0.0.0, so the ad or tracker never loads. Everything else is forwarded to an upstream DNS server as normal.
The interesting engineering is in how the blocklist fits. The ESP32-C3 is a 160 MHz RISC-V microcontroller with 400 KB of SRAM and no PSRAM, which is nowhere near enough to hold a big list of domain names in memory. Developer M-Abozaid's answer is to skip strings entirely. Each domain is stored as a 40-bit FNV-1a hash, five bytes apiece, in a sorted table in flash. A lookup is a binary search that needs about 18 flash reads.
How Many Domains Can It Handle?
According to the project README, 141,000 domains take about 0.67 MB of flash. On a 4 MB board the limits depend on the partition layout:
- With firmware OTA (two app slots): about 250,000 domains.
- Single-app layout, no firmware OTA: the 537,000-domain "ultimate" list fits.
- Default build: about 100,000 entries from the StevenBlack base list plus Hagezi Light.
Hash collisions, where a legitimate domain shares a hash with a blocked one, are rare by design: zero at 141,000 domains and about one at 537,000. The README notes that 32-bit hashes would save 20% of flash but produce about seven collisions at 250,000 domains, which is why the project uses 40 bits.
Features Beyond Basic DNS Filtering
For a tiny board, the feature list is generous:
- Web dashboard at c3adblock.local with per-client block and allow counts, device blocking and custom domains.
- Captive-portal setup: an unconfigured board starts its own access point for Wi-Fi setup.
- OTA updates for firmware and blocklists, including scheduled blocklist pulls from a URL.
- Basic hardening: password-protected changes and request checks on the dashboard.
A printable case is included, and builds use PlatformIO; the README warns that the older 4.3.4 package in some Linux repositories is too old.
What Are the Trade-Offs Against Pi-hole?
This is a focused tool, and the README is clear about it. The dashboard runs over plain HTTP, so it belongs on a trusted home network. The board wants a stable USB power source, since weak adapters can cause brownouts during Wi-Fi transmission. Support for the classic ESP32 is community-contributed and compile-tested only. A DHCP server and a faster lookup index are on the roadmap.
For a home network, a dorm room or a travel router setup, that is a fair trade for a self-hosted ad blocker that sips power and costs less than a coffee. If you enjoy small ESP32-C3 builds, our look at the DeskRadar ESP32-C3 flight tracker is another good weekend project. More in our mini computer coverage.
Sources: CNX Software — Open-source ESP32-C3 DNS ad blocker — October 9, 2026; GitHub — M-Abozaid/esp32-c3-adblock — accessed October 10, 2026.
More Mini Computers Stories

Radxa Dragon Q8B Review: Twice the Pi 5 Speed for $209?
Jeff Geerling's Radxa Dragon Q8B review finds the $209 Snapdragon 8cx Gen 3 board more than doubles Raspberry Pi 5 multi-core speed, with dual 2.5GbE.

Raspberry Pi Net Zero: How Pi Towers Swapped Gas for Pis
Raspberry Pi replaced a £150,000 building system with a £7,800 Pi-based one at Pi Towers, cut gas entirely in June 2026, and targets net zero in 2027.

Q8botOne Robot Dog: A Palm-Sized Open ESP32-C3 Quadruped
Q8botOne is a palm-sized open-source robot dog with an ESP32-C3 brain and 8 DYNAMIXEL actuators, from $199 as a kit or $599 assembled on Crowd Supply.
