[Help] ESP32 Monitor your ISP Quality Service

hello master is possible to build esp32 monitor your ISP quality (latency / ping / packet loss) using an ESP32 + Home Assistant combo? thank you

HA has a baked-in integration that does most of this and more called Ping. It doesn’t give you “latency”, but it does give you jitter.

An Ookla Speedtest type app?

And esp32 would be completely unsuitable for this task, on the one hand it’s way too slow for sinking/ generating (test-) data quickly enough for modern WAN speeds (even modern routers with 2+ GHz ARMv8 are challenged to accomplish that), on the other hand using WLAN completely invalidates the ISP side of the testing.

Possible - yes. Effective - no. Firstly do you want to check performance occasionally or constantly ? If occasional, then IOT7712’s suggestion of Ookla Speedtest or similar seems a good idea.

If you want constant monitoring then you add a lot more complexity. Any device on your LAN (whether a PC or ESP32) can measure the data stream coming to it - but will not see streaming a movie or other activity going to another device on your LAN (and thus reducing your perceived results). To properly monitor your ISPs connection you will need to do it at the router.

You can program a device to act as a router - but you may be better off purchasing a higher-end router which has bandwidth monitoring stats built in. Or investigating an Open Source router software like OpenWRT. Even then, it is only able to measure the data actually received by your router. To generate a constant stream of test data will increase your ISP data usage, reduce the bandwidth available for your other users, and piss off the operator of whichever server you do your testing against.

Too true … real-world Wi-Fi is much slower than an internet connection - even if still on ADSL - despite the manufacturers claims of Wi-Fi speed (which are based on theoretical maximums in perfect conditions).

Unifi routers show latency and ping times with regularity and also show upload and download speed/utilization. They can also do speed tests on demand. So it is possible. They do make models that are not super expensive. Six years ago I was having Internet issues, so I upgraded my systems. The logging helped me see it was the ISP that was the issue. It took months but they eventually fixed all the bad cables in their network. But what really helped was logging the data from my cable modem. Looking at the errors on each channel was interesting (but only when there was an issue).

1 Like

At the end of the day, more people are still interested in what their latency is, when they probably should be more focused on their bufferbloat. Especially people who are using older hardware that can’t utilize their download/upload speeds and are pushing the hardware to the brink via gaming, stream maxxing, hosting, or heavy file sharing.

Truism: the fastest you can use your network is determined by the slowest portion of the chain of connections between the endpoints.

You can have 10Gbps fiber to your ISP, but if you are connecting to somebody with dialup speeds, your throughput will be limited to dialup speeds. If the undersea cable is cut, your latency with fallback satellite links may grow enormously

Be sure to measure the external portion of your network, not the slow WiFi link to your router from your ESP32, unless that is actually what you want to meaure

1 Like