Course:VANT151/2025/Capstone/APSC/Team4
Home
Welcome
Welcome to the Wiki page of Team 4 (VANT151 (Multidisciplinary Engineering Project Design) – Summer 2025). Our group is made up of 10 members, divided into 5 sub-teams (Documentation, Electrical, Coding, Mechanical and Structural). Throughout this course, we worked on designing and constructing a tricycle prototype to Eliminate or Mitigate the Problems with Cycling. The main objectives of our tricycle are to offer protection against bad weather, comfortable user experience, minimize user physical effort, improve safety, and boost efficiency by shortening both commuting and incidental travel times. This wiki contains our design process with gantt charts, flowcharts and alternative desgins, and the final features of our prototype with to-scale graphs and important data.
Introduction
In British Columbia, cars are widely used for commuting, but they are not a sustainable option for the environment. Since high CO₂ emissions from cars are contributing significantly to the climate change, reducing these emissions is a key goal for our community. However, sustainable transportation methods like biking and walking only makes up a small portion of campus travel. Therefore, UBCO has developed a Climate Action Plan (CAP 2030) that aims to increase biking and walking to help lower greenhouse gas emissions.
Tricycles are a practical and sustainable alternative to cars. They are easier to use than bikes for many people. As a result, tricycles can help more riders feel comfortable to choosing active transportation.
Our goal is to design a safe, comfortable, weather-resistant, and efficient tricycle that supports Target 4 of the Transportation Plan by encouraging more people to bike. If more people (including students and staff), switch from cars to tricycles for their daily commutes to study or work, campus transportation will become much more sustainable and CO₂ emissions will be reduced.
Team Requirements
Functions
Basic functions our tricycle must meet:
- Transport a rider.
- Enable the rider to remain physically active while commuting.
- Carry common school necessities, such as books, a laptop, lunch, outerwear, sports gear, and spare clothing.
- Be functional in rainy or snowy conditions.
- Keep the rider cool in summer and warm in winter.
- Provide sufficient lighting to ensure the visibility of both the rider and other road users.
- Prevent thef.
Objectives
Desired features we should have:
- Reduce the chances of commuting disruptions, such as collisions with other commuters or loss of control of the vehicle.
- Lessen the severity of injuries and decrease the risk of fatality if a commuting incident occurs.
- Adjust and optimize the amount of physical effort required from the commuter, ideally allowing for customization based on individual fitness and desired exercise level.
- Shorten commuting time by optimizing the chosen route and limiting negative impacts from adverse weather.
- Enhance overall comfort for the commuter.
- Reduce any extra time spent before and after the main commute.
Requirements
Constrains of our project:
- The width must not be greater than 240 mm (equivalent to 1,200 mm at full scale); stability must be taken into account, especially for non-tilting designs.
- The total length and width must fit within a copier paper carton size of 430 x 279 mm (equivalent to 2,150 mm at full scale).
- The minimum turning radius should be 600 mm or less, measured from wall to wall.
- The vehicle must be able to hold a mannequin that is 360 mm tall (which represents a 1:5 scale of a 1.8-meter-tall rider).
- The electrical power usage must not exceed 9.6 V DC at 2.8 A (nominal).
- Must be able to create and maintain a temperature at the rider’s chest that is different from the surrounding environment.
- Must travel in a straight line.
- Must successfully complete a figure-eight path without tipping over in both:
- Remote control mode
- Pre-programmed mode
Coding
Overview of the Arduino code
Requirements
The vehicle control system shall be programmed to initiate movement upon power-on, triggered by a designated switch signal. The software must ensure reliable synchronization between the remote controller and the onboard control logic, enabling real-time response and continuous vehicle maneuverability.
Functions
- Configure wireless communication between the remote controller and the vehicle to operate on the same channel.
- Implement joystick-based control logic to adjust vehicle steering through directional motor control.
- Program the remote toggle switch to control the activation and deactivation of the vehicle's drive system.
- Integrate feedback indicators such as serial output to reflect system status and connection state.
- Implement a multi-state fan control logic triggered by the joystick button, allowing users to cycle through cooling, heating, and off modes.
- Reserve input/output interfaces to support optional modules including buzzers, sensors, or additional controls.
Objectives
- Ensure wireless communication maintains stable connectivity between the remote and vehicle under typical indoor operating range.
- Guarantee that steering commands from the joystick are processed and reflected in vehicle motion with minimal perceptible delay.
- Provide visible or logged feedback for connection status, operational mode, and fault conditions to aid debugging and testing.
- Maintain a clean and modular code structure that allows for straightforward integration of future features or hardware modules.
Constraints
- All communication code must operate on the same frequency channel as the hardware transceivers used in the project (e.g., 0xE9E8F0F0E4).
- The system must respond to joystick inputs within 500 ms to ensure effective manual control.
- All software control must be compatible with the available I/O pins on the Arduino Nano and avoid conflicts with other subsystems.
- All feedback systems (e.g., LEDs or serial logs) must not interfere with core control logic.
- The code must fit within the Arduino Nano’s memory limits (32KB Flash, 2KB SRAM).
- PWM outputs must be mapped only to PWM-capable pins as defined by the Arduino Nano’s hardware specification.
The Design
Transmitter Hardware
The remote control unit is powered by a single onboard battery and is built around an Arduino Nano microcontroller. Key components include a joystick (for directional input), a physical toggle switch (to control system power), and a 2.4 GHz wireless antenna. The antenna communicates via the nRF24L01 module. The joystick is mounted at the center of the controller for intuitive thumb control, while the switch are positioned along the top edge for easy access and status visibility.
The outer casing is designed to be 3D printed, with two design concepts currently under consideration:
| Design 1&2 | Design 2 |
|---|---|
- Design 1 features a vertically stacked layout with rear-facing antenna and side-mounted controls.
- Design 2 adopts a flat box-style enclosure with a top-mounted antenna, surface switch, and central joystick.
Future revisions may include the integration of a separate throttle or power-level control system for more precise motor modulation.
Operating Sequence
1.The user powers on the remote controller, supplying voltage to the joystick module, microcontroller, and wireless antenna.
2.Upon startup, the transmitter antenna automatically establishes a connection with the receiver antenna mounted on the vehicle. Continuous two-way communication is maintained throughout operation.
3.The user manipulates the joystick to send directional and power control signals, which are interpreted in real time by the microcontroller.
4.The vehicle receives these signals via the wireless module and executes the corresponding steering and drive commands.
The current system implements basic directional and power toggling functions. In addition to these, an advanced dual-stick control system is under development. This new feature aims to separate directional and throttle control by introducing a second joystick:
1.One joystick will be dedicated to steering control, managing the direction of the vehicle's front wheels.
2.The second joystick will control the drive power, regulating the motion of the vehicle’s powered rear wheels.
This separation is intended to improve precision during maneuvering and enable more complex driving behavior, especially in future autonomous or semi-autonomous configurations.
Program Flowchart
Extra Features
1.Joystick Monitoring Module
A USB-based serial interface has been developed to allow live monitoring of joystick position when the remote is connected to a computer. The joystick values are displayed on the serial monitor in real time, assisting in calibration and debugging.
Electrical/Electronic Design
Overview of the electrical and electronic sub-system
The electrical & electronic sub-team of tricycle prototype is designed to enhance functionality, safety, and user comfort. It integrates key components that provide power, control, lighting, environmental conditioning, and navigation support.
Requirements
Functions
- Deliver regulated DC power to motors, sensors, and auxiliary systems
- Actively heat or cool the rider’s chest area based on feedback from temperature sensors.
- Operate front/rear LED lights for visibility and include turn signals or hazard indicators if possible.
- Provide electronic control of steering and drive motors in both manual and autonomous modes.
Objectives
- Ensure smooth and responsive operation during both remote-controlled and autonomous tasks.
- Ensure that the radio can read data normally.
- Ensure that the motor can operate normally when it receives commands from the transmitter.
- Use a relay to control the fan switch and temperature control.
- Keep the wiring neat and clear, and connect it by area for easy modification of the module.
Constraints
- Due to the direction of the current, DC motors can only rotate in one direction.
- Servo motors can only make small turns.
- At a maximum voltage of 9V, the motor's power will decrease.
- Due to voltage restrictions, some electrical appliances can only reduce voltage by connecting capacitors in parallel.
The Design
Drive and Steering Circuit

The drive circuit is responsible for propelling the tricycle forward. The DC gear motor installed on the rear wheel axle is controlled via a diode. The drive receives digital signals transmitted from the Arduino via the transmitter to activate or deactivate the motor. This setup enables smooth forward movement and braking according to the driving mode. The steering mechanism uses a high-torque servo motor mounted on the front wheel axle. The motor rotates left or right based on signals transmitted from the transmitter. This servo motor enables precise angular displacement control, which is critical for precise maneuvering during autonomous navigation or figure-eight test drives. Limiters in both software and hardware prevent oversteering and ensure the system remains within safe operating limits.
Fan Circuit
The fan circuit is designed to improve rider comfort in hot weather. A small axial DC fan (voltage 5V or 9V) is installed near the rider's cabin to provide airflow. The fan is controlled via Arduino through Pin6 (a data pin on the Arduino board). The transmitter sends a signal to the receiver by double-clicking the button. When double-clicked, the fan turns on; double-clicking again turns the fan off.

Peltier Circuit

The Peltier circuit enables climate control by actively heating or cooling the rider’s chest area. A TEC1-12706 Peltier module is installed on a thermal interface plate and is paired with a heat sink and cooling fan to manage heat dissipation on the hot side. The module is powered via a high-current MOSFET (such as IRF540N) controlled by the Arduino using a PWM signal. This allows dynamic adjustment of the module's power, improving energy efficiency. Depending on current direction, the Peltier can be used for heating or cooling, and this reversal can be achieved using a relay if bidirectional functionality is required. The system is designed to demonstrate measurable temperature differences between the rider’s body and ambient air, fulfilling the project requirement for environmental control.
Boards Mounting
All electrical components are securely mounted on a custom-designed acrylic platform located inside the tricycle frame. The main control board, which houses the Arduino Uno and L298N motor driver, is mounted on the top level for easy access. Subsystems like the fan driver, Peltier MOSFET circuit, and power distribution elements are arranged logically around it. Each module is mounted using standoffs, Velcro, or zip ties to ensure they stay in place during operation. Wires are routed through adhesive cable channels and labeled to prevent confusion or tangling. The entire setup is compact, modular, and protected against vibration using foam padding. Key ports, such as the Arduino's USB and main power switch, are positioned near openings in the chassis for convenient access during testing or programming.
Autonomous Program (Figure-Eight Pattern):
The vehicle executes an automated figure-eight driving pattern using sequential delay() functions to control timing phases. The program follows an 8-phase sequence: forward, left turn, forward, right turn, forward, right turn, forward, left turn, creating two interconnected loops that form the complete "∞" trajectory.
Each movement phase uses delay() for precise timing control: delay(3000) for 3-second forward movements and delay(3000) for 5-second turning phases. This creates consistent, repeatable figure-eight patterns without complex state management.
Motor and servo commands are executed in sequence within the autonomous loop. Forward movement sets the motor to consistent speed with analogWrite(motorPin, 180) and servo centered at servo.write(90), followed by delay(3000) to maintain straight-line motion.
Turn sequences alternate between left and right to form two connected circular paths. Left turns execute servo.write(45) with analogWrite(motorPin, 150), while right turns use servo.write(135) with the same motor speed, each followed by delay(3000) to complete the turning arc.
The autonomous function runs as a continuous loop with while(autonomousMode) condition. Each complete figure-eight cycle takes approximately 32 seconds total (4 forward phases × 3s + 4 turning phases × 5s), creating two interconnected loops that form the characteristic "8" shape for demonstration and testing purposes.
Transmitter
| Design | |
|---|---|
Prototype: Our design places the breadboard in the center of the vehicle, with the battery and motor on the same side. This ensures that the circuit connections are more convenient and that the wires are less likely to become loose or detached. However, this design causes the center of gravity of the tricycle to be too concentrated on one side, making it prone to tipping over while driving.
| Design 1 | Design 2 |
|---|---|
In the revised design, we changed the location of the battery compartment. Since the battery is the heaviest object in the vehicle besides the body, this modification keeps the vehicle's center of gravity in the center rather than leaning to one side. As a result, the tricycle is no longer prone to tipping over. However, this design also has its drawbacks: it consumes more materials, and the wiring is longer, which makes it prone to loosening.

Extra features:
Turn Signal Lighting System:
The vehicle implements directional LED indicators that activate based on steering servo position. When the steering servo rotates left from center position, the left-side LED illuminates; when it rotates right, the right-side LED activates correspondingly.
Servo position detection uses servo.read() to monitor the current angle relative to the 90° center position. Values below 90° trigger the left LED via digitalWrite(leftLED, HIGH), while values above 90° activate the right LED using digitalWrite(rightLED, HIGH).
A simple threshold-based logic with 10° deadzone prevents flickering around the center position. The system compares current servo angle against predefined left (80°) and right (100°) thresholds to determine LED activation state.
Auto-return functionality turns off both LEDs when the servo returns to center position (85°-95° range). This ensures clean visual feedback and prevents both lights from being active simultaneously during straight movement.
The lighting control integrates seamlessly with existing servo commands, requiring no additional wireless signals or complex state machines—just direct servo angle monitoring within the main control loop.
Mechanical Design
Overview of the mechanical sub-system:
This E-Cycle’s mechanical subsystem is designed for stability, responsive control, and durability, while fitting within its compact, aerodynamic shape. It includes the front suspension, steering, drivetrain integration, and mounting points for key parts like the servo motor, shock absorbers, and wheels.
Requirements:
Functions
- Converts servo signals into sterring movement using linkages connected to the front wheels, enabling precise and resonsive turning.
- Utilizes a double wishbone suspension to allow vertical wheel travel, absorb road shocks, and maintain proper wheel alignment.
- Ensures correct alignment of the drivetrain and rear wheel, allowing smooth torque transmission and consistent vehicle performance.
Objectives
- Stable handling and responsive sterring
- Minimized toe-out and camber change
- Simplified maintenance and assemble
- Optimized use of standardized parts
- Preserved interior space and clean integration
Constraints
- Width not exceeding 240mm
- Combination of length and width be 430 x 279 mm (must fit within carton for copier paper,)
- Minimum turning radius 600 mm or less
- Able to accommodate a human mannequin that is 360 mm tall (1:5 scale of 1.8-metre rider)
- Maximum allowable electrical power consumption: nominal 9.6 V DC, 2.8 A
- Able to complete a figure of 8 path without toppling over in: •Remote controlled mode •Pre-programmed mode * Mannequin need not be in the vehicle during driving.
The Design:
Transmission:
Three custom gears were designed and 3D printed with radii of 20 mm, 22 mm, and 24 mm respectively. Each gear is intended to interface with the drivetrain at a constant angular speed of 102°/s. After preliminary performance testing, the most suitable gear will be selected to serve as the final sprocket for the system.

| Criteria | Weight | Gear 1
Small volume |
Gear 2
Medium volume |
Gear 3 (Final)
Biggest volume |
| Velocity | 0.4 | 1 | 2 | 3 |
| Volume & Weight | 0.3 | 3 | 2 | 1 |
| Functionality | 0.3 | 1 | 2 | 3 |
| Total | 1 | 1.7 | 2 | 2.4 |
At the end, Gear 3 shows the best performance that meets our expected requirements that has the fastest velocity and best functionality, so gear 3 is determined to be our transmission.
Front Suspension:
A front double wishbone suspension system is used for its geometric flexibility and predictable kinematics.The upper and lower control arms are nearly equal in length and slightly angled to improve camber control during compression.Spring-damper units are inclined and positioned to absorb shocks effectively while transmitting vertical loads efficiently.
| Design 1 | Design 2 |
|---|---|
| Design 3 | |
| Criteria | Weight | Design1 | Design2 | Design3(Final) |
| Functionality | 0.4 | 1 | 2 | 3 |
| Complexity | 0.2 | 3 | 2 | 1 |
| Stability | 0.4 | 1 | 2 | 3 |
| Total | 1 | 1.4 | 2 | 2.6 |
Design 3 gives the highest score, which demonstrates the best functionality and stability, so we choose design 3 as our final front suspension.
Steering
Steering is achieved via a bellcrank linkage mechanism driven by a digital servo motor. This setup enables precise, reversible, and symmetrical wheel movements for accurate control.
| Design 1 | Design 2 |
|---|---|
![]() |
![]() |
| Design 3 | Design 4 |
| Criteria | Weight | Design1
(Alternative of design 2) |
Design2 | Design3 | Design4 | Design
(Combination) |
| Functionality | 0.6 | 1 | 3 | 1 | 3 | 3 |
| Complexity | 0.1 | 1 | 3 | 1 | 1 | 3 |
| Stability | 0.3 | 1 | 1 | 3 | 1 | 3 |
| Total | 1 | 1 | 2.4 | 1.6 | 2.2 | 3 |
The main structure of steering is the design1 and design 2. After test, we found that design 2 has better performance, so we choose design 2 as the main structure and use design1 as the alternative. Based on design 2, we design design3 and design4 as two parts, then combined design2, design3 and design4 together to be the final design.
Air condition mounting
| Design 1 | Design 2 |
|---|---|
| Criteria | Weight | Alternative fan | Final fan |
| Airflow efficiency | 0.3 | 2 | 1 |
| Comfort | 0.2 | 1 | 2 |
| Safety | 0.5 | 1 | 2 |
| Total | 1 | 1.3 | 1.7 |
Firstly we designed to make the fan at the upside of the shell because the airflow efficiency is better, but after testing, we find that it is hard to keep the comforts and safety, so we rate the two on airflow efficiency, comfort and safety. The second design get the better score overall, so finally we choose the second design as the final fan and make the first as alternative.
Accommendations:
The professor pointed out that the current steering structure is too loose and contains too many springs, which reduces its stability and smoothness. He suggested using fewer springs and improving the alignment of components in Solidworks. Additionally, he emphasized applying the Ackerman steering geometry to improve turning accuracy. This geometry ensures that the inner and outer wheels tuern at appropriate angles to minize tire during cornering.
Structural Design
The structural team is responsible for enclosure the overall appearance and structure of the entire vehicle, as well as non-power components such as doors and Windows.
Requirements
Functions
Overall appearance means to:
- Edit and produce the outer shell of the entire vehicle body
- Plan the placement position of each component
- Optimize the overall structure to make the vehicle more user-friendly
- Ensure safety during operation
non-power components means to:
- Provide functional access to the vehicle interior (e.g., door, window)
- Enhance the overall user experience
- Ensure secure and smooth interaction (e.g., open/close mechanism)
- Contribute to the enclosure's sealing, insulation, and safety
Objectives
- Design a visually cohesive and user-friendly vehicle exterior
- Ensure the structural layout accommodates all functional components
- Enhance ease of assembly and manufacturability of the enclosure
- Improve safety and durability of non-power components such as doors and windows
- Support ergonomic and accessible interactions with the vehicle
- Ensure proper integration of additional structural feature
Constraints
- The structure must fit within the overall vehicle envelope: maximum length 430 mm, width 279 mm, and height 200 mm.
- All components must be fabricated using UBC Mechanical Engineering lab tools, such as 3D printing, laser cutting, and vacuum forming.
- Materials and construction methods must comply with UBC safety standards — no sharp edges, flammable materials, or unapproved adhesives are allowed.
- Doors and windows must be properly integrated and remain operable at model scale without detachment or deformation.
- The enclosure must allow partial disassembly within 5 minutes using hand tools, to facilitate inspection and testing.
- The structure must retain sufficient rigidity to endure normal handling, transport, and static loading during evaluatio
The Design:
Enclosure panel:

The enclosure structure is a rigid frame structure composed of rectangular hollow sections. Its features include a sloping front windshield area, large side openings for visibility and access, and an open top and rear for assembly and ventilation purposes. This design minimizes the weight while ensuring the structural integrity.
| Weight | Design 1 | Design 2 | |
|---|---|---|---|
| Practicality | 0.4 | 3.0 | 3.0 |
| Aesthetics | 0.3 | 1.0 | 2.0 |
| Durability | 0.3 | 1.0 | 3.0 |
| Total | 1.0 | 1.6 | 2.9 |
Enclosure frame
Position:
At the back of the chassis and on the side walls of the car
Sizes:
The different sizes of wooden sticks allow each frame to support different types of loads and stress.
| Criteria | Weight | Design 1 | Design 2 |
|---|---|---|---|
| Durability | 0.3 | 3 | 3 |
| Ridifity | 0.5 | 2 | 3 |
| Manufacturability | 0.2 | 1 | 3 |
| Total | 1 | 2.1 | 3 |
Doors:

This is a flat, single-piece door panel designed for easy manufacturing.
The geometric simplicity ensures precise fitting with surrounding components
- Length: 127.07 mm
- Height: 78 mm
- Thickness: 3.2 mm (as shown in the left-side section view)
| Criteria | Weight | Design 1 | Design 2 | Design 3 |
|---|---|---|---|---|
| Practicality | 0.4 | 3.0 | 3.0 | 3.0 |
| Aesthetics | 0.3 | 1.0 | 2.0 | 1.0 |
| Durability | 0.3 | 1.0 | 3.0 | 2.0 |
| Total | 1.0 | 1.8 | 2.7 | 2.1 |
Natural Ventilation:
Details of the chosen design:
- Component: Side window panel
- Shape: Flat with chamfered top-right corner
- Assembly: Cutouts and slots for secure assembly
- Material: Acrylic sheet
- Properties: Transparent, lightweight, durable
- Dimensions:
Length (L): 125 mm
Height (H): 84.6 mm
Chamfer Height: 39.9 mm
Chamfer Length: 41.55 mm
Extra feature:
Lockable Sliding Mechanism for Three-Pane Window:
This component is a compact locking device designed for three-pane window systems. It features two manually operated sliding pins that secure the window panes in place, along with multiple mounting holes for easy installation. The angled top edge allows it to fit within sloped or custom window frames, making it suitable for both residential and industrial applications requiring simple yet effective locking functionality.
| Criteria | Weight | Design 1 | Final Design |
|---|---|---|---|
| Space efficiency | 0.4 | 2.0 | 3.0 |
| Ease of use | 0.2 | 3.0 | 2.0 |
| Aesthetics | 0.4 | 2.0 | 3.0 |
| Total | 1.0 | 2.2 | 2.8 |
Conclusion
Our VANT 151 team project successfully delivered a sustainable, functional, and user-friendly tricycle prototype tailored for campus commuting. Through collaborative efforts across coding, electrical, mechanical, structural, and documentation teams, we developed a weather-resistant, energy-efficient vehicle that aligns with UBCO's Climate Action Plan (Target 4) by promoting active transportation and reducing CO₂ emissions.
Key achievements include a remote and autonomous control system, ergonomic design with environmental comfort features, and adherence to strict spatial, electrical, and functional constraints. The incorporation of components such as the Peltier module for thermal regulation, DC and servo motor-based drive and steering systems, and a wireless joystick interface enhanced both the safety and adaptability of the tricycle in real-world use.
Moreover, the total energy consumption of our e-tricycle for one year is approximately 82,713.56 kWh/year, which is much less than that of an average electric vehicle, which consumes around 1,185,600 kWh/year.
This prototype demonstrates the feasibility of tricycles as a practical alternative to cars for short-distance commuting. With continued refinement, including improved steering accuracy and better component integration, our design holds promise for wider adoption in campus and urban environments, contributing meaningfully to sustainability goals.
Appendices
PDF Drawings:
Assembly drawings: File:Tricycle Assembly Drawing.pdf
Mechanical drawings:
- Rear Sprocket:Rear Sprocket (30wiki).pdf
- Suspension system:Suspension system(wiki).pdf
- Steering:Steering(all)(wiki).pdf
Structural drawings:
- Enclosure panel:Enclosure panel.pdf
- Door:Doors.pdf
- Natural vent:Window.pdf
Gantt chart:
File:Final team 4 Gantt Chart.pdf
Sustainability Report:
File:Sustainability Report.pdf
Rendering:
Image:

Video:
Arduino Code:
Transmitter Code: File:Transmitter end code.docx
Reciever Code: File:Receiver end code.docx
About Us
Sub-teams:
Contact Information
| YiXin He | yhe1731@student.ubc.ca |
| ZhanMing Sun | szmjerry@student.ubc.ca |
| Yuhao Xue | yuhaox06@student.ubc.ca |
| Tony Tian | 32753527@student.ubc.ca |
| Chenkai Xiao | cxiao06@student.ubc.ca |
| Jiaming Zhang | jzhan357@student.ubc.ca |
| Zhanmiao Zhu | zzhu54@student.ubc.ca |
| Qiuhao Zhao | qzhao16@student.ubc.ca |
| Jingwen Huang | huangj12@student.ubc.ca |
| Hanxiang Long | longhanx@student.ubc.ca |





































