Skip to content

How to Run a DNS Ad Blocker with W5500 Ethernet on ESP32-S3?

ESP32_AdBlocker is an Arduino-based DNS sinkhole that blocks ads and trackers by answering blocked DNS queries with 0.0.0.0,

viktor

Published February 09, 2026

Original author: s60scOriginal source (new tab)

How to Run a DNS Ad Blocker with W5500 Ethernet on ESP32-S3?

Components

Hardware components

WIZnet parts

Project description

What the Project Does At runtime, the firmware listens for DNS requests from your LAN (typically UDP/53). For each query: It normalizes/parses the requested domain name. It checks whether the domain is present in the locally stored blocklist (downloaded and periodically refreshed). If blocked (or not resolvable per the project’s logic), it returns 0.0.0.0 so clients can’t reach the target host. Otherwise it resolves the domain through configured upstream DNS servers and replies with the resolved IPv4 address. Operationally, the project is designed for large lists: it expects PSRAM (and calls…

Keep reading with a free account

Guests can read 15 projects per visit. Log in or create a free account to read the full description, open the documents and join the comments.

Similar projects you might like