I'm a CS sophomore at Stanford, and a bit of a jack of all trades. I've done ML research, bare-metal firmware and full-stack web apps, but lately I've been really into the EE side of CS.
For example, right now I'm doing mmWave radar sensing research in the Arbabian Lab, and designing the hydrophone digital board for Stanford RoboSub (hydrophones are the underwater microphones our sub uses to find a pinger in the pool). I also built a laser guitar that you play by breaking beams of light, and you can play it in your browser too.
Eventually, I'd love to build consumer hardware. I want to make things that are tangible, and I just like seeing people use my products (it also helps that I'd get to use them too). It's hard because people are picky, so it can always be improved.
I also write up what I'm learning here. It's a good way for me to formalize things, and I find I retain the information better.
What I learned designing the hydrophone board. It starts with why each signal travels as two wires.
A six-string guitar you play by breaking laser beams. I built the body and the light sensors, and wrote the code that plays all six strings at once without the sound cutting out. You can also play it in your browser, and it sounds exactly the same.
Isaac designed the analog board, which cleans up the hydrophone signals. I'm designing the digital board, which samples all four channels at the same instant, 512,000 times a second. A Teensy saves the samples to its built-in microSD card and sends them on to the sub's Orin.
Teaching radar to tell how people are moving. I match up what the radar sees with what a camera sees, so the camera can help teach the radar. It learns better that way than from radar alone.