I designed, tested, and validated the hardware and firmware for an environmental monitoring PCB for a solar race car competing in the American Solar Challenge. This telemetry system monitors critical metrics such as battery box cooling to inform development and race strategy.
Skills & Tools: Schematic Capture, PCB Design (KiCad), Reflow Soldering, Embedded Software Development (C), STM32 Microcontrollers, Firmware Debugging, Git Version Control, Technical Documentation
Objectives/Features:
- Measures environmental data throughout the car, including relative humidity, airflow, and temperature
- Interfaces with a Peripheral System-On-Module (SOM) to process data and transmit it via the Data Acquisition CAN bus
- Optionally connects to a sensor breakout board for size-constrained environments (intake/exhaust ducts)
- Modular design - can pick and choose which sensors to use on each board during assembly
Takeaways:
- Learned advanced PCB design principles for I2C/CAN communication
- Conducted board bringup with GPIO, I2C, ADC, and CAN peripherals for an STM32 microcontroller
- Developed firmware to interface peripheral boards with the Data Acquisition telemetry system using a real-time operating system (RTOS)
- Implemented extensive debug process using OpenOCD and GDB
- Reduced size of sensor breakout board by 500% to meet strict mechanical constraints