Skip to content

OpenRover

A 3D-printed Mars Perseverance-style rover replica with a 6-wheel drive, 4-axis robotic arm, and remote control with touchscreen and web dashboard.

  • Wheeled
  • Open source
  • arduino
  • 3D printable

Suggested by Robotheca, created by @pol-valero (opens in a new tab), from github.com/pol-valero/openrover-robotic-platform (opens in a new tab). Pinned to commit d06a0a3 (opens in a new tab).

Hardware license
MIT (opens in a new tab)
Software license
MIT (opens in a new tab)
Commercial use
Allowed

This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.

Which files (3 files marked executable, 13 scripts, 3 firmware images)

Photo

OpenRover, photo from its repository
Photo:@pol-valero (opens in a new tab)MITsource file (opens in a new tab)

What it can do

Written by Robotheca from the project's documents.

  • Six-wheel drive platform with four steerable wheels, a replica of the Mars Perseverance rover.
  • Four-axis foldable robotic arm with a gripper.
  • Tiltable and rotary head with space for a development board and a camera.
  • Environmental sensing of temperature, humidity, pressure and altitude.
  • Custom remote control with touchscreen showing status values and selectable operation modes.
  • Battery monitoring for the rover and the remote control.
  • Four operation modes: conventional driving, 360-degree turn, robotic arm control, head control.
  • Web dashboard hosted on the rover showing status values and a video feed.

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The creator's steps, each with its instructions.

  1. 1Order all the mechanical and hardware parts
  2. 23D print the rover and remote controller parts
  3. 3Assemble the mechanical platform
  4. 4Create the wiring connections for the hardware components
  5. 5Set up and upload the code to the development boards

The guide appears here as you scroll.

Guide by @pol-valero (README.md), under MIT.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Arduino Mega in the rover body managing motors, servos, stepper motor and sensors, with radio.
  • RaspberryPi Zero 2W in the head connected to a RaspberryPi camera and generating a WiFi network.
  • Arduino Nano in the remote control reading joystick channels, handling radio and measuring battery levels.
  • ESP32-S3 touchscreen module in the remote control for the touchscreen UI.
  • NRF24L01 radio transceiver modules on the rover and the remote control.
  • DRV8871 motor drivers, A4988 stepper driver, MG996R/DS3225 servos, XD-37GB555 motors.
  • BME280 environmental sensor and micro limit switch.
  • LiPo battery with buck converters for power, and a CP2102 USB to TTL converter.

Connections

  • Arduino Mega communicates with the RaspberryPi Zero over serial.
  • Remote control and rover communicate by radio using NRF24L01 modules.
  • Wiring for each module is given in its schematic PDF, which must be followed exactly.
  • Remote control pieces are linked through JST-XH connectors and a logic level converter.

Schematics, boards and diagrams