Skip to content

OpenBot

A low-cost small electric vehicle body that uses an Android smartphone as its brain, supporting person following and autonomous navigation.

  • Wheeled
  • Open source
  • Works with AI
  • 3D printable

Suggested by Robotheca, created by @ob-f (opens in a new tab), from github.com/ob-f/OpenBot (opens in a new tab). Pinned to commit 216ecb0 (opens in a new tab).

Photo and 3D model

OpenBot, photo from its repository
Photo:@ob-f (opens in a new tab)MITsource file (opens in a new tab)

3D model loaded from the original files on GitHub at 216ecb0, under MIT. View the original files from GitHub (27.4 MB) (opens in a new tab)

What it can do

Written by Robotheca from the project's documents.

  • Turns a smartphone into the brain of a low-cost wheeled robot body, with an Android software stack for tasks such as person following and autonomous navigation.
  • The microcontroller handles low-level vehicle control, converting drive commands to PWM for the motor controller.
  • Reads wheel rotation from optical speed sensors, battery voltage through a divider, and optional ultrasonic and bumper sensors, sending readings back to the phone over serial.
  • Can be driven by a Bluetooth game controller, or by Node.js, Python, Flutter or web-server controllers over WiFi or the internet.
  • Indicator LEDs, front/back lights and status LEDs can be switched on and off by serial commands.

Works with AI

Found by Robotheca in the project's files at commit 216ecb0, its robot.yaml and Robotheca's notes on its documents. Never guessed; Robotheca doesn't run the code.

Bill of materials

21 parts

21 of 21 parts shown

Parts list
#ComponentQuantityEst. priceSupplier
1LESD5D5.0CT1G2–LCSC
2B2B-PH-K-S(LF)(SN)4–LCSC
31.25T-1-10AW1–LCSC
4Header-Male-2.54_2x34–LCSC
51.25T-1-3A2–LCSC
61.25T-6A1–LCSC
710K2–LCSC
8210S-1*2P L=11.6MMGold-plated black1–LCSC
930K1–LCSC
101K4–LCSC
11100nF1–LCSC
1210K8–LCSC
1310uF1–LCSC
14S8050_C21464–LCSC
15SMAJ13A_C3098561–LCSC
16AO3409A1–LCSC
171N5819HW1-7-F1–LCSC
18LM393DT2–LCSC
19Arduino_Nano_Header1––
20210S-2*5P L=11.6MMGold-plated black2–LCSC
21DC-044B-3A-2.01–LCSC

21 of 21 parts have no price in the source, so there is no parts total. Read from body/rtr/pcb/BOM_BaseBoard_Arduino_V1A.csv at the pinned commit.

Build guide

The guide appears here as you scroll.

Guide by @ob-f (README.md), under MIT.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Arduino Nano with ATmega328P microcontroller, or an ESP32 development kit, as the firmware bridge to the phone.
  • Motor driver: L298N for the DIY build, or DRV8870-based motor boards in the PCB variants.
  • Optional ultrasonic distance sensor, optical wheel speed sensors and bumper sensors.
  • Optional OLED display, indicator and status LEDs.
  • Battery with a voltage divider circuit for battery voltage measurement.

Connections

  • The microcontroller is connected to the smartphone over a serial link.
  • The microcontroller drives the motor controller with PWM signals.
  • Optical speed sensors on the front wheels feed interrupt pins on the microcontroller; the Arduino Nano's port interrupts allow all pins to be used as interrupts with the PinChangeInterrupt library.
  • The battery voltage is read through a voltage divider circuit.
  • The firmware's hardware configuration flag must match the chosen board variant (DIY, PCB_V1, PCB_V2, RTR_TT, RC_CAR, LITE, RTR_520, MTV or DIY_ESP32).

Schematics, boards and diagrams