Description
Introducing BallBeam Control Lab – Development Edition
Introducing BallBeam Control Lab, a compact experimental platform designed to study control systems, PID tuning, and sensor feedback using an ESP32. This project recreates the classic ball-and-beam control experiment in a modern, accessible format using affordable components and open-source tools.
Status: Development Version – Ongoing improvements
Release: March 2026
⚠ Development Notice
This project is still under active development. New improvements, optimizations, and features are planned for future updates.
Because of this, the current version is offered at a discounted price for early adopters who want to experiment with the platform and contribute feedback while development continues.
Future updates WILL include:
Improved control algorithms
Better filtering and sensing methods
Additional visualization tools
Mechanical refinements
✅ What’s Included (Complete Package)
🔹 3D Files (STL)
Beam structure and support frame
Servo mounting bracket
Sensor holder for Sharp IR sensor
Base platform and structural components
Parts optimized for easy printing and assembly
🔹 Electronics WIP
Complete electronic schematic
Wiring diagram for ESP32, servo, and Sharp IR sensor
**Bill of Materials (BOM) with all required components**
ESP32 Dev Module – Main microcontroller used to run the real-time PID controller.
Standard Servo Motor (Futaba size) – Controls the inclination of the beam.
Sharp IR Distance Sensor (4–30 cm) – Analog sensor used to measure the ball distance and provide feedback to the controller.
M3 Screws – 10 mm (x6) – Used for structural assembly of the printed parts.
M3 Screws – 20 mm (x4) – Used for mounting structural components.
M3 Brass Heat-Set Threaded Inserts (x6) – Recommended for durable threads in the 3D printed parts.
Jumper wires / Dupont cables – Used for wiring the ESP32, sensor and servo.
External 5V power supply – Required to power the servo motor safely.
🔹 Software
ESP32 Firmware and Python Control App
Designed for experimentation and learning in control systems
⚙ Key Features
🧠 ESP32 Real-Time Control
The system uses the ESP32’s hardware timer to run a deterministic 1 kHz control loop, enabling stable and responsive control behavior.
🎯 Sharp IR Distance Sensing
A short-range Sharp IR sensor (4–30 cm) measures the vertical distance of the ball, providing feedback for the PID controller.
📊 Python Control Interface
The included desktop application allows you to:
Adjust PID parameters in real time
Change the setpoint dynamically
Run automatic PID tuning
Monitor live telemetry from the controller
Perfect for experimentation, teaching, or learning practical control engineering.
🧩 Fully 3D Printable Structure
The entire mechanical structure is 3D printable, making the system easy to reproduce with common desktop printers.
Recommended Print Settings
Beam / Structural Parts
Material: PETG is recommended because it provides better mechanical resistance, durability and vibration tolerance compared to PLA.
Layer Height: 0.2 mm
Infill: 15–30%