Lego Rovers engages school children with the challenges of remote space exploration. Web-Rover-1 improves both its user-interface and underlying system architecture. A mobile-compatible HTML interface mimics a tele-operated planetary rover complete with remote-control, command delays, and the ability to create autonomous rules for the robot. Our simpler, modularised backend code is demonstrated through multiple prototypes which integrate different robots and interfaces into the same system.

This project is solving the Lego Rovers challenge.



The Webrover1 team tackled the Lego Rovers challenge. This challenge was to build a demonstration system which mimicked a tele-operated interplanetary rover complete with a remote control interface, the possibility to add delays, and the ability to construct and deploy autonomous rules onto the robot. The end system is intended as a STEM activity that can be taken into schools.

The Webrover1 team focused on building a touch-friendly web and mobile compatible interface for the control of Lego Rovers, at the same time we worked on modularising the back end code. This enabled us to build several prototype systems demonstrating that different interfaces and back end hardware could be integrated easily within the same basic system.


Our design effort focused on two key areas, user interface design for a web based interface and the underlying system architecture.

User Interface Design

The web-based user interface was designed in two phases, the first focussed on tele-operation of the robot with delays and a camera feed (based on an idea mentioned on the Challenge web page by the Gothenburg project team). The second was based on the design of a rule-building system which was accomplished in collaboration with the LegoRoversUI team from Brasil.

For the rule builder, we took as our starting point the design from the LegoRoversUI team: Initial Design for the Rule Builder

And then refined it via "paper prototypes" into a form that would display well on mobile devices as well as web browsers: Initial Sketch of Final User Interface

System Architecture

At an abstract level our architecture consisted of three layers with clear links between each layer. At the top we have the UI, underneath that a "Robot Service" layer which ran a loop that took in commands from the user interface, polled sensors for data and then triggered any rules in the autonomous system. This was implemented in a generic fashion which did not make particular assumptions about the user interface, nor the underlying hardware. At the bottom layer we had hardware specific control which could, for instance, interpret the instruction "forward" from the Robot Service in a way that was specific to the hardware being controlled. This basic architecture is shown below:

High Level System Architecture


We succeeded in producing a number of prototype systems using lego robots, mobile devices, an electric imp based Curiosity model and a controller made from cardboard and a Makey Makey board.

Front End Interfaces

Our key focus was on mobile interface devices. Our first interface was for simple tele-operation of the robot with delays and a single rule that could be switched on and off:

Tele-operation Interface

We successfully deployed this interface and were able to control both the lego and electric imp based robots with it.

We also developed a prototype rule builder, demonstrations of which can be seen in the links to resources and on the project tumblr. While this wasn't linked to the back end system we were confident that we had the necessary software hooks in place to make this a comparatively simple task.

Lastly, thanks to resources and equipment supplied by the University of Dundee, we were able to construct a simple interface using a Makey Makey board, cardboard and conductive ink. Again this was used to control both the lego and electric imp robots.

Using Conductive Ink to Draw a Controller

The Makey-Makey board that powers the Carboard Controller

Hardware Specific Control

At the robot end we were able to control both a Lego robot running the leJOS operating system, and a different [Mini Mars Rover] (, built using a Wild Thumper chasis, an Arduino and an Electric Imp by the University of Dundee, from our working interfaces. We also experimented with mounting a mobile phone on the hardware platforms, allowing us to stream video from the phone back to the mobile interface.

Videos of these robots in action are available from the resources list and on the project tumblr.

The Electric Imp Based Curiosity Model

Future Work

In the immediate future we intend to link the rule building interface into the underlying system, allowing the construction of a richer set of rules to be used with the robots. Dr. Dennis intends to continue taking the lego rovers into schools and is also discussing with the University of Liverpool the possibility of adapting the activity, specifically the new rule building interface, for use in the Dangerous Science Summer School the university runs for Year 10 children.

We are also investigating AISB and STFC Small Grant awards for public engagement. These would let us invest in NXT2Wifi and Camera sensors for the existing rovers which would both extend the activity and help improve its accessibility to teachers and parents.

Project Information

License: LGPL
Source Code/Project URL:


Project Blog, charting our progress -
Video: Demo of Prototype Rule Builder -
Video: The Cardboard Controller -
Video: Controlling the University of Dundee Mini Mars Rover -
Video: user testing with a toddler -
Video: paper-prototype of the rule bulder -