OPENBOT — TURN A SMARTPHONE INTO A SELF-DRIVING ROBOT (3.5K STARS)

Your old phone already has better sensors and compute than most hobby robots — this project just gives it a body.

by Matthias Müller and Vladlen Koltun

FULL CAD BOM FIRMWARE DOCS

RoboticsAI

Built withArduino3D printing

difficulty
●●●○○
time
a weekend-plus
license
MIT
repo
repo ACTIVE3,516 stars
3
Jump to section

COMPAREE VERDICT

OpenBot is a complete platform: a 3D-printed robot body that mounts a smartphone, Arduino firmware for motor control, mobile apps for driving and autonomous modes, and a machine learning pipeline for training custom behaviours. The person-following demo works on-device; autonomous navigation requires you to collect training data by manually driving the robot, then train a neural network on a PC. The biggest time sink is not the print or assembly — it is getting the training loop working if you want custom autonomy, because you need a Python environment, TensorFlow, and patience to collect enough good data. If you just want manual or person-following control, the project is straightforward. The documentation is thorough, but autonomous driving is still a research demo — expect quirks and retraining. The DIY version means a fair amount of wiring around an L298N motor driver; if you have never wired a motor driver or debugged serial logs, start with the basic body and manual control first, or buy one of the ready-to-run versions.

GOOD TO KNOW

  • —3D files for multiple body variants (standard, RC truck, Multi-Terrain Vehicle) are in the repository.
  • —Arduino firmware for motor control and sensor interfacing is included.
  • —Android apps (installable APK) and beta iOS apps (developer builds from Xcode only) are available, with person-following and autonomous navigation modes.
  • —Python training pipeline for custom driving policies is documented, using TensorFlow.
  • —Bill of materials lists Arduino Nano, L298N motor driver, TT motors, 18650 cells and optional sensors; ready-to-run versions (RTR-TT, RTR-520) are also sold.
  • —MIT license — unrestricted use including commercial.

Parts to buy

9 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • Arduino NanoFind
  • L298N motor driverFind
  • 4× TT motors with tiresFind
  • 3× 18650 cells with holderFind
  • USB OTG cableFind
  • M3 screws and nutsFind
  • Dupont cablesFind
  • Optional ultrasonic sensorFind
  • Speed sensors and OLEDFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintBody top and bottom plus a two-part phone mount. The standard body needs a print bed of at least 240 x 150 mm; slim, glueable and blocky variants fit smaller printers (down to 150 x 140 mm for the glued version).
BuyArduino Nano, L298N motor driver, 4× TT motors with tires, 3× 18650 cells with holder, USB OTG cable, M3 screws and nuts, Dupont cables; optional ultrasonic sensor, speed sensors and OLED — BOM is in the repo
Tools3D printer, soldering iron, wire strippers, small screwdrivers; Python environment and TensorFlow for training
SkillsIntermediate — 3D printing, basic soldering, Arduino flashing, mobile app installation; ML training is advanced and optional
TimePrint and assemble in a weekend; add several evenings if training custom autonomy
CostBand two — the project puts the robot body at about 50 dollars in parts, plus filament; the phone is extra if you do not have a spare one.
SafetyThe reference build runs on three lithium-ion 18650 cells — use a proper charger and do not over-discharge them. Moving wheels can pinch fingers. The docs warn to keep a game controller connected during person following or autonomous driving so you can stop the robot at any time.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

Official overview video from the OpenBot team: OpenBot: Turning Smartphones into Robots (2022).

More builds like this

All projects

Gallery

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Pick a body variant (Standard body for flat surfaces, RC truck body for bigger wheels, MTV body for rough terrain — STLs are in the /body folder)
  2. 2.Order electronics (The BOM is in body/diy/README.md, with EU, US and AliExpress links — choose the L298N (DIY) or custom PCB option before ordering)
  3. 3.Print and assemble (Assembly guide is in body/diy — wire the motors to the L298N, mount them, then add the electronics and sensors)
  4. 4.Flash Arduino firmware (Firmware is firmware/openbot/openbot.ino — use Arduino IDE, select the Nano board, set your body type in the sketch and pick the correct COM port)
  5. 5.Install mobile app (Install the Android APK from the README's QR code or GitHub releases (iOS: build in Xcode from /ios) — connect the phone to the Arduino with the USB OTG cable and test manual control first)
  6. 6.Optional: train a driving policy (Training pipeline in /policy — collect data by manually driving, then train with TensorFlow on a PC; expect several iterations)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • The firmware expects the L298N PWM inputs on Arduino pins D5, D6, D9 and D10 and the motors on specific outputs; wire it exactly as in the DIY guide or edit the firmware to match your wiring.
  • The phone is held by a printed two-part mount with a spring or rubber band; check that your phone (with case) fits before you close up the body.
  • Person following uses a bundled detector model and works without training. The bundled autonomous-navigation model will probably not work in your environment; the docs tell you to collect your own data and train your own driving policy, so expect several iterations.
  • Battery voltage matters — the reference build uses three 18650 cells in series; if you use a different pack, check that motors do not stall or overheat and that the firmware's battery reading still makes sense.
  • Training the ML model needs a CUDA-capable GPU or a lot of patience on CPU — budget half a day for environment setup if you have never used TensorFlow.
  • The repository is active and structure has changed — old forum posts may reference moved files; always check the current README for file paths.

Can I use an iPhone?

Yes — iOS build instructions are in the /ios folder; for now the iOS apps run only as developer builds from Xcode. The Android app is more polished and installs as an APK from the README's QR code or the GitHub releases.

Do I need to train a model to use it?

No — manual control and person-following work without any training. The ML training pipeline is only needed if you want custom autonomous behaviours.

What if I do not have a 3D printer?

The build guide suggests a basic Arduino robot car chassis kit plus a store-bought phone mount instead, or building your own chassis from wood or cardboard. You can also send the STL files to an online print service, or buy a ready-to-run OpenBot.

How fast does it go?

The project does not publish a top speed. It depends on the motors, gearing and battery voltage; the reference DIY build uses four TT gear motors on three 18650 cells.

Can I add more sensors?

Yes — the official build already supports optional wheel speed sensors, an ultrasonic distance sensor, indicator LEDs and an OLED display, and the phone adds camera, GPS and motion sensors. Anything beyond that means modifying the firmware and the app yourself.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion3

FROM THE COMPAREE TEAM

The project includes a full ML training pipeline — you drive the robot manually to collect data, then train a neural network to replicate your driving. If you built one, what environment would you train it in first?

CompareeTEAM2mo agoedited

Practical notes from our verification: the repository has about 3.5k stars and is actively maintained under the MIT licence. The 3D files and DIY build guide, Arduino firmware, Android and iOS app source, the Playground for programming and the Python policy-training pipeline are all present, and the Android app can be installed as an APK from the releases. The person-following demo works on-device; autonomous navigation requires collecting training data and training a policy on a PC. The DIY bill of materials powers the robot from three 18650 cells, so plan for a matching charger. If you do not want to source parts yourself, the body README also points to ready-to-run OpenBot versions sold on Amazon. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

Atharv More2mo ago

Haven't gone through the actual project build but seeing true potential in your diy section I hope the ignorant mindsets will soon grasp your efforts and quality🙏

CompareeTEAM2mo ago

@Atharv More Thanks Atharv, that means a lot. The DIY section is the part we care most about — every project gets checked for whether the files are actually there before it goes up, because half the fun is finding out a repo is missing the one part you need. If you ever do build the OpenBot, tell us which phone you used. The old-phone angle is the whole point of that one and we'd love a real data point.

Matthias Müller and Vladlen Koltun

OpenBot started as an Intel Labs research project by Matthias Müller and Vladlen Koltun (ICRA 2021) to make robotics and autonomous driving accessible using commodity hardware — smartphones already have the sensors and compute that cost thousands in traditional robots, so the project focused on giving them a body and a training pipeline. The repository is maintained with contributions from a global community.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.