Skip to content
View khushaanvirk's full-sized avatar

Block or report khushaanvirk

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khushaanvirk/README.md

Khushaan Virk

Electrical Engineering at UBC (BASc, expected 2028). I build embedded and hardware systems, and the software that makes them measurable.

Right now I'm a Software Engineer at Advizr, shipping Python/FastAPI backends and automation pipelines for client systems in production. Before that, most of my work has been closer to the silicon: STM32 and 8051 firmware, discrete MOSFET motor drivers, analog signal conditioning, and a 4-layer PCB I took all the way through fab, assembly and bring-up.

The thread through all of it is pulling a trustworthy signal out of a noisy physical system, then proving how well it actually worked.

Looking for: an engineering co-op in embedded, firmware, hardware, or systems software.


Selected work

Pedestrian Dead Reckoning · Python, NumPy, SciPy Reconstructing a walked path from a phone's accelerometer and gyroscope alone, then measuring how far inertial drift pushes it off a known 76.2 m route. Band-pass step detection, gyro bias correction, and loop-closure error measurement. 5.14 m of drift (6.7%), validated across two runs with a held-out parameter check. Both raw recordings are in the repo, so every number reproduces.

khushaanvirk.com · Next.js, React, TypeScript My portfolio, built as a content-driven system: every project is a typed data object rendered by shared components, statically generated so a malformed entry fails the build rather than the page.

65% Mechanical Keyboard PCB · Altium, STM32, bare-metal C 67-key hot-swap board. STM32F072 with crystal-less USB, 4-layer stackup, 90 Ω USB differential pair computed by hand from the real prepreg geometry. Fabbed and assembled at JLCPCB, worked on the first spin, and it is the board I type on. Bare-metal USB HID firmware with no HAL and no CubeMX.

Team firmware projects (ELEC 291, teams of 6) Field-following robot. Dual-MCU autonomous robot that tracks a current-carrying wire via LC-tank pickup coils, with optocoupler-isolated H-bridges to keep motor switching noise out of the inductive sensors. Reflow oven controller. Closed-loop thermal control to ±3 °C with a thermocouple front-end and a Python serial DAQ harness for verification.


Full write-ups, schematics, measurements, build logs, and what went wrong, at khushaanvirk.com.

Popular repositories Loading

  1. portfolio portfolio Public

    Personal portfolio site — Next.js 16, React 19, TypeScript, Tailwind v4. Projects are typed data, not page components.

    TypeScript

  2. pedestrian-dead-reckoning pedestrian-dead-reckoning Public

    Reconstructing a walked path from a phone IMU alone, and measuring the inertial drift: 5.14 m over a 76.2 m loop-closed route

    Jupyter Notebook

  3. khushaanvirk khushaanvirk Public

    Profile README

  4. khushaan65 khushaan65 Public

    67-key 65% ANSI mechanical keyboard designed from scratch: 4-layer Altium board, STM32F072 with crystal-less USB, bare-metal C firmware. Worked on the first spin.

    C