Courses & Notes
UC Berkeley EECS coursework that maps to the firmware and EE work I want to do.
EE149 — Embedded SystemsReal-time scheduling, FreeRTOS, peripheral driver design, and time-triggered architectures. The course that maps most directly onto how I write firmware day-to-day.
EE113 — Power ElectronicsSwitching converters, inductor / capacitor sizing, gate drives, magnetics, and loss budgeting. The intuition behind every buck regulator and motor driver I touch.
EE16B — Control & Signal ProcessingState-space models, controllability/observability, eigenvalue placement, and discrete-time signal processing. What I lean on whenever I'm tuning a PI loop that won't settle.
EE105 — MicroelectronicsMOS device physics, op-amp topologies, biasing, and frequency response. Building blocks behind every sense-amp and analog front-end I work on.
EE120 — Signals & SystemsCTFT / DTFT, sampling, stability, feedback. The intuition I lean on whenever I'm staring at a noisy ADC capture or a current loop that won't converge.
CS61C — Computer ArchitectureRISC-V assembly, pipelining, caches, and a Logisim CPU build. Helps when I'm reading a disassembly listing or reasoning about why an ISR is missing its deadline.
CS168 — NetworkingDistance-vector router with split-horizon / poison reverse, link up/down handling, and a TCP socket implementation in POX with retransmits and congestion control.
Outside class: ESP32 / STM32 with FreeRTOS, drivers for I²C / SPI / CAN / TWAI, PCB bring-up, and sensor interfacing. The thread that ties most of my projects together.