The main disadvantage of robotics as a teaching/learning tool is the need to acquire enough amount of equipment that allows the development of classroom activities. In many cases, especially in the case of public centres, the cost of acquiring these platforms is completely out of reach. Another difficulty that teachers find in the use of robotic platforms is the incompatibility they present at different educational levels, making it necessary to acquire specific equipment for each education stage, increasing the number of necessary equipment and the cost to the centre. A possible alternative to the acquisition of this equipment is the use of virtual remote laboratories, which allows teachers to use these tools without having to physically dispose of them. In addition, this approach avoids incompatibilities with different operating systems (OS), lack of drivers in the centre's equipment and eliminates the task of controlling the material. This contribution presents an ongoing virtual remote laboratory, which aims to be a transversal tool for different educational stages, providing different levels of abstraction that adapt to the needs of primary education, secondary education and higher or university education. This is possible by adapting the programming environment to the capacities and needs of each educational level. This laboratory requires a space to establish different sets physically delimited by means of barriers, where each of the robots is housed. Likewise, each of these sets has different elements such as obstacles or tapestries with different brands to create scenarios in which students can program different behaviours in the robot. The tool is accessible through the internet and is mainly composed of a specific block-programming environment for each educational level. For elementary students, blocks with a high level of abstraction and a very limited number of actions are available. In the case of high school students, the number of blocks is increased and they have a lower level of abstraction, giving the student more flexibility in programming and many more options. On the other hand, for higher education students, programming is done directly by uploading the code to the tool. Once the programming phase is finished, the system sends the code to one of the robots that are currently available and it executes the different routines that have been programmed, giving rise to the actions that the student has defined. While the robot executes the actions, the student can visualize the result through the tool via cameras installed in each set. When the execution is finished, the robot becomes available again, waiting to receive a new programming order. In turn, the system is responsible for balancing programming requests among available robots using a First In First Out (FIFO) queue to maximize the use of available resources with a maximum programming time of one minute, the maximum time that a robot can be in use for each program uploaded.