Author: Karan Thakkar
Peripherals
Digital I/O
RTM (Ready To Move) Button Input
The RTM input is handled as a standard digital GPIO read. It functions as a momentary push-button with software debouncing to avoid false triggering from mechanical bounce. Each press toggles the latched internal state between 0 and 1, allowing the system to reliably detect transitions. This signal is used in the vehicle state machine to move the car from the IDLE state into the RUNNING or DRIVE state once all safety conditions are met.
Brake Light Output
The brake light is driven as a digital output that activates based on braking conditions. Depending on system rules and logic, this signal can be turned on when:
- Brake pressure exceeds a threshold
- Regenerative braking torque is applied above a defined amount
- Other system-defined braking conditions are met The output is typically a high-side digital drive that activates the physical brake lamp in accordance with FSAE regulations.
Wheel Speed Sensors (WSS) Input
Author: Dylan Tran
Wheel speed sensors on all four wheels are hall-effect pickups producing a square-wave digital signal proportional to wheel rotation. Hardware interrupts trigger on the falling edge of these pulses to increment dedicated counters for each wheel.
This system ensures the vehicle can accurately monitor individual wheel speeds, allowing for traction control, odometry, telemetry, and dynamic vehicle control.
The firmware computes wheel rotational dynamics over a fixed 100ms interval utilizing the accumulated pulse count, the number of sensor teeth, and the wheel circumference.
Fans & Pumps Output
Two MOSFET-controlled outputs are available for driving the cooling fan and coolant pump. These are controlled through software feedback loops that monitor thermistor temperature readings. When temperature increases beyond a target setpoint, fan or pump duty cycle increases proportionally. When temperatures fall below defined limits, duty cycle is reduced. This provides automatic thermal regulation for the accumulator or power electronics cooling loop.
Ready to Drive Sound
Authors: Dylan Tran, Anushree Godbole
Audio signaling is performed using a PWM output connected to a low-pass filter and amplifier, which drives the tactile transducer. This is used to produce a tone for the Ready to Drive Sound (RTDS). A tactile transducer was selected in place of the conventional speaker to save space on the car. The tactile transducer is mounted on the car’s aerobody, which acts as a sound-radiating element.
The RTDS system ensures the car meets FSAE safety requirements for audible signaling before the drivetrain engages.
The Ready to Drive Sound is a continuous tone lasting 1–3 seconds (EV.9.7.2), triggered during the vehicle startup sequence.
Testing Results: Testing was performed by gradually increasing the supply voltage to 24 V and setting the amplifier potentiometer to its maximum position to verify compliance with the 80dB @ 2m requirement (EV.9.7 and IN.10.3).
Testing was performed in two rounds. In the first round, a standalone Teensy 4.1, low-pass filter, amplifier, and the tactile transducer was mounted directly on KiloZott’s aerobody (in ELF). The sound level was measured using a smartphone sound meter application, which recorded a peak sound level of 95 dB at a distance of 2 meters and an average sound level of approximately 90 dB over a 30-second period. During this test, tones ranging from 1 Hz to 1500 Hz were played in a continuous loop.
In the second round of testing, the components (Teensy 4.1, low-pass filter, and amplifier) were already integrated on Safety Board and CCM, which were harnessed together for testing. Since MegaZott’s aerobody was not yet available, a metal sheet was used as the mounting surface during this test in ECT. An exact sound pressure level was not recorded during the second test. Subjectively, the output volume was comparable to that measured during the first test, which exceeded the 80 dB requirement at 2 meters.
Based on testing results, the final RTDS implementation uses a 1300 Hz tone played for 3 seconds.
| Measurement Distance | Sound Level | Voltage | Status |
|---|---|---|---|
| 2 meters | 95 dB | ~24V | PASS |
Analog I/O
Brake System Encoder
A linear analog pressure transducer is used to measure hydraulic brake line pressure. The voltage is read via an ADC and mapped into engineering units using a calibration curve. Brake pressure is used to:
- Smoothly blend mechanical and regenerative braking
- Block acceleration torque while braking
- Activate brake lights
- Support telemetry and control algorithms
This sensor is part of multiple safety-critical paths and must be sampled and checked reliably.
Acceleration Pedal Position
The accelerator pedal position sensor outputs a variable voltage proportional to throttle demand. The reading is converted into a normalized torque request and fed into the torque controller. For safety, dual redundant channels are commonly monitored, and mismatches are checked to detect faults such as wiring damage or sensor failure. If readings disagree beyond limits, torque is disabled and a fault is raised.
Suspension Travel
Suspension position is measured by analog linear potentiometers These readings allow:
- Logging for vehicle dynamics analysis
- Dynamic control adjustments such as damping or traction control
Thermistors
Thermistors measure temperature in critical subsystems such as:
- Motor controllers
- Batteries and accumulator modules
- Cooling loops
- Power electronics
These readings are used in closed-loop thermal regulation. Raw voltage readings are converted using standard thermistor curve equations or lookup tables. If temperatures exceed defined safety thresholds, torque may be reduced, cooling activated, or the vehicle shut down depending on severity.
CAN
BMS
The Battery Management System communicates via CAN, sending essential data such as:
- Cell voltages
- Module temperatures
- Current consumption
- State-of-Charge and State-of-Health
- Fault flags and system warnings
The control system must consume these messages to maintain safe vehicle operation. If BMS signals a critical fault, the drivetrain must disable torque output immediately.
Battery Charger
During charging mode, the onboard charger exchanges CAN messages with the BMS and vehicle controller. Messages include:
- Charging current and voltage targets
- Charge state progress
- Fault and error reporting
The charger generally follows BMS instructions to ensure safe constant-current and constant-voltage charging curves.
PCC
The PCC (Pre Charge Circuit) communicates over CAN to exchange infor with the CCM. Data typically includes:
- Precharge state
- Precharge Progress
- TS/Accum Voltage read over frequency to voltage circuits
- Precharge time
The PCC and CCM coordinate to ensure safe charing of the inverter and HV side. Read more about this in the PCC section.
CCM
The CCM (Central Computer Module) acts as the main MCU for car.
- Broadcast system heartbeat messages
- Reads all sensor readings
- Receive driver input and button states
- Relay fault conditions
- Coordinate operation between subsystems
- Sends torque commands to the Inverter based on all readings
- Relays info to telemetry side.