Embedded Systems B.Tech/B.E Intermediate

Ball balancing robot Fall 2025

[Fall 2025] ECE 4760 Final Project - Ball Balancing Robot

  • Suitable forB.Tech/B.E Embedded Systems students
  • Build time4-6 weeks
  • LevelIntermediate
  • Available atAjvika Labs, Kakinada

About this project

This project implements a real time two axis ball balancing system using a 4 wire resistive touchscreen and a tilting 3D Printed platform driven by a Raspberry Pi Pico (RP2040). The platform holds a metal bearing ball on an acrylic plate. The metal ball is heavy enough that it does not jump or leave the surface; it simply rolls, and the touchscreen senses the contact point directly.
The Pico runs a closed loop PID controller in C that reads the touchscreen, computes error with respect to a setpoint at the plate center, and drives two hobby servos with PWM signals to tilt the plate. A custom VGA graphics path on the RP2040 plots the ball position and the servo commands on a 640×480 display so we can watch the control loop work in real time. The main goal is to keep the ball near the center under disturbances, while giving clear visual feedback on how the controller reacts.
Demo Video
Below is the link to our project demo video:

Detailed Project Description

Ball balancing robot Fall 2025 demonstrates closed-loop motion control: sensor input is turned into motor commands so the machine moves precisely and safely.

How It Works
1. Motors/servos are driven through a driver board from the controller's PWM outputs.
2. Commands come from a remote (Wi-Fi/BLE/RF/gesture) or from an autonomous algorithm.
3. Sensors (IMU, encoders, distance, GPS, LiDAR) provide feedback for stabilisation and obstacle avoidance.
4. A control loop adjusts motor outputs several times per second.

Key Components and Their Role
- Raspberry Pi Pico (RP2040): dual-core Cortex-M0+ microcontroller with PIO state machines used for precise, low-level timing.
- RP2040: dual-core Cortex-M0+ microcontroller with programmable I/O used for precise, low-level timing.
- Raspberry Pi: single-board Linux computer that runs the higher-level processing and networking.
- Servo motor: position-controlled actuator driven with a PWM signal.

Implementation Steps
1. Collect the components and study each module's datasheet (pin-out, voltage, interface).
2. Wire the circuit on a breadboard following the pin mapping; power sensors from the correct rail (3.3 V / 5 V).
3. Install C, Arduino IDE and the required libraries; flash a minimal test sketch for each module separately.
4. Write the main firmware: read sensors → process → drive outputs / send data.
5. Configure network or cloud credentials and test communication end-to-end.
6. Calibrate thresholds, add error handling (reconnect, sensor time-out) and run a long-duration test.
7. Finalise on a PCB / enclosure and document wiring, code and results.

Key Features
- Remote or autonomous control
- Sensor feedback
- Obstacle handling
- Adjustable speed / precision

Expected Output
On completion the student will have a machine that follows the commanded path or task reliably, with telemetry visible to the operator.

Deliverables
- Complete source code with comments
- Circuit diagram and pin mapping
- Project report with screenshots and results
- Demonstration-ready build

Technologies used

RP2040Raspberry Pi PicoCPWMVGARFIRServoPID

Hardware components

  • RP2040
  • Raspberry Pi Pico

Software & tools

  • C
  • Arduino IDE

What you get

  • Working project / hardware kit, tested before delivery
  • Complete source code with explanation
  • Project demo and guidance for your viva
  • Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed. Payment is in two parts: • 50% advance to start the project • Remaining 50% before delivery Note: • Documentation and PPT are not included by default • If you need documentation/PPT, it can be arranged for extra time and cost We'll confirm the exact timeline and cost with you after reviewing your requirements.