Checking If the Internet Is Up with a Retro Simpson Meter
The phrase "is the Internet up?" can be heard anywhere whenever a device takes too long to load a webpage or refuses to connect altogether. And for the hacker who goes by "WhiskeyTangoHotel," it was extremely common in his household and became enough of an annoyance that he decided to do something about it.
Rather than manually checking on the router or Internet service provider to test if there is network connectivity, he created a device that would automatically check and present its findings in real-time on a classic Simpson 260 multimeter.
The meter itself started being produced in the 1930's, and Whiskey's model, the Simpson 260-8, was an heirloom handed down from his father, making him want a way to repurpose it into a useful display piece.
Like most other multimeters, this one features an array of plugs on the front for attaching probes and leads in order to measure voltage, resistance, and current draw across a wide range of circuits. The resulting values are then displayed at the top using a needle gauge which wags back and forth to make indications.
With the meter now decided, the next step was to figure out the best way to show just how good the current Internet connection is. Whiskey eventually decided to go with an ESP8266 due to its small size, onboard Wi-Fi connectivity, and ease-of-use.
From there, the program he wrote contains a list of domains that are known for their consistent reliability, such as google.com, bing.com, and apple.com. After every 15 second period, the ESP8266 sends a short HTTP request to the selected website and measures how long it takes to hear a response, also referred to as "ping."
To show the ping, he figured out that because the meter supports voltage measurements spanning 2.5v and the ESP8266 can deliver up to 3.3v on an external GPIO pin, using PWM two output a simulated analog voltage could make the needle move a precise amount.
The math was also quite simple, as 1ms of ping equated to 1% on the range of voltages, meaning that a latency of 100ms was 200/255 of a duty cycle, or 2.5v. Lastly, any failed attempt to reach a server or a very high ping will cause the needle to rock back and forth to signal a loss in connectivity, which can be seen here in his demonstration video on YouTube.