Skip to main content

Leo Rover specification

Leo Rover 1.8

Size and Performance

Weight: 6,5 kg
Dimensions: 425x448x305 mm

Maximum linear speed: ~0.4m/s
Maximum angular speed: ~60 deg/s

Estimated maximum obstacle size: 70mm
Protection rating: IP55 compliant
Run time: Estimated 4 hours of nominal driving
Connection range: Up to 100m (with live video stream)


Leo Rover Dimensions
Leo Rover Dimensions


Payload capacity: ~5 kg
Upper mounting platform dimensions: 299 x 183 mm
Hole grid: 18 x 15 mm
Holes: 40 x Φ7mm + 22 x Φ5,5mm

Connection interfaces

  • miniUSB waterproof socket
  • WiFi access point



Motors: 4 x in-hub DC motor with 73.2:1 planetary gearbox and 12 PPR encoder
Tire material: rubber with foam insert (non-pneumatic)
Inner rim diameter: 71 mm
Outer tire diameter: ~130 mm
Tire width: ~70 mm


Voltage: 11.1 V DC
Capacity: 5800 mAh
Type: 3S Li-Ion with internal BMS
Safety features:

  • short-circuit
  • overcurrent
  • discharge protection

Max. current: 8A (total for whole Rover)
Estimated 4 hrs battery life (nominal driving)


Camera resolution: 5 MPx
Lens: Fisheye with 160 degree diagonal field of view (IR non-filtered; night-vision allowed)


WiFi 2.4 or 5 GHz access point with external antenna
WiFi 2.4 or 5 GHz on internal RPi antennas for connectivity


Raspberry Pi 4B as an on-board computer
LeoCore as a real-time microcontroller

Internal open interfaces

Raspberry Pi:

  • USB x2
  • GPIO x20
  • RJ45 Ethernet
  • RPi display port
  • Bluetooth 5.0 with BLE

Hardware structure

Leo Rover 1.8 hardware diagram
Leo Rover 1.8 hardware diagram

Leo Rover controller

Leo Rover since version 1.8 is based on the LeoCore electronics board which, together with the Raspberry Pi computer, controls all the Rover's functionalities.

LeoCore controller

To make it easier, we listed all the interfaces used by Leo Rover as default. Just to make sure you don't interfere with them when developing.

Power inputto power the board
RPi portto power and RPi serial communication
LED outputto control the battery LED (to show system readiness)
Motor output A, B, C & D (PWM H-bridge)to power the rover motors and encodes
ST-link/V2 6-pin portused to flash firmware to the board using ST-link/V2 (optionally)

Take into consideration during the Rover assembly and development.

The board corner where there's power connector and power-related components tends to interfere with sensitive electronics such as wheel encoders. Make sure the encoder cables don't run on top of the corner.

3-pin power connector pinout

By default Leo Rover uses standard WEIPU SP13-3 connectors for connecting battery, Main Electronics Box and other possible addons.

Weipu SP13-3 pinout
Weipu SP13-3 pinout
Pin nameCable color
DC+red / black with white stripe

Software structure

Leo Rover 1.8 software diagram
Leo Rover 1.8 software diagram

Operating system

Ubuntu 20.04 + ROS Noetic

Ubuntu 22.04 + ROS2 Humble


Ready-to-go UI located under when using standard Leo Software Image.


This is the program that runs directly on the processor of the LeoCore board. It provides different functionalities to the Raspberry Pi through serial bus. The main features of the default leocore_firmware are:

  • differential drive controller (cmd_vel interface)
  • wheel states monitoring (joint_states interface)
  • battery voltage monitoring
  • wheel odometry calculation
  • IMU support

ROS nodes

When the Raspberry Pi boots, a set of ROS nodes is started. These nodes allow different features to be accessed via ROS topics and services. They are defined in leo_bringup package and mainly consist of:

  • rosserial node - communicates with the firmware via serial interface and makes its features available via ROS topics and services
  • Rosbridge server - creates WebSocket that provides a JSON API to ROS functionality for non-ROS programs.
  • Raspicam node - publishes images from Raspberry Pi camera module to ROS image transport topic
  • Web video server - provides a video stream of a ROS image transport topic that can be accessed via HTTP
  • Leo system node - provides system shutdown and reboot via ROS topics.

Web user interface (UI)

This is the user interface that can be accessed via a web browser. It communicates with Rosbridge server using roslibjs to access functionalities that are available in ROS topics. The default leo_ui brings features such as:

  • control of the Rover via a keyboard or a virtual joystick
  • display of a camera stream from Web video server
  • output of current battery voltage measurement
  • reboot and shutdown buttons