Home Networking Fun

Setting up Pi-hole, plus a fun new Wi-Fi Router

This year, I've been tracking my expenses a bit more, just to be a bit more mindful of where my money is going. My girlfriend and I were recently taking a look at our Wi-Fi bill and decided to downgrade our speed from 500Mbps to 300Mbps. While downgrading, I noticed that there was an extra $7 monthly charge on the bill. It turns out that Spectrum gives you a Wi-Fi router for free for 12 months, and then starts charging you $7 per month to lease the router from them...

So I decided it was time to purchase a Wi-Fi router for our apartment. I did some research online and found that a router that would fit our needs would cost $40-60. I was planning on purchasing a normal, flat, black Wi-Fi router, when I came across Bob.

Bob next to the modem and my Raspberry Pi

Bob is a Minions-themed Wi-Fi Router manufactured by a company called Davolink, and it's actually a pretty solid piece of equipment. It comes with only 1 LAN port (in addition to the WAN port to connect to your modem), but that's not a huge deal for me. Connected to the LAN port is a Raspberry Pi, which I also set up this weekend to run Pi-hole.

Pi-hole is a service you can set up on a Raspberry Pi or any lightweight compute instance. It is a DNS server that you can point your router to use. Pi-hole blocks domains based on blacklisting (and whitelisting) domains known to exclusively serve ads. I just used the default pi-hole install blacklist. You can configure different privacy settings and even set up recursive DNS by adding unbound. I went this route. For me, the process was:

  1. Use Raspberry Pi Imager software to prepare my microSD and set up ssh
  2. Insert the microSD to the Raspberry Pi and connect the Pi to power and to my router via ethernet
  3. ssh into my pi instance, follow official Pi-hole installation docs to set up the program
  4. Set up a DHCP reservation in my router's web management console so that the IP address of my Pi never changes, even if I unplug or experience a power outage
  5. Set my Pi's IP address as my router's Primary DNS server, with a backup of 1.1.1.1 (Cloudflare)

I confirmed that Pi-hole was working by using a web browser on my computer which doesn't have any ad-blocking software enabled. I checked out recipe sites, which are bloated with ads, and surely enough, the pages load a bit faster and I saw 0 ads on any of the sites. One thing to note is that since Pi-hole blocks at the DNS level, the advantage is you can save some resources from ever being loaded in, but it can't block ads that are served on the same domain as the site you're on (for this reason, Pi-hole cannot block YouTube ads).

If you're a home networking noob like me, I think Pi-hole is a really fun project. It honestly would still have been worth it to me even if my Raspberry Pi melted away after I got it set up, because the whole process of connecting it to my router and ssh-ing into something I set up on my local network was just a lot of fun. I used a Raspberry Pi 4b, but that's only because my brother had one lying around he wasn't using. Pi-hole really doesn't require much power or storage, and I think a lot of people have used the cheapest Raspberry Pis for Pi-hole. You could also set up a cloud instance by renting out a server for $3/month if you wanted to try it out for a little bit, but then you'd have to set up some better security/permissions for connecting to the instance.

Overall, setting up the new Router and Raspberry Pi was a lot of fun, and it makes me want to learn more about networking or do some more Raspberry Pi projects in the future. An added plus was that my cat seemed to like Bob too.

Honey admiring Bob the minion