My role
Currently, I am the team’s Director of Electronics. In this role, I lead a team of 15 people to develop custom PCBs to allow us to interface with OTS sensors or to aid in computation. Part of my role on this team is to work on the development of these projects and to create onboarding and educational resources to train new members who might not have electronics experience.
I have also acted as a software lead for this team. I developed an open-source Rust runtime that allows our robotic system to be programmed in Rust rather than the built-in C/C++ and Python support.
My Projects
I have been involved in the design and firmware development of 8 custom PCBs thus far. These boards range from sensor interface boards, and data computation boards, to carrier boards for OTS Linux computers. Through working on these projects I have learned a significant amount, especially concerning work verification. Due to the time and budget constraints of the team, it is only feasible to do a single round of designs, and thus we must be certain they will work when they arrive. Through this, I have learned the importance of well-defined (and documented) project requirements, concept testing, and effectively running peer design reviews. Working on these projects has also obiviously taught me a lot about custom electronics, MCUs, communication protocols and embedded software.
With this team I was also tasked with developing and maintaining our open-sourced rust runtime which is used by teams gloabally. This project can be found hosted on our teams gitlab: vex-rt. I also contributed to the developement of complex localization and path planning algorithms to help the robots move autonmously.
With this team we have placed top 10 globally and #1 nationally against hundreds of teams