So the kids started remote school this week (Tuesday, if you're keeping track), and by Wednesday night our home wifi looked like it had been hit by a truck. Three Zoom classes running at once, my wife on a work call in the kitchen, and me trying to load literally one webpage on my laptop that just kept spinning. I finally sat down and actually looked at what was eating the bandwidth instead of just complaining about it, which is usually my first move and honestly not a good one.
Turns out a huge chunk of it wasn't even the video calls. It was ads. Trackers, analytics pings, autoplay video previews on news sites, the whole ugly stack of stuff loading in the background every time anyone opened a browser tab. I'd known about Pi-hole for a while — it's been kicking around since like 2017 — but never bothered setting it up because our house used to be small enough that nobody noticed the slowdown. Not anymore.
I had an old Raspberry Pi 3 B+ sitting in a drawer from a project I abandoned two summers ago (don't ask, it involved a doorbell camera and it did not go well). Figured I'd finally put it to use instead of buying anything new, which felt like a small win given how much money everyone seems to be spending on home office stuff lately.
Getting it running
If you've never done this: Pi-hole is basically a DNS server that sits between your devices and the internet and just refuses to resolve known ad and tracker domains. It's free, it's open source, and setup took me maybe 25 minutes once I stopped getting distracted by Twitter.
- Flash Raspberry Pi OS Lite onto a microSD card. I used balenaEtcher, it's dead simple, drag the image in and go.
- Boot the Pi headless (I just SSH'd in over the local network, no monitor needed).
- Run the one-line install:
curl -sSL https://install.pi-hole.net | bash - Answer the setup prompts: pick an upstream DNS provider, I went with Cloudflare's 1.1.1.1 instead of Google because I'd rather not hand Google one more thing.
- Point your router's DHCP settings to hand out the Pi's IP as the DNS server for the whole network.
That last step is the one people skip and then wonder why nothing changed. You have to actually tell your router to use it, or you're just running a nice piece of software that nothing talks to.
Did it actually help
Some, yeah. Not magic. The Zoom lag was never really a DNS problem, it was just too many devices fighting for the same upload bandwidth, and no ad blocker fixes that. But the general browsing felt noticeably snappier within the hour, and the admin dashboard was almost funny to watch: within the first ten minutes it had blocked something like 30% of all DNS queries on the network. Thirty percent! That's not people visiting shady sites, that's just how much garbage rides along with normal browsing now.
The part I didn't expect to enjoy is the dashboard itself. You can watch, in real time, which devices are making the most requests and to where. My smart TV, it turns out, phones home constantly even when it's off standby, which is the kind of thing that makes you want to throw it out a window. I'm not going to, we just watched something on it last night, but I thought about it.
One annoying wrinkle: some sites break when their ad network domains get blocked wholesale, since a handful of sites (looking at you, certain recipe blogs) load their actual content through the same servers as their ad junk. Pi-hole makes it easy to whitelist individual domains when that happens, so it's not a huge deal, just mildly annoying the first few times you hit it and have to go figure out which domain is the culprit.
Total cost for this project: zero dollars, since I already had the hardware. If you're starting from nothing, a Pi 4 with 2GB of RAM runs about $35 and is honestly overkill for this specific job. Pi-hole barely touches the CPU. A Pi Zero W at $10 would do it too, if you can find one in stock, which lately has been hit or miss everywhere.
Anyway. The internet in this house is a little less noisy tonight. The kids still don't love remote school, and I don't blame them, but at least the wifi isn't the thing making it worse anymore.