Developed and optimized embedded drivers for a suite of critical sensors, including barometers, Inertial Measurement Units (IMUs), and Real-Time Clocks (RTCs), utilizing the STM32 microcontroller platform.
Overcame challenges related to I2C communication timing and data integrity, resulting in reliable sensor data capture.
Integrated sensor drivers within a FreeRTOS environment for efficient data acquisition and processing.
Optimized sensor data sampling rates and processing algorithms to meet real-time performance requirements.
Participated in code reviews and contributed to the development of best practices for embedded software development within the team.
Debugged complex issues using the STM32CubeIDE debugger and an oscilloscope.
Sep 2023-Present
Guidance and Navigation Software Developer (uoRover)
Optimized autonomous navigation software for the rover using ROS 2, focusing on robust and reliable operation in challenging environments.
Implemented a sophisticated input multiplexer (mux) within ROS 2, prioritizing joystick (Logitech F710) then keyboard, and then ROS2 autonomous navigation commands to ensure seamless operator control and autonomous functionality.
Enabled kernel extensions to get full functionality of the Logitech F710 wireless controller on the NVIDIA Jetson Nano Orin, resolving compatibility issues and ensuring precise operator input.
Optimized real-time camera stream transmission over wireless radio links (Ubiquiti BulletAC IP67) to maximize bandwidth utilization and minimize latency.
Conducted extensive empirical testing to determine optimal radio configurations, achieving improved data throughput and signal stability.
Analyzed Wi-Fi spectrum graphs to identify and mitigate channel congestion in 2.4GHz and 5GHz bands, ensuring reliable communication in noisy environments.
Contributed to the design and implementation of ROS 2 nodes for sensor fusion and path planning, enhancing the rover's autonomous navigation capabilities.
Utilized ROS2 launch files, and debugged ROS2 nodes using command line tools such as ros2 topic echo, and ros2 node info.
Worked on streamlining the creation of ROS2 development VM (Virtual Machine) for M series macbooks.