
$5 USB device is capable of blocking ads from over 500,000 websites in just 10 milliseconds
The open-source project turns modest hardware into a surprisingly powerful home network backup.

A tiny USB-powered device designed to sit behind a home router could offer internet users another way to cut down on adverts across their entire network.
Ad blockers are nothing new, but the logistical catch has been that they’re often tied to a specific browser or device. More advanced systems such as Pi-hole and AdGuard Home can filter requests across phones, laptops, and smart TVs, although they usually require a Raspberry Pi, mini PC or virtual machine running continuously.
That means extra hardware, additional setup and another machine drawing power in the background. It can also make network-wide ad blocking feel unnecessarily complicated for anyone who simply wants fewer banners, pop-ups and tracking requests without maintaining a small home server.
This new project, on the other hand, takes a far smaller and more stripped-back approach.
Advert

Egyptian full-stack developer ZedAxis has built an ad-blocking DNS filter around an ESP32-C3 SuperMini board costing about $5. As explained in the description of his reveal video on YouTube, and reported by Tom’s Hardware — despite having only 400KB of RAM and 4MB of flash memory — the device can hold a blocklist covering roughly 537,000 domains and respond to blocked lookups in around 10 milliseconds.
The device can be powered from a router’s USB port, although that connection supplies electricity rather than data. Communication instead takes place through the board’s built-in Wi-Fi connection.
Its unusually large blocklist is made possible by the way the firmware stores each domain.
Rather than saving hundreds of thousands of web addresses as ordinary text, the system converts them into 40-bit FNV-1a hashes. Public blocklists are downloaded during the build process, while duplicate entries and comments are removed before the remaining domains are hashed, sorted, and written into flash memory.
When someone on the network requests a domain, the firmware converts that address in the same way and runs a binary search against the stored database. Matching requests are blocked, while anything not on the list is sent to an external DNS resolver.
According to the project details, the finished firmware uses only around 50KB of RAM.
There is a trade-off for reaching the full 537,000-domain capacity. Keeping support for over-the-air firmware updates limits the database to around 250,000 domains, while removing that feature frees up enough storage for the larger list.
ZedAxis created the device as a backup for an existing Pi-hole installation, allowing filtering to continue if the main DNS server is restarting or unavailable.
It is not intended to replace feature-rich platforms completely. The project has a basic dashboard, but lacks detailed historical logs and some of the advanced per-device controls available elsewhere.
The source code has been released as open-source software.