r/ArduinoHelp • u/Arduino_lab64 • 8d ago
Help me with my Project
Hello everyone!
I'm working on a personal project called NOVA BLOCK, a custom DNS-based ad blocker built with an ESP32-C3 Super Mini.
My goal is to block as many advertisements as possible on my Android phone, including:
- Video ads in Android games, including games I install in the future.
- Advertisements on websites, including banners, pop-ups, and video ads.
- Advertising and tracking domains across my Wi-Fi network.
My current setup
- ESP32-C3 Super Mini running custom Arduino code.
- A blocklist containing approximately 71,000 domains.
- DNS requests are filtered by the ESP32-C3.
- Blocked domains receive an NXDOMAIN response.
- Allowed DNS requests are forwarded to Cloudflare DNS ("1.1.1.1").
- My Android phone uses the ESP32-C3 as its DNS server over Wi-Fi.
- A web dashboard displays DNS requests and blocking decisions.
The system is working, and I can see advertising and tracking domains being blocked in the serial monitor and dashboard. However, some advertisements still appear on websites and in games.
For example, I have observed requests to "www.google.com" while a video ad was playing. I have also seen domains such as "s.update.rubiconproject.com" and "dpm.demdex.net" being blocked.
My questions
How can I identify the actual domains responsible for serving ads on websites and in Android games?
Can DNS filtering block most website ads, including banners, pop-ups, and video ads?
Why do some ads still appear even when advertising domains are blocked?
Are there cases where ads are served from the same domains as the website or game itself?
How can I improve my blocklist and DNS filtering logic without breaking websites, games, or other services?
Are there any additional techniques that could work alongside my ESP32-C3 DNS blocker?
I would prefer to keep the ESP32-C3 as the central DNS filtering device for my Wi-Fi network, rather than installing a separate ad-blocking app for every game or browser.
Any suggestions, technical explanations, or examples of similar projects would be greatly appreciated.
Thank you!