In today’s digital age, maintaining reliable network performance is crucial for both individuals and businesses. For network administrators and IT professionals, monitoring network speeds and latency is essential for diagnosing issues and ensuring smooth operations. However, traditional network monitoring tools can be expensive and cumbersome, often requiring complex setups and large hardware installations. 


At Pakronics, we explored the potential of using a Raspberry Pi monitor to develop a lightweight, affordable, and portable network monitoring system that provides real-time data on upload and download speeds, as well as latency, all while being compact enough to fit into any network

Why Raspberry Pi?

The Raspberry Pi offers a low-cost solution that supports both wired and wireless networks, making it an ideal choice for network monitoring tasks. With its small form factor and ability to run Linux-based operating systems, the Raspberry Pi can be easily customized to meet specific monitoring needs. Additionally, its ability to operate on a power bank makes it a portable and flexible option for monitoring network performance from any location. 


For our monitoring system, we chose the Raspberry Pi 4 Model B with 4GB of RAM and 16GB SD card storage, running Ubuntu Linux. This setup is not only cost-effective but also powerful enough to perform network speed tests and handle data reporting efficiently.

Components of the Monitoring System 

To build the monitoring system, several key tools and technologies were integrated: 

  • Raspberry Pi 4 Model B: A compact, energy-efficient device capable of running network monitoring tasks. 

  • Python: Used for automating processes, including speed tests and data insertion into MySQL databases. 

  • Speedtest® by Ookla: A reliable tool for measuring network speed, integrated into the Raspberry Pi for accurate upload/download speed measurements. 

  • MySQL: Used for storing collected data from the Raspberry Pi. 

  • Grafana: A powerful dashboard tool for visualizing network performance data.

How It Works?

The Raspberry Pi is set up as a probe on the customer’s network, monitoring the network’s upload and download speeds, as well as latency. The speed test data is sent to a remote MySQL server using a VPN connection. Grafana then pulls the data from MySQL, displaying it on a user-friendly dashboard.


This system enables network administrators to track network performance in real-time, analyze historical data, and monitor potential issues such as high latency or poor bandwidth. The use of VPN ensures that all data is securely transmitted, allowing remote management of the system.

Grafana Dashboards for Monitoring

The monitoring system features two distinct dashboards for reporting and visualization: 

  1. Network Monitoring Dashboard: This dashboard shows real-time upload/download speeds, latency, and the health of the Speedtest server. It also includes historical data, including traffic volume, temperature, and packet drop rates. 

  2. Probe Monitoring Dashboard: This dashboard focuses on hardware resource usage of the Raspberry Pi, displaying information about CPU, RAM, and local storage utilization.

Data Collection and Management

Data is collected through regular speed tests and transmitted securely via the VPN to the MySQL database. This data is then visualized using Grafana, where it is possible to view the performance of the network, monitor for errors or packet drops, and categorize traffic based on protocols like ICMP, TCP, and UDP.


Additionally, Prometheus is recommended for tracking hardware resources such as CPU, RAM, and storage, giving administrators a holistic view of both the network and device performance.

Tools and Setup

To set up the monitoring system, the following tools and libraries are installed on the Raspberry Pi: 

  • Speedtest-cli: A command-line interface for performing speed tests with Speedtest.net. 

  • MySQL Connector: A Python library for connecting to and interacting with the MySQL database. 

  • OpenVPN: A remote access VPN that ensures secure data transmission between the Raspberry Pi and MySQL server. 

The MySQL database stores key data points such as the test start time, the identification numbers of both the Raspberry Pi and Speedtest server, download/upload speeds, and latency.

Real-World Testing and Results 

After setting up the system, we deployed two Raspberry Pis for a one-week test. The results were promising. On average, the Raspberry Pi consumed only 6% of RAM and 3% of CPU power. The temperature of the Raspberry Pi during operation reached a maximum of 70°C, which was reduced to 50°C with the use of a cooled case. 

Conclusion and Future Work

The Raspberry Pi-based network monitoring system developed at Pakronics provides an affordable and portable solution for monitoring network speeds and latency. The use of low-cost hardware and open-source software makes this system an ideal choice for individuals and businesses looking to optimize their network performance without incurring high costs.


As we continue to test and refine the system, we plan to further improve its scalability and functionality, ensuring it can support a wide range of use cases and environments. This solution opens the door for efficient and accessible network monitoring, making it an invaluable tool for modern network management.

Join