Project Overview
The Teddy Bear Wheelchair Challenge was a multidisciplinary engineering design project focused on developing an autonomous wheelchair capable of competing in a series of challenges against other first-year engineering teams. The wheelchair was required to autonomously complete a timed race, launch a piece of recyclable material into a recycling bin, pull a weighted sled up a 5° incline, and earn points based on its overall aesthetics while satisfying strict design and construction constraints.
As the Project Team Leader and Electrical & Software Lead, I was responsible for the complete design of the wheelchair’s electrical and control systems, including the Arduino programming, breadboard circuitry, sensor integration, and hardware implementation. I also coordinated the team’s progress, managed project deliverables, and oversaw the integration of the electrical and mechanical systems. Through iterative testing, troubleshooting, and refinement, our team successfully developed a fully functional autonomous wheelchair that achieved the fastest race time in the competition and successfully completed the autonomous recycling challenge.
My Role
As the Project Team Leader, I was responsible for keeping the team organized, assigning tasks, tracking progress, and making sure every milestone and deliverable was completed on time. I worked closely with each team member throughout the project to ensure both the mechanical and electrical systems came together successfully.
My primary responsibility was the design and development of the wheelchair’s electrical and control systems. I was responsible for the complete electrical wiring, Arduino programming, hardware integration, and testing, ensuring the wheelchair could reliably complete each competition challenge.
Beyond the technical work, I contributed to the project’s technical reports, presentations, and documentation while coordinating the final integration of the electrical and mechanical systems. Throughout the project, I worked alongside my teammates to troubleshoot issues, refine the design, and ensure the wheelchair was competition-ready.
The Process
Electrical System Design
The first step in developing the electrical system was creating a complete wiring schematic in KiCad. Planning the circuit beforehand allowed me to organize every electrical connection, determine the placement of each component, and identify potential wiring issues before assembling the physical hardware. Having a clear schematic made the wiring process much more organized and reduced the likelihood of errors during integration.
Using the schematic as a guide, I started assembling the breadboard using an Arduino Uno, L6205N H-Bridge motor controller, ultrasonic sensor, servo motor, LEDs, switches, and a DC motor. Before connecting each component into the circuit, I tested it individually to make sure everything was working properly.
The L6205N H-Bridge motor controller was one of the most important components in the system. Since the Arduino cannot directly supply enough current to power a DC motor, the H-Bridge acted as an interface between the Arduino and the motor. It allowed the Arduino to safely control the motor’s direction and speed while delivering the higher current required to drive the wheelchair. This made it possible to program the wheelchair to move forward, reverse, stop, and perform each autonomous challenge reliably without overloading the Arduino.
To make the wheelchair fully autonomous and improve safety, I integrated an ultrasonic sensor that detected obstacles in front of the wheelchair and prevented potential collisions. In addition, I programmed LED indicators to illuminate during both forward and reverse movement, making the wheelchair’s operating state more visible to nearby users and improving overall safety during testing and competition.


Software Development
With the electrical system complete, I began developing the Arduino software that controlled the wheelchair during each competition event. Rather than creating separate programs for each challenge, I developed a single program containing three operating modes: autonomous race, recycling launch, and weight-pulling. To avoid reprogramming the Arduino between events, I implemented a simple mode-selection system using two jumper wires connected to dedicated input pins. By changing the jumper wire configuration, the wheelchair automatically selected the appropriate operating mode without requiring new code to be uploaded. This significantly reduced setup time during the competition and made the system much easier for the user to operate.
For the autonomous race, I carried out multiple test runs to determine the optimal travel time. Based on these results, I programmed the wheelchair to drive at full motor speed (PWM = 255), travel forward for approximately three seconds, pause briefly, reverse for another three seconds, and return to the starting position. Throughout the run, the front LED illuminated while moving forward and the rear LED illuminated while reversing, making the wheelchair’s direction clearly visible.
For the recycling challenge, I repeated the testing process to determine the correct travel time to the launch zone. Once the wheelchair reached the desired location, the program stopped the motor, activated the servo motor to launch the recyclable item into the recycling bin, and then reversed the wheelchair back to the starting position.
The weight-pulling challenge required a different approach. Instead of maximizing speed, I optimized the program to deliver consistent pulling power by adjusting the motor speed and control logic for the additional load. During this challenge, both LEDs were programmed to flash rapidly, similar to hazard lights, to indicate that the wheelchair was pulling a heavy load. This provided an additional visual safety warning for people nearby while also making the wheelchair more noticeable during the competition. The wheelchair then continuously drove up the 5° incline while the ultrasonic sensor monitored for obstacles throughout the run.
Across all three operating modes, the ultrasonic sensor continuously monitored for obstacles. If an object was detected within the predefined safety distance, the Arduino immediately stopped the motor to help prevent collisions. Throughout development, the software was repeatedly tested and refined to improve timing accuracy, reliability, and overall performance during the competition.

Putting Everything Together
Once the programming and electrical system were complete, I began integrating everything into the wheelchair chassis. I secured the breadboard, Arduino, and electrical components inside the frame while routing the wiring so it stayed organized and didn’t interfere with any of the moving mechanical parts. I also mounted the front and rear LED indicators onto the wheelchair and made sure all wiring connections were secure so nothing became loose during operation.
To drive the wheelchair, I connected the DC motor to the front axle using a pulley system. A high-tension rubber belt transferred the rotation of the motor to the wheels, allowing the wheelchair to move while keeping the motor securely mounted inside the chassis. I also connected the servo motor to the catapult mechanism so that when the servo rotated, it activated the catapult and launched the recyclable item into the recycling bin.
Once everything was assembled, I carried out several rounds of testing to make sure the electrical, mechanical, and software systems worked together as intended. During testing, I made adjustments to the wiring layout, pulley alignment, and catapult positioning until everything operated reliably. After several rounds of troubleshooting and fine-tuning, the wheelchair was fully assembled and ready for competition.
Results
The final wheelchair successfully completed the majority of the competition challenges and demonstrated the successful integration of the mechanical, electrical, and software systems.
During the autonomous race, the wheelchair completed the course with one of the fastest times of the competition. By optimizing the motor speed, programming the travel times, and fine-tuning the control logic through repeated testing, the wheelchair was able to complete the course quickly and reliably.
For the recycling challenge, the wheelchair successfully drove to the launch zone, stopped at the programmed location, and activated the servo-powered catapult to launch the recyclable item into the recycling bin. This demonstrated the accuracy of both the autonomous navigation and the launching mechanism working together.
The wheelchair also successfully completed the sled-pull challenge using a lighter load. While we attempted to pull a heavier load to earn additional points, the wheelchair was unable to complete the climb up the 5° incline. Although we did not achieve the maximum score in this event, it highlighted the trade-off between speed and pulling power and provided valuable insight for future design improvements.
In addition to the performance challenges, the wheelchair passed the required safety tests and remained stable throughout competition. The final design also received 8/10 for aesthetics, recognizing the overall appearance and presentation of the wheelchair.
Overall, the project provided valuable experience integrating mechanical, electrical, and software systems into a single autonomous product while demonstrating the importance of testing, troubleshooting, and teamwork throughout the engineering design process.


