MCPcopy Index your code
hub / github.com/botbotrobotics/BotBrain

github.com/botbotrobotics/BotBrain @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,833 symbols 4,830 edges 400 files 97 documented · 5% updated 22d ago★ 2382 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BotBot

One Brain, any Bot.

ROS 2 Humble Next.js 15 MIT License Jetson

Website Discord LinkedIn YouTube

English Português Français 中文 Español

BotBrain Open Source (BBOSS) 🤖

BotBrain is a modular collection of open source software and hardware components that lets you drive, see, map, navigate (manually or autonomously), monitor, and manage legged (quadrupeds, bipeds and humanoids) or wheeled ROS2 robots from a simple but powerful web UI. The hardware gives you 3D printable mounts and an outer case so you can put BotBrain on your robot without guesswork.

  • Designed around Intel RealSense D435i and the NVIDIA Jetson line
  • Officially supported boards: Jetson Nano, Jetson Orin Nano (support for AGX and Thor coming soon)
  • Everything is modular - you don't need to run every module (some heavy AI modules require Orin AGX)

📹 Watch BotBrain intro video 📹

📹 Watch BotBrain complete 1 hour of autonomous patrols in our office

✨ Features at a Glance

Dashboard & Fleet Control

Dashboard & Fleet Control

Complete dashboard to see status, robot info and quickly jump to other sections
CockPit

CockPit

Predefined control page with full front/back camera, 3D model, map and navigation as well as quick controls
My UI

My UI

Customizable control interface with all the features of cockpit
Missions

Missions

Create missions for the robot to execute and navigate autonomously
Health

Health

View BotBrain's complete health: CPU/GPU/RAM usage, state machine nodes control and status, wifi connection control
User Profile

User Profile

Customize the look and feel of BotBrain, set custom colors, and speed profiles

BotBrain Assembly

Open Source Hardware

Quick to 3D print, easy to build, and designed to snap onto any robot. Get your robot running with BotBrain in less than 30 minutes.

📹 Watch BotBrain hardware assembly guide

Compleate features list

Multi-Robot Platform Support

  • Unitree Go2 & Go2-W - Quadruped robots with full hardware interface and control
  • Unitree G1 - Humanoid with upper-body pose control and FSM transitions
  • DirectDrive Tita - Biped with full control
  • Custom robots - Extensible framework for adding any ROS2-compatible platform
  • Legged & wheeled - Architecture supports both locomotion types

Hardware & Sensors

  • 3D printable enclosure - Snap-fit design with robot-specific mounting adapters (Go2, G1, and Direct drive Tita)
  • Intel RealSense D435i - Dual camera support for viewing and SLAM/Navigation
  • IMU & odometry - Real-time pose estimation from all supported platforms
  • Battery monitoring - Per-robot battery state with runtime estimation

AI & Perception (Coming Soon)

  • YOLOv8/v11 object detection - 80+ classes, TensorRT-optimized, real-time tracking on BotBrain (Coming Soon)
  • ROSA natural language control - Conversational robot commands via LLM
  • Detection history - Searchable log with image and information / description (Coming Soon)

Autonomous Navigation

  • RTABMap SLAM - Visual mapping with single or dual RealSense D435i cameras
  • Nav2 integration - Path planning, dynamic obstacle avoidance, recovery behaviors
  • Mission planning - Create and execute multi-waypoint autonomous patrols
  • Click-to-navigate - Set goals directly on the map interface
  • Map management - Save, load, switch, and set home positions

System Orchestration

  • Lifecycle management - Coordinated node startup/shutdown with dependency ordering
  • State machine - system states with automatic on/off
  • Priority-based velocity control - 6-level command arbitration (joystick > nav > AI)
  • Dead-man switch - Hardware/software safety lock for all motion commands
  • Emergency stop - Comprehensive e-stop sequence

Control Interfaces

  • CockPit - Pre-configured control page with cameras, 3D model, map, and quick actions
  • My UI - Drag-and-drop customizable dashboard with resizable widgets
  • Virtual joysticks - Touch/mouse dual-stick control with velocity tuning
  • Gamepad support - PS5, Xbox or generic joystick with custom button mapping and mode switching
  • Keyboard control - WASD controls
  • Speed profiles - Multiple velocity presets for different operational modes (Beginner, Normal and Insane mode)
  • Robot actions - Stand/sit, lock/unlock, gait selection, lights, mode transitions

Camera & Video

  • Multi-camera streaming - Dynamic discovery for front, rear, and custom topics
  • H.264/H.265 codecs - Resolution scaling, frame rate control, bandwidth optimization
  • In-browser recording - Record video from cameras and save them to your downloads folder
  • 3D visualization - URDF-based robot model with laser scan overlay and navigation path

System Monitoring

  • Jetson stats - Board model, JetPack version, power mode, uptime
  • CPU/GPU monitoring - Per-core usage, frequency, memory, thermal throttling
  • Power tracking - Per-rail voltage, current, and wattage with peak detection
  • Thermals & fans - CPU/GPU/SOC temps with fan speed control
  • Storage & memory - Disk usage alerts, RAM/swap monitoring

Networking & Fleet

  • WiFi control panel - Network scanning, switching, and signal monitoring
  • Connection modes - WiFi, Ethernet, 4G, hotspot with latency tracking
  • Multi-robot fleet - Simultaneous connections, fleet-wide commands, status dashboard
  • Diagnostics - Node health, error/warning logs, state machine visualization

Customization & UX

  • Light/dark themes - Custom accent colors, persistent preferences
  • Responsive layouts - Mobile, tablet, and desktop with touch support
  • User profiles - Avatar, display name, theme color via Supabase Auth
  • Multi-language - English and Portuguese with regional formats
  • Audit logging - Searchable event history across 10+ categories with CSV export
  • Activity analytics - Usage heatmaps and robot utilization tracking

Table of Contents

Overview

BotBrain consists of three main components:

Hardware

A 3D printable enclosure with internal mounts designed to house an NVIDIA Jetson board and two Intel RealSense D435i cameras. The modular design allows you to attach BotBrain to various robot platforms without custom fabrication.

Frontend

A Next.js 15 web dashboard built with React 19 and TypeScript. It provides real-time robot control, camera streaming, map visualization, mission planning, system monitoring, and fleet management—all accessible from any browser on your network.

Robot (ROS2 Workspace)

A collection of ROS2 Humble packages that handle: - Bringup & Orchestration (bot_bringup) - System launch and coordination - Localization (bot_localization) - RTABMap-based SLAM for mapping and positioning - Navigation (bot_navigation) - Nav2 integration for autonomous movement - Perception (bot_yolo) - YOLOv8/v11 object detection - Robot Drivers - Platform-specific packages for Unitree Go2/G1, DirectDrive Tita, and custom robots

Join our discord server for discussion on BotBrain and Robotics


Project Structure

BotBrain/
├── frontend/          # Next.js 15 web dashboard (React 19, TypeScript)
├── botbrain_ws/       # ROS 2 Humble workspace
│   └── src/
│       ├── bot_bringup/          # Main launch & system orchestration
│       ├── bot_custom_interfaces/# Custom ROS 2 messages, services, actions
│       ├── bot_description/      # URDF/XACRO models & robot_state_publisher
│       ├── bot_jetson_stats/     # Jetson hardware monitoring
│       ├── bot_localization/     # RTABMap SLAM
│       ├── bot_navigation/       # Nav2 autonomous navigation
│       ├── bot_rosa/             # ROSA AI natural language control
│       ├── bot_state_machine/    # Lifecycle & state management
│       ├── bot_yolo/             # YOLOv8/v11 object detection
│       ├── g1_pkg/               # Unitree G1 support
│       ├── go2_pkg/              # Unitree Go2 support
│       ├── joystick-bot/         # Game controller interface
│       └── tita_pkg/             # DirectDrive Tita robot support
├── hardware/          # 3D printable enclosure (STL/STEP/3MF)
└── docs/              # Documentation

Requirements

Hardware

Component Requirement
Compute NVIDIA Jetson (Nano, Orin Nano, or AGX series)
Cameras 2x Intel RealSense D435i
Robot ROS2 Humble robot or Unitree Go2 and Go2-W, Unitree G1, Direct Drive Tita, or custom robot
Network Ethernet or WiFi connection

Software

Component Requirement
OS JetPack 6.2 (Ubuntu 22.04) recommended
Container Docker & Docker Compose
Node.js v20+ (for local frontend development only)

Installation

BotBrain has two main components: hardware (3D printed enclosure and internal components) and software (frontend web app and ROS2 workspace).

1. Hardware Setup

3D print the enclosure and assemble the electronics.

Key Parts: 3D printer, PLA filament, NVIDIA Jetson, 2x RealSense D435i, voltage converter.

Hardware Assembly Guide - Detailed instructions on how to build your BotBrain

Complete Assembly Video - Full step-by-step video walkthrough of the BotBrain assembly process

2. Supabase Setup

The web dashboard requires Supabase for authentication and data storage. You'll need to create your own free Supabase project.

Supabase Setup Guide - Complete instructions with database schema

Quick summary: 1. Create a project at supabase.com 2. Run the SQL migrations from the setup guide 3. Copy your API keys for the next step

3. Software Setup

G1 WiFi Setup Guide - If you are using G1 robot, please refeer to this docs before.

External Dependencies

Operating System: - NVIDIA JetPack 6.2 (recommended) - Other Linux distributions may work but are not officially supported

Docker & Docker Compose:

Required for containerized deployment:

  1. Install Docker:

```bash

Add Docker's official GPG key:

sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://down

Extension points exported contracts — how you extend this code

Window (Interface)
(no doc)
frontend/src/types/global.d.ts
ViewerOptions (Interface)
(no doc)
frontend/src/types/ros2d.d.ts
OccupancyGridClientOptions (Interface)
(no doc)
frontend/src/types/ros2d.d.ts
NavigationArrowOptions (Interface)
(no doc)
frontend/src/types/ros2d.d.ts
StateMachineServiceRequest (Interface)
(no doc)
frontend/src/types/StateMachine.ts

Core symbols most depended-on inside this repo

t
called by 461
frontend/src/contexts/LanguageContext.tsx
log
called by 456
frontend/src/utils/audit-logger.ts
useRobotConnection
called by 93
frontend/src/contexts/RobotConnectionContext.tsx
cn
called by 74
frontend/src/utils/cn.tsx
useLanguage
called by 55
frontend/src/contexts/LanguageContext.tsx
parseValue
called by 33
frontend/src/hooks/ros/useRosJetsonDiagnostics.ts
generateId
called by 30
frontend/src/contexts/DashboardContext.tsx
useSupabase
called by 28
frontend/src/contexts/SupabaseProvider.tsx

Shape

Function 1,005
Method 449
Interface 289
Class 71
Enum 19

Languages

TypeScript72%
Python21%
C++7%

Modules by API surface

frontend/src/utils/audit-logger.ts47 symbols
botbrain_ws/src/go2_pkg/scripts/go2_write.py31 symbols
frontend/src/components/weather/WeatherDashboard.tsx30 symbols
botbrain_ws/src/bot_jetson_stats/bot_jetson_stats/scripts/wifi_services.py29 symbols
botbrain_ws/src/g1_pkg/src/g1_driver/g1_driver.cpp24 symbols
botbrain_ws/src/bot_localization/bot_localization/scripts/rtab_manager.py23 symbols
frontend/src/components/robot-header.tsx22 symbols
botbrain_ws/src/bot_state_machine/src/state_controller.cpp22 symbols
frontend/src/components/soundboard-sound-clips.tsx21 symbols
botbrain_ws/src/go2w_pkg/scripts/go2w_write.py21 symbols
botbrain_ws/src/g1_pkg/src/g1_write.cpp21 symbols
frontend/src/components/widgets/SoundClipsWidget.tsx20 symbols

For agents

$ claude mcp add BotBrain \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page