Skip to content

B-Robot

A self-balancing Arduino robot, fully 3D printed, that can be driven from a smartphone or roam autonomously while avoiding obstacles.

  • Other
  • Open source
  • arduino
  • 3D printable

Suggested by Robotheca, created by @JJulio (opens in a new tab), from github.com/JJulio/b-robot (opens in a new tab). Pinned to commit 39b6990 (opens in a new tab).

Photo

This repository has no photo of the robot yet.

What it can do

Written by Robotheca from the project's documents.

  • Self-balancing two-wheeled robot controlled from a smartphone or tablet over Wi-Fi using the OSC protocol.
  • Manual mode: driven by external OSC control messages sent from a phone or tablet app such as TouchOSC.
  • Autonomous mode: uses an ultrasonic sonar sensor to detect obstacles, turns until a clear path is found, then continues.
  • Stability control uses a PI speed loop feeding a PD angle loop, with the output integrated into motor acceleration.

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The guide appears here as you scroll.

Guide by @JJulio (README.md), under GPL-2.0-only.

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Custom WITA board based on an Arduino Leonardo with an integrated RN131 Wi-Fi module.
  • Two NEMA17 stepper motors.
  • A4988 stepper motor drivers configured for 1/8 microstepping.
  • MPU6050 inertial measurement unit using the internal DMP quaternion solution at 200 Hz.
  • LV-MaxSonar-EZ3 sonar sensor for obstacle detection.

Connections

  • The MPU6050 is connected to the controller over the I2C bus.