3D-Printed Arduino Rover
A custom Arduino-controlled differential-drive rover with a 3D printed chassis, joystick steering, PWM motor control and live OLED telemetry.
- Wheeled
- Open source
- arduino
- 3D printable
Suggested by Robotheca, created by @Tpatt97 (opens in a new tab), from github.com/Tpatt97/Differential-Drive-Arduino-Rover (opens in a new tab). Pinned to commit 884aa05 (opens in a new tab).
- Hardware license
- MIT (opens in a new tab)
- Software license
- MIT (opens in a new tab)
- Commercial use
- Allowed
Photo and 3D model
3D preview converted from github.com/Tpatt97/Differential-Drive-Arduino-Rover at 884aa05, under MIT. View the original files from GitHub (29.3 MB) (opens in a new tab)
What it can do
Written by Robotheca from the project's documents.
- Drives as a differential-drive rover using two independently PWM-controlled DC gear motors for steering and throttle.
- Takes proportional throttle and steering input from an analog joystick module.
- Shows live telemetry on an onboard I2C OLED: throttle %, steering bias %, and left and right motor output %.
- Applies deadzone filtering and computes real-time motor output percentages in firmware.
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The creator's steps, each with its instructions.
- 1Design the chassis and wheels in Fusion 360
- 23D print the chassis, drivetrain and electronics tray
- 3Assemble the lower chassis and drivetrain
- 4Wire the 2N2222 motor stages with flyback diodes
- 5Connect the joystick and SSD1306 OLED display to the Arduino UNO
- 6Install the Arduino firmware and test each motor
- 7Assemble the upper electronics tray and battery pack
The guide appears here as you scroll.
Guide by @Tpatt97 (README.md), under MIT.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- Arduino UNO controller board.
- Two 12V DC gear motors.
- Two 2N2222 NPN transistors used as motor switching stages.
- Two flyback diodes for motor protection.
- SSD1306 I2C OLED display for telemetry.
- Analog joystick module for input.
- 8x AA battery pack as the power source.
Connections
- Each motor is driven by its own 2N2222 transistor stage with flyback diode protection.
- The SSD1306 OLED is connected over I2C.
- The joystick provides analog inputs to the Arduino.
- A wiring diagram is provided in images/Wiring_Diagram.jpg.