Articles and News

                     chassis’ goals in s26  

January 12, 2026

November 16, 2025

This semester, the Chassis sub-team’s main focus is on refining our Rivanna 3’s structural framework while improving how drivers interact with the car and how other subsystems integrate into the overall design. The chassis serves as the “backbone” of the vehicle, supporting every major component while also ensuring that the driver can operate the car comfortably and safely. Because nearly every other subsystem connects to the chassis in some way, a careful design is essential to maintain the structural integrity and compatibility across the entire vehicle.

One major area of focus for the team is improving driver operations. The Chassis sub-team is currently optimizing the driver seat assembly to so comfort, stability, and control during driving is optimized. This includes steps like analyzing the seat’s position relative to steering components, pedals, and driver visibility in order to create a proper posture and reduce fatigue during longer periods of use. The sub-team is also exploring modular adjustability so that the vehicle can safely accommodate drivers while still meeting safety regulations and competition rules. At the same time, updates to mounting points and reinforcement structures are being designed to maximize the rigidity while keeping the chassis as light as possible.

To achieve a lot of their work, the Chassis sub-team works alongside Electrical sub-teams, Suspension, and Aerobody to define mounting interfaces, allocate space, and determine load-bearing requirements early in the design process. This coordination helps prevent costly redesigns later while also optimizing weight distribution, center of gravity, and manufacturability.

embedded: switching rtos & uart  

Currently, the Embedded sub-team’s main focus is on a major transition within the embedded software stack: moving their real-time operating system (RTOS) from MbedOS to FreeRTOS. 

A real-time operating system is a (crucial) software layer that sits between the hardware and  application-level code. Its purpose is to manage tasks, scheduling, and hardware interactions in a way that allows multiple operations to run efficiently and predictably. Because embedded systems often need to respond to events within strict timing constraints, choosing the right RTOS is essential. 

The shift from MbedOS to FreeRTOS is driven by several factors. First, MbedOS is being deprecated, making long-term support seem uncertain. FreeRTOS, on the other hand, is lightweight, widely adopted in industry, and provides developers with more direct control over system behavior. This switch means we have greater freedom to tailor the system to our needs while also gaining experience with tools and patterns that are standard in professional embedded development.

While the RTOS transition is the overarching project, our current day-to-day work involves building high-level drivers in C++ on top of FreeRTOS. These drivers support functions such as UART communication, logging, analog input handling, and other interfaces the hardware relies on. Because FreeRTOS does not provide these abstractions out of the box, our work is critical in ensuring the application layer has clean, reliable, and accessible tools. 

High-level drivers are necessary because the microcontroller manufacturer (STM in our case) only supplies low-level C drivers. These low-level drivers interact directly with the hardware but are often cumbersome to use in larger applications. By writing our own C++, we wrap this low-level functionality into cleaner, safer, and more intuitive interfaces. This not only improves code readability and maintainability but also speeds up development for everyone who will interact with the hardware through FreeRTOS moving forward.