# 🔌 Your whole house, ad-free for $2 — ESP32-C3 AdBlock, plus 8 more builds

**URL:** <https://onehack.st/t/your-whole-house-ad-free-for-2-esp32-c3-adblock-plus-8-more-builds/326410>\
**Category:** Tutorials & Methods\
**Tags:** tools, privacy, networking\
**Created:** [October 12, 2026, 4:45pm UTC](https://onehack.st/t/your-whole-house-ad-free-for-2-esp32-c3-adblock-plus-8-more-builds/326410 "2026-10-12T16:45:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![BlueHacker](https://onehack.st/user_avatar/onehack.st/bluehacker/32/174721_2.png) [@BlueHacker](https://onehack.st/u/BlueHacker)\
**Post date:** [October 12, 2026, 4:45pm UTC](https://onehack.st/t/your-whole-house-ad-free-for-2-esp32-c3-adblock-plus-8-more-builds/326410/1 "2026-10-12T16:45:29Z")

</div>

### 🔌 Your whole house, ad-free — for $2 and one free flash

 ![Your whole house under one small green dome — a $2 chip in the router, ad banners dissolving as they hit the dome, 105,023 ad domains blocked right now, $2](https://onehack.st/uploads/default/original/3X/6/c/6cc5ac0a6f866a5f7134bc3da22e301d1930f479.jpeg)

**Somebody taught a $2 chip the size of a USB stick to swallow 105,023 ad and tracker domains, then plugged it into the back of their router.**

No Raspberry Pi. No subscription. No app on every device. That is the whole idea.

**Why it matters:** one tiny thing on your network, and the ads stop for **every** device you own — the TV, the phones, the laptop, the console, your guest’s tablet — at the same time, forever.

**What makes it unique:** the board stores each blocked domain as a tiny **5-byte fingerprint** instead of a full name. That single trick is why a **$2** chip can hold a list that used to demand an **$8** board or a **$60** Raspberry Pi.

**Why you should care:** you flash it once, it updates itself after that, and the ad money quietly stops being spent on your network.

### 🧠 What it is, in plain words

Your devices ask a **phone book** question before they load anything: _what is the address of `ads.example.com`?_ That phone book is **DNS**. This board becomes your house’s phone book, and when something asks for an ad server’s name, it answers with a **dead end**. The request dies right there.

So the ad does not download — on the TV, the phone, the laptop, the console, your guest’s tablet, **everything on your network at once**.

The clever part is how a $2 board holds a list that big. It keeps each blocked domain as a tiny **5-byte fingerprint** in the chip’s **storage** , instead of as a name in its **memory**. That board has only **400 KB** of memory and **4 MB** of storage, so fingerprints in storage fit **105,023** domains while the whole thing runs on about **50 KB** of memory. Older builds needed an extra memory chip for the same job, which pushed the price to about **$8**. Same result, a quarter of the cost.

**The chain, in one line:**  **one $2 chip** → **plug into your router** → **ads stopped before they load** → **updates itself over Wi-Fi**.

### 📊 The numbers, straight

- **105,023** ad and tracker domains in the list shipping today
- **~50 KB** of memory used, out of **400 KB**
- **~10 ms** to answer a blocked lookup
- **0.5 MB** of the board’s **4 MB** storage
- The project’s own ceiling is **537,000** domains, reached with a different storage layout that gives up one of the two firmware slots
- Board price: **$1.45–$2.41** on AliExpress, roughly **$5–$6** from Western resellers

### ✅ What it blocks — and the one thing it cannot

Banners, trackers, pop-ups, telemetry, analytics, malware and phishing domains: all fair game, on every device at once.

**YouTube’s in-video ads are the honest exception.** They arrive from the same domains that serve the video itself, so a domain blocker cannot remove them without breaking the video. NextDNS writes this on its own help page, and AdGuard lists YouTube and Twitch the same way. That limit belongs to Pi-hole, to AdGuard Home and to this board equally — it is a limit of the method, not of the chip. Sponsored posts inside Facebook, X and Instagram sit in the same bucket.

Two smaller realities worth knowing before you buy. On a device set to **encrypted DNS** — Android’s Private DNS, or Chrome’s Secure DNS — the lookup walks past this board and resolves on its own, so turn that off on the devices you care about. And this filters by **domain** , so an ad served from a web address made of raw numbers slips through.

### 🛠 Getting it running — 4 steps, no coding

1. **Buy the board.** Search **ESP32-C3 SuperMini** — the cheap one with 4 MB of storage and a USB-C port, about **$2**.
2. **Buy one adapter.** A **USB-A to USB-C** dongle lets the board plug straight into the spare USB port on the back of your router. That is its power supply — no charger, no extra box, nothing on your shelf.
3. **Flash it once** over USB — that just means writing the software onto the board one time. The project documents **PlatformIO** for this, a free tool that does the writing for you, and the single trap is version: the PlatformIO package inside many Linux distributions is too old and fails, so use a current one.
4. **Point your router’s DNS at the board’s address.** Every device on the Wi-Fi is now filtered. A router that refuses that setting is exactly what build **8** below is for.

After that first flash, both the firmware and the blocklist **update themselves over Wi-Fi**. Set it up once and forget it.

### 🧰 Eight more builds from the same family

This is the part worth bookmarking. The project is one branch of a family tree, and one of these will fit your situation better than the original.

1. **[s60sc/ESP32\_AdBlocker](https://github.com/s60sc/ESP32_AdBlocker)** — the grandparent of them all. Alive since **2021** , still updated, and the project above credits it for the starting idea.
2. **[ESP32\_AdBlocker\_Reborn](https://github.com/GlomarGadaffi/ESP32_AdBlocker_Reborn)** — the heavy version, on a LilyGO board with a real **Ethernet port** : about **700,000** domains and around **2,200** lookups a second.
3. **[esphole](https://github.com/aguilerasmiguel/esphole)** — asks its own DNS provider over an encrypted connection, plus a fail-open mode so your internet keeps working while the board is off.
4. **[ESP\_hole](https://github.com/twedds95/ESP_hole)** — the same job, the same job with a lighter way of storing the list, which suits an even smaller chip.
5. **[9M2PJU ESP32-C3 AdBlocker](https://hamradio.my/9m2pju-esp32-c3-adblocker/)** — a fork you **flash from your browser** , with no toolchain on your computer.
6. **[dns32](https://github.com/ninadsp/dns32)** and **[esper](https://github.com/zachmorr/esper)** — smaller siblings, good reading material.
7. **[XIAO ESP32-S3 DNS sinkhole](https://github.com/jmcallahan/xiao-esp32-s3-dns-sinkhole)** — built as a drop-in replacement for a Raspberry Pi running Pi-hole, in a very small footprint.
8. **[ESP32 AdBlock Gateway](https://abraaobat.github.io/ESP32_AdBlocker/)** — the answer for locked-down routers. It creates its **own protected Wi-Fi network** and hands out the settings itself, so no router permission is needed.

The list you load decides how much you block, so here are the three families worth feeding it: **[HaGeZi](https://hagezi-mirror.dnsbunker.org/assets/dns-blocklists/index.html)** runs Light at **55,349** , Normal at **157,685** , Pro at **193,151** and Ultimate at **230,104** ; **[OISD Big](https://edwardangert.com/docs/pi-hole/block-allow-lists/)** is the single-file set built to break nothing; **[StevenBlack](https://blockmeter.io/blocklists/)** is the classic. The project’s build script accepts all of them.

### ⚖ Three cases where something else wins

- **You want ads gone on your phone outside the house, with zero setup.** That is **[NextDNS](https://piholehq.com/posts/adguard-home-alternative/)** — a cloud service that follows your devices anywhere.
- **You want per-device rules, parental controls and encrypted upstream.** That is **[AdGuard Home](https://www.bigiron.cc/guides/pi-hole-vs-adguard-home-vs-blocky)** on a Pi or any always-on box.
- **You want ten years of guides and the biggest community.** That is **[Pi-hole](https://ossalt.com/guides/pihole-vs-adguard-home-vs-blocky-2026)**.

This board replaces a Pi for **DNS blocking on one network** at a tiny fraction of the cost — and not for everything else a Pi running Pi-hole does.

### 🎯 Why this one deserves your attention

The board is the demo. The idea is the gift: a **5-byte fingerprint** instead of a name, sorted, searched in storage. That same trick scales **up** as well — on a **16 MB** chip it holds about **2,700,000** domains, against about **466,000** when the names stay in memory.

**105,023** ad domains blocked tonight, **$2** , one free flash, and a whole family of upgrades waiting when you want more. Flash yours and post it below — I want to see which list you loaded.

* * *

**The board:** search `ESP32-C3 SuperMini` — [specs and where to buy](https://www.espboards.dev/esp32/esp32-c3-super-mini/) · **[repo](https://github.com/M-Abozaid/esp32-c3-adblock)** · [blocklist releases](https://github.com/M-Abozaid/esp32-c3-adblock/releases)

**Coverage:** [CNX Software](https://www.cnx-software.com/2026/10/09/open-source-esp32-c3-dns-ad-blocker-supports-up-to-over-500000-domains-without-psram/) · [Open Source For You](https://www.opensourceforu.com/2026/07/esp32-firmware-compresses-dns-blocklists/) · [Meterpreter](https://meterpreter.org/esp32-c3-ad-blocker-2/) · [Hacker News thread](https://hn.today/s/esp32-c3-adblock)
