All Projects

Robotics / Software

V0 Complete

BotBuddy: Remote-Controlled Robot with Live Video

Personal Project · Solo — Self-initiated ·May – August 2025
HardwareSoftwareSystemsMechanical

The Idea

A robot built to stay connected

BotBuddy started from a personal motivation: I wanted a way to stay connected with loved ones from afar — not just over video call, but something more present and interactive. A robot that could move around, stream live video, and be driven remotely from anywhere felt like the right kind of project: real hardware, real software, and a reason to actually build it well.

BotBuddy V0 rover — Raspberry Pi, motor driver, camera, wiring visible

BotBuddy V0 — Raspberry Pi 3 Model B, TB6612FNG motor driver, DC gear motors, and camera module

Tools & Skills

Hardware

  • Raspberry Pi 3 Model B
  • TB6612FNG dual motor driver
  • DC gear motors
  • GPIO interfacing
  • 4×AA battery pack + USB power bank

Software

  • Python (backend logic)
  • Flask (web server + control interface)
  • HTML (control page)
  • Ngrok (secure web tunneling)

Systems

  • Live video streaming
  • Web-based remote control
  • Remote access over public URL

Mechanical & Prototyping

  • Breadboarding + wiring
  • 3D printing (V1 planned)
  • Soldering (V1 planned)

How V0 Works

Hardware The physical system

The robot is built around a Raspberry Pi 3 Model B, which handles all compute — running the Flask server, processing movement commands, and streaming camera output. Motor control runs through a TB6612FNG dual motor driver, wired to the Pi's GPIO pins and driving two DC gear motors. Power is intentionally split: a 4×AA battery pack runs the motors to keep their current draw off the Pi's supply, while a USB power bank runs the Pi and camera separately.

Software Control & streaming

The control interface is a Flask web app hosted on the Pi itself. A simple HTML page lets users send movement commands — forward, back, left, right — handled in real time by a Python backend that translates each command into GPIO signals to the motor driver. The camera feed streams live through the same interface.

BotBuddy web control interface showing live video feed and arrow key controls

Flask control interface — live camera feed with on-screen movement controls, accessible via Ngrok public URL

Current State — V0

Proof of concept: it works, tape and all

BotBuddy V0 is physically held together with tape and breadboards. That's intentional for a proof of concept — the goal was to validate the full stack (hardware, control software, remote access, live video) before investing in a polished form factor. V0 does exactly that: the concept is validated and the foundation is solid.

What's Next

V1 — making it real

  1. 1 Design and 3D print a custom chassis — replace the current placeholder structure with a purpose-built frame sized for the electronics and payload bay
  2. 2 Replace temporary wiring with soldered connections — move off the breadboard and make the electronics robust enough for actual use
  3. 3 Add microphone or text-to-speech capabilities for basic two-way interaction — the feature that makes it genuinely useful for the original goal

This project has been a fun and hands-on way to apply both hardware and software skills — and I'm excited to keep building on it.