Online laboratories have emerged as a viable alternative for providing hands-on experience to engineering students, especially in fields related to computer, software, and electrical engineering. In particular, remote laboratories enable users to interact in real time with physical hardware via the internet. However, current remote laboratory systems often restrict access to a single user per session, limiting broader participation. Embedded systems laboratory activities have traditionally relied on in-person instruction and direct interaction with hardware, requiring significant time for code development, compilation, and hardware testing. Students typically spend an important portion of each session coding and compiling programs, with the remaining time dedicated to hardware implementation, data collection, and report preparation. This paper proposes a remote laboratory implementation that optimizes remote laboratory stations’ availability, allowing users to lock the system only during the project debugging and testing phases while freeing the remote laboratory station for other users during the code development phase. The implementation presented here was developed for a microprocessor laboratory course. It enables users to code the solution in their preferred local or remote environments, then upload the resulting source code to the remote laboratory hardware for cross-compiling, execution, and testing. This approach enhances usability, scalability, and accessibility while preserving the core benefits of hands-on experimentation and collaboration in online embedded systems education.
Luis Felipe Zapata-Rivera (Thu,) studied this question.