Nikhil Mahadevan
EEE + CSE at UGA · embedded firmware and hardware
Flight software at UGA’s Small Satellite Research Lab. Open to Summer 2027 internships in embedded systems, hardware, and computer architecture.
Projects
Firmware, hardware, and systems work — strongest pieces first.
Edge AI Wake-Word Engine
View92% held-out · ~80 µs inference
A real-time voice-activation engine built in bare-metal C that captures audio and runs machine learning inference directly on an STM32 microcontroller.
2-Axis Light Tracker
View3 → under 1 LSB noise
A battery-powered dual-axis light tracker in bare-metal C on an ATmega328P with MOSFET H-bridges and a fixed-point Kalman filter.
Multifunction Instrumentation System
View6× DC resolution · 2× voltmeter precision
A Raspberry Pi-based digital multimeter and function generator featuring custom analog front-ends, a software-driven SAR ADC, and a 4-layer mixed-signal PCB.
Bare-Metal Raspberry Pi 3B
ViewPersonal · mini UART @ 115200
Bare-metal AArch64 firmware for a Raspberry Pi 3B — custom boot, then AUX mini UART TX on GPIO 14 with no OS.
Experience
Flight software, embedded research, and teaching at UGA.
-
Flight Software Engineer
University of Georgia Small Satellite Research Laboratory
- Developing CubeSat flight software in C++ and NASA F Prime, with Zephyr drivers in C on STM32, for a ~15-person software team
- Reimplemented the legacy 7-state flight state machine with voltage debounce, request prioritization, and safe-shutdown sequencing
- Refactored the legacy file-recycler into thread-safe C++ with path abstractions and safer symlink handling
- Writing unit tests for the state machine and file recycler to catch bugs before system integration
- Reviewing teammates' flight software changes and building UART/RS-485 Zephyr drivers, validated in Renode
-
Embedded Systems Research Intern
University of Georgia
- Writing C++ drivers (I2C, SPI) to read IMU, temperature, and humidity sensors on an ATmega328P canine health monitor
- Streaming structured multi-sensor packets to a host application in real time over HC-05 Bluetooth via hardware UART
-
Electronics Lab Assistant
University of Georgia
- Instructing 100+ students across two labs on analog filters, oscillators, transformers and BJT amplifiers with SPICE verification
- Guiding students with TTL circuit builds and benchtop debugging using oscilloscopes, logic analyzers and multimeters
-
Engineering Peer Tutor
University of Georgia
- Tutored 35+ students across courses mainly focused on Logic Design (CSEE 2220) and Circuit Analysis (ECSE 2170)
Education D0
- School
- University of Georgia, Athens, GA
- Degrees
- B.S. Electrical and Electronics Engineering and B.S. Computer Systems Engineering
- Dates
- Aug 2024 – May 2028 (expected)
- GPA
- 3.93
- Honors
- Eagle Scout · UGA Dean’s List
Skills
- Languages
- C · C++ · Python · ARM Assembly · MATLAB · Java
- Embedded Systems
- ARM Cortex-M4 (STM32) · ARM Cortex-A53 (BCM2837, Raspberry Pi) · ATmega328P · ESP32
- Firmware & Protocols
- Zephyr RTOS · NASA F Prime · UART · SPI · I2C · PWM
- Hardware & Tools
- KiCad · Altium Designer · SPICE · Fusion 360 · Oscilloscopes · Logic Analyzers · Multimeters · Soldering · Renode · Git
Logic analyzer view
Timeline
Same roles and projects as a capture — click a channel for details, or stick with Experience and Projects above.
Pinch, scroll, or swipe to explore the UART decode.
Arrow keys pan and zoom, 0 fits the whole capture, and the question mark key lists every shortcut. The channel buttons open the details for each role and project.
Shortcuts
- Zoom
- Pinch, ⌘ or Ctrl + scroll, ↑ ↓, = -
- Scroll zoom
- Click into the capture and plain scrolling zooms, like Logic 2. Esc releases it.
- Pan
- Two-finger swipe, drag, ← → (hold Shift for bigger steps)
- Next edge
- ⌘ or Ctrl + ← →
- Zoom here
- Double-click (Shift zooms out)
- Fit all
- 0
- Inspect
- Click a channel or bubble to fit it
- Touch
- Pinch to zoom, drag sideways to pan, tap to inspect