Testing Your Internet Speed using ESP8266 WiFi module

In this world of connected devices, all our appliances need a proper internet connection all the time. But there is always some fluctuations in the speed of connection of the internet due to some issues. Sometimes its okay but this problem of fluctuation annoys at time of payment gateway or submitting your college fees. After filling the form, when you press enter button, the scenario is like this

so you need to fill that form again and repeat the procedure. But still this doesn’t happen all the time but I faced this problem so I have tried to make a small solution of this.

       I will be constantly measuring my internet connection’s speed so that I come to know that my connection is alive or not. Hence at time of pressing submit button after filling any form, I will check the status of my internet speed and if the speed is great at that time. I will submit my form so that I need not repeat the same procedure again.

Now let’s see how can we make an internet speed-o-meter using ESP8266. ESP8266 a great great great module to start with IoT. Cheapest Smallest yet fastest module and again easy to be used. In the era of Internet Of Things, a demand for this module has increased a lot. With this, the number of projects has also increased using this module. We can do almost anything we can think of using this WiFi module. So I have also made one simple yet useful project using this module along with my Arduino MEGA board.

With the help of the only single AT command, you can get your internet speed. Hence this project is really easy to make. The speed you will get is nothing but the response time in milliseconds taken by your internet connection. After that, we can manipulate or map the data into different categories like Fast, Normal, Slow.

First I will explain you this concept on your laptop only and then we will implement this logic on our ESP8266 board. On your Windows PC, open Command Prompt. Or simply press Windows button and type CMD.

After opening that window just type the following statement, and press the enter buttonping -t www.google.com

Result of this will be as follows,

So we are just pinging the server of Google and observing the response time in milliseconds. That’s what we gonna do in our project, just pinging the server and mapping this time into the suitable speed of our connection. Now let’s move towards the hardware part.Connections Connection of this module is with Arduino MEGA board is shown below,

This is the simple connection in which I have connected ESP8266 WiFi  Rx Tx pins to Serial 1 of my MEGA Board. If you have UNO board, you can go for Software Serial connections.And I have connected 3 LEDs for indicating a status of our internet speed. So this is all on the hardware side, now lets movie towards the code.Code

As we know that we need to just ping google.com continuously to monitor its speed. There is an AT command for pinging whose syntax is,AT+PING=”www.google.com” This command will ping google.com you can ping any other website also by just editing the name of the website in above AT command. So we will just send this AT command through our WiFi module and in response, we will get the time in milliseconds which we will be converting into speed by simple calculations. I have attached the link to the code below, so you can definitely download it from there.I have also made a video tutorial on this, so have a look if you haven’t understood this yet. https://www.youtube.com/embed/Y8KShlPpCW8?feature=player_embedded

I have also recorded this tutorial in Hindi so in case you are more familiar with Hindi have a look at this video. https://www.youtube.com/embed/YcqFpQ39wRk?feature=player_embedded

Code :- https://github.com/techiesms/Internet-Speed-O-Meter/blob/master/Internet_Speed-o-meter.ino


explore | learn | share