Project Title: Tilt Control Car – A Gesture-Controlled Vehicle

Team Members: Alexander Lindquist, Steven Pang
Course: ECE 414 – Embedded Systems

Project Overview

This project involved the design and construction of a car fully controlled by hand motions. Building upon traditional remote-controlled vehicles, this system enhances the user experience by integrating intuitive gesture-based control for both speed and direction, real-time feedback on a handheld screen, and robust wireless communication.

Key Features & Objectives

The system was designed to meet the following functional requirements:

  • Gesture-Based Speed Control: The car’s speed is controlled by the forward/backward tilt angle of the hand, with a 45-degree tilt resulting in half speed.

  • Gesture-Based Directional Control: The car’s turning radius is controlled by the left/right tilt angle of the hand, with a 30-degree tilt for a slight turn and a 60-degree tilt for a sharp turn.

  • Real-Time LCD Feedback: A screen on the hand controller displays the current speed and direction.

  • Wireless Communication: Bluetooth Low Energy (BLE) provides the communication link between the hand controller and the car.

  • Safety and Error Handling: The system includes an emergency stop feature activated by flipping the hand palm-up (an 80-degree tilt) and logic to smoothly decelerate before changing direction.

  • Turning In Place: The car can spin on the spot by applying a high tilt-angle, which drives the left and right wheels in opposite directions.

Technical Implementation

System Architecture:
The project consists of two main subsystems:

  1. Hand Controller: A handheld unit containing the sensors and display.

  2. Car: The vehicle receiving commands and driving the motors.

Hardware Core:

  • Microcontrollers: Two Raspberry Pi Pico boards (one in the controller, one in the car).

  • Sensors: An accelerometer and gyroscope to detect hand tilt.

  • Communication: HC-05 Bluetooth modules for BLE communication.

  • Actuation: Two DC motors controlled via H-Bridge motor drivers for differential steering.

  • User Interface: An LCD touchscreen for displaying status information.

Software & Framework:

  • Framework: Arduino

  • Key Functionality:

    • The software on the hand controller reads tilt data from the accelerometer/gyroscope.

    • This data is processed and converted into speed and direction commands.

    • Commands are sent via BLE to the car’s microcontroller.

    • The car’s microcontroller generates corresponding PWM signals for the motor drivers to control speed and steering.

Challenges & Adaptations

The team successfully overcame several significant challenges during the project:

  • Hardware Failures: Three Raspberry Pi Pico boards were damaged due to incorrect high-voltage connections from the battery, underscoring the importance of proper power management.

  • Mechanical Design: The car chassis was 3D-printed three times to achieve a functional and durable design.

  • Software Libraries: Implementing the gyroscope and accelerometer in C proved difficult without library support, leading to the adoption of the Arduino framework to streamline development.

  • System Responsiveness: Initial turning was slow; this was resolved by increasing the software update rate to improve the system’s reaction time.

Results & Demonstration

The project successfully passed all validation tests, including:

  • Responsive forward/backward movement controlled by hand tilt.

  • Accurate and proportional left/right turning, including the ability to turn in place.

  • Real-time updating of the status on the LCD screen.

  • Reliable Bluetooth communication with a response time under 200ms.

  • Successful activation of the emergency stop feature.

The final system demonstrates a robust and intuitive gesture-controlled vehicle that reacts smoothly to user input.

Conclusion & Future Work

This project provided comprehensive hands-on experience in embedded systems, integrating sensor data acquisition, wireless communication, motor control, and user interface design. Despite challenges with hardware integration and software development, the team delivered a fully functional tilt-control car that met all specified requirements.

The project required approximately 40 hours of work per team member and was completed within the $500 budget constraint.