guinea wheek
embedded rust/c++ developer
berkeley eecs class of 2022
washed first robotics alumni and volunteer
my github: https://github.com/guineawheek
about myself
I like working on things that move, or things that get used in things that move.
I believe that embedded Rust definitely has potential for a strong future and I want to help it cook.
things i am currently involved in
redux robotics
As a part-time side project, we sell high-performing electronics to FIRST Robotics Competition teams at affordable prices.
My responsibilities are product firmware, user SDKs, documentation, internal tooling and debugging, and other stuff that's hard to put into words.
Firmware I have worked on includes so far:
- Canandgyro CAN-enabled high-performance IMU firmware shipping a Rust firmware (Cortex-M4F, RTIC)
- Canandmag CAN-enabled PWM encoder firmware (esp32, freertos/c++)
We are using and implementing Rust across the stack. I am in the process of writing a series of posts here describing some of the challenges we faced and ways we overcame them:
In the course of Rust development we've had to make/fork some packages, including:
- HALs for the devices we use in our products (gd32c1x3-hal, more TODO)
- Forks of existing packages such as bxcan and synopsys-usb-otg to add functionality or make them work at all due to inactive upstreams
- Ports of code from ARM's CMSIS-DSP to provide better speed/accuracy tradeoffs than existing libraries can offer.
things i did when i was in college
chess-playing robot
I basically played project manager for this particular project as it was done smack-dab in the middle of the pandemic and required significant coordination to make sure all the parts came together to build a physical product.
esp32-powered line following car
I was the firmware lead on a line-following RC racecar project class. This project included various challenges such as:
- 50Hz PID to control steering and velocity
- a line sensor whose communication protocol can be best described as "SSI but the CIPO line is an analog reading and the exposure depends on the clock frequency"
- responding to input over TCP over the esp32's wifi
Here's a link to the final oral presentation PDF
Here's it following an S-curve
And here's it doing a step response
computational photography
I took a class that had you write entire computational photography projects basically from scratch every 2 weeks. These projects covered a wide variety of topics including:
- recursive image pyramids
- digital signal processing as applied to blurring, blending, and scaling images
- morphing faces from keypoints
- merging images via homographies
- facial detection with convnets
- basic 3d rendering
- projecting 3d models of a room from a back wall and a vanishing point
things i did when i was in highschool (washed)
FTC team 5484 lead programmer 2016-2018
the first usable opencv binding for the FIRST Tech Challenge, EnderCV