ā‰ˆ ₹40,300
full build, every optional upgrade included
81% of the ₹50,000 cap — ā‰ˆā‚¹9,700 headroom
🧠

Compute

Raspberry Pi 4 (4GB) running Ubuntu 22.04 + ROS2 Humble, the same OS/framework combo used throughout the course.

šŸ›°ļø

Perception

RPLidar A1 for 360° 2D scanning, a Pi Camera for object detection, an IMU for orientation, and ultrasonic sensors as a backup bumper ring.

šŸ›ž

Drivetrain

4WD chassis with encoder-equipped DC gear motors, driven by a dual-channel motor driver off a 12V Li-ion pack.

šŸ“‹ Bill of Materials

Every part, and what it's for

Core parts are required for the full course capstone (LiDAR-based Nav2 + SLAM). Optional rows are upgrades you can add later without changing anything else.

Component Purpose Qty Approx. Price
Raspberry Pi 4 Model B (4GB)CoreMain compute — runs Ubuntu + ROS21₹6,500
32GB microSD card (A2, high-endurance)OS + ROS2 workspace storage1₹700
4WD aluminum chassis + wheel setRobot frame1₹2,200
DC geared motors w/ quadrature encodersDrive + odometry feedback4₹1,800
Dual-channel motor driver (Cytron MDD10A / TB6612FNG)Drives motors from Pi GPIO/PWM1₹900
RPLidar A1M8 — 360° 2D LiDARSLAM mapping & Nav2 costmap input1₹9,999
Pi Camera Module v2 (or USB webcam)Object detection input1₹1,200
MPU6050 IMU moduleOrientation for sensor fusion1₹250
HC-SR04 ultrasonic sensorBackup close-range bumper ring3₹300
12V 3S Li-ion battery pack (~3000mAh) + BMSMain power supply1₹1,800
5V/3A buck converter moduleRegulated power for Pi & sensors2₹500
Power switch + emergency stop buttonSafety cutoff1₹350
Wiring, connectors, screws, standoffsAssembly hardware—₹600
3D-printed / acrylic sensor mountsLiDAR/camera/IMU mounting—₹700
Contingency & spares (~10%)Buffer for shipping/DOA parts—₹2,800
Coral USB Accelerator (Edge TPU)OptionalReal-time YOLO-class inference1₹4,500
High-capacity 5200mAh battery upgradeLonger runtime1₹1,700
Metal-gear precision motor upgradeBetter torque & odometry accuracy1₹1,500
Aluminum extrusion frame upgradeSturdier, more expandable chassis1₹1,200
Spare parts kit (wheels, fuses, wire)Field repairs1₹800
Core total₹30,600
Core + all optional upgrades₹40,300
šŸ’”

On a tighter budget? Drop the RPLidar and use only the camera + ultrasonic ring for a ~₹20,600 build. You'll lose 360° SLAM mapping, but can still run ROS2, differential-drive control, and camera-based object detection — great for modules 1–6 before upgrading.

šŸ› ļø Assembly

Build it in eight stages

Each stage maps to a module in the curriculum — do them in order and you'll have a fully verified subsystem before moving to the next.

Assemble the chassis & mount the motors

Bolt the four gear motors to the chassis, attach wheels, and mount the caster (if your kit uses one). Route motor wires toward where the driver board will sit.

Wire power, the motor driver & the E-stop

Connect the battery through the emergency-stop switch and a fuse before anything else. Wire the buck converters for the Pi's 5V rail separately from the motor driver's 12V rail — never power the Pi directly off the motor supply.

Flash the Pi & install ROS2

Flash Ubuntu 22.04 (64-bit) to the microSD card, boot the Pi headless over SSH, then install ROS2 Humble and create your workspace (see the Software Setup section below).

Mount & wire the sensors

Mount the IMU close to the robot's center of rotation, attach the camera facing forward, and space the three ultrasonic sensors around the front bumper. Connect the IMU over I²C and the ultrasonics to GPIO.

Bring up the motor driver node & verify /cmd_vel

Write or install a ROS2 driver node that subscribes to /cmd_vel and converts it into PWM signals for each wheel. Confirm with ros2 topic pub /cmd_vel geometry_msgs/Twist that the robot drives, turns, and stops correctly.

Calibrate odometry

Drive the robot exactly 1 meter in a straight line and compare against the encoder-reported distance; adjust your wheel-radius and wheel-base parameters until they match. Do the same for a 360° in-place rotation to calibrate angular odometry.

Mount the LiDAR & build your first map

Mount the RPLidar A1 with a clear 360° view, bring up its ROS2 driver, and confirm /scan looks correct in rviz2. Launch slam_toolbox and drive the robot around a room to build your first map.

Launch Nav2 & add object detection

Load your saved map, bring up the full Nav2 stack, and send a "Nav2 Goal" from rviz2 to watch the global and local planners work together. Finally, launch your object-detection node and confirm detections publish correctly alongside navigation.

āš ļø

Safety first: Li-ion packs can be dangerous if punctured, short-circuited, or charged incorrectly — always charge with a balance charger matched to your pack's cell count, never leave batteries charging unattended, and keep a fused, easily reachable emergency-stop switch on every powered test. Run early autonomous tests in an open, obstacle-padded area.

šŸ’» Software Setup

From a blank SD card to a working ROS2 workspace

This mirrors what you'll do inside Module 11 — the same commands, just gathered in one place for reference.

# 1. Install ROS2 Humble on Ubuntu 22.04 (Raspberry Pi)
$ sudo apt update && sudo apt install ros-humble-desktop

# 2. Install navigation & SLAM packages
$ sudo apt install ros-humble-navigation2 \
    ros-humble-nav2-bringup ros-humble-slam-toolbox \
    ros-humble-robot-localization

# 3. Create your workspace
$ mkdir -p ~/robot_ws/src && cd ~/robot_ws
$ colcon build --symlink-install
$ source install/setup.bash

# 4. Bring up your robot's drivers
$ ros2 launch my_robot_bringup robot.launch.py

# 5. Build a map, then navigate
$ ros2 launch slam_toolbox online_async_launch.py
$ ros2 launch nav2_bringup navigation_launch.py \
    map:=~/robot_ws/maps/room.yaml
šŸ“¦

Full package list, driver recommendations, and links to datasheets live on the Resources page.

Before you buy parts

Walk through the concepts first

Every subsystem here — kinematics, PID, planners, detection — has a free interactive simulator. Get comfortable in the browser before you touch a soldering iron.