We're excited to announce our collaboration with the University of Edinburgh on an innovative project called Remote Laboratories. This initiative promises to revolutionize the way students engage with laboratory experiments and learning.
Remote Labs allow students to connect to real devices from the comfort of their homes using just a web browser. They can watch experiments live, view data on screen, update parameters, and save crucial information—all without needing to be physically present in the lab. This approach not only makes learning more accessible but also enriches the educational experience by providing hands-on practice in a virtual setting.
The images below showcase the Remote Labs in Edinburgh, giving you a glimpse into this cutting-edge learning environment.
![](http://blog.uiam.sk/content/images/2024/06/figure3.jpg)
Recognizing the immense benefits of this project, we've decided to bring this concept to our institution as well. We believe that Remote Labs will offer our students the same incredible opportunities, enabling them to learn and grow dynamically and flexibly.
Our contribution to this semester-long project focused on three main areas: Microprocessor-Level Device Programming, Programming the Data Infrastructure, and Developing the User Interface for Lab Processes.
For our project, we selected the ESP32-S3-DevKitC-1 microcontroller. This platform is ideal for implementing a remote laboratory due to its versatile features, which we will explore in the following sections.
![](http://blog.uiam.sk/content/images/2024/06/7126a96e-46a1-46be-bd15-9208091af4c6.png)
One significant difference between our approach and the University of Edinburgh's is the hardware implementation. Edinburgh's setup uses two platforms: Arduino NANO for sensor and motor functionalities and Raspberry Pi for network functionality. We streamlined this by using a single ESP32 platform, which reduces complexity and costs.
Our ESP microcontroller not only manages the lab processes but also handles network communication via WiFi. By programming the ESP to function as a server, we created a bridge between the process and the user. Using C++, we implemented a discrete PID controller in the ESP to manage the model. The user interface was crafted using frontend web technologies, including HTML5, JavaScript, CSS, the BULMA CSS framework, and a JavaScript library for dynamic charts.
To facilitate real-time communication between the user and the lab process, we chose WebSocket technology. This protocol operates over HTTP and provides a two-way communication channel between the client and the server, ensuring fast data flow. This is particularly important for our data-intensive processes.
The following diagram shows the communication between client and server: The client sends an initial request to the server upon accessing the page. The server initiates communication and starts data transmission. Parameters are updated, and the control loop can be restarted as needed. Users can send messages to the server through buttons, enabling actions like resetting, updating parameters or stopping data flow.
![](http://blog.uiam.sk/content/images/2024/06/SP--1-.png)
Below is shown the user interface created by us.
The homepage features a simple R-LAB logo, standing for Remote Laboratory. Clicking the "GET STARTED" button redirects users to the main page with the model. The dashboard displays three cards with the default PID parameters of our discrete controller implemented in the ESP.
![](http://blog.uiam.sk/content/images/2024/06/image-11.png)
Users can start loading data and observe the control process. The orange line on the graph represents process data, while the blue line indicates the reference. Above the graph, the ISE value calculation is displayed. Users can change the reference value and adjust PID parameters, with the control performance reflected in real-time on the chart.
![](http://blog.uiam.sk/content/images/2024/06/22.png)
We plan to add more features, for example Data saving functionality, reservation system to prevent double logins to the same process, possibility to connect from anywhere and much more.
The Remote Labs project not only enhances the educational experience by bridging the gap between theoretical and practical learning but also demonstrates the power of technology in creating innovative solutions for remote education. We are excited to continue developing and refining this system to provide students with a cutting-edge learning tool.