Systems & Embedded Engineer · Co-Founder, NAVRobotec
Ashutosh
Vishwakarma
I build low-level systems, and I read far outside them. Flight stacks and kernels to humanities. The verse below is the closest thing to my method. Do the work fully. Hold the results loosely.
कर्मण्येवाधिकारस्ते मा फलेषु कदाचन। मा कर्मफलहेतुर्भूर्मा ते सङ्गोऽस्त्वकर्मणि॥
The right is to the work alone, never to its fruits. Let results not move you; nor cling to inaction.
Bhagavad Gītā 2.47
Selected Work
01-
Vayu — Indigenous Flight Stack
2025–26A UAV autopilot owned from PCB to ground station. NavHAL (HAL), VaiOS (1 kHz RTOS), and Vayu (flight control). Built at NAVRobotec.
-
Navigator — Ground Control Station
2025–26A ~25k-LOC Qt6 ground station for the Vayu drone. Custom CRC-framed telemetry, real-time plots, and a packet analyzer. Plus an embedded SITL sim with a 1 kHz physics daemon.
-
gem5 AVR ISA Extension
2025–26Extended the gem5 simulator with the AVR instruction set. Enables cycle-accurate simulation of microcontroller workloads. Validated in the loop against real silicon.
-
NavHAL
2025A zero-cost, vendor-agnostic HAL for Cortex-M chips. It covers 7+ peripherals across 5+ MCU families. Modular Kconfig and CMake build.
-
AVR-XPU — SIMD Coprocessor Study
2026A feasibility study for an AVR-derived coprocessor. It targets edge inference and flight-control math. Roofline analysis showed the real bottleneck is memory bandwidth, not SIMD width.
-
Moleculizer
2024A 3D molecule visualizer for .xyz files. Built in C++ with OpenGL, GLFW, and ImGui. Translate, rotate, and scale models. Session state is preserved between runs.
Recent Writing
02-
From Mesh to Motion: The Mechanics and Numerics of a Flight Simulator
vsim_d is the physics daemon that flies Vayu's real firmware in software. A field report from the seam where Newton–Euler rigid-body mechanics meets RK4, quaternion drift, impulse contact, and a hard-real-time loop — including the cleanest way I know to turn a triangle mesh into an inertia tensor, and the bugs where the physics was right but the numerics (or the systems) lied.
-
I Wrote an FFT to Play Music: An Over-Engineered Terminal Player
The browser ate gigabytes to play a song, so I wrote a 2,000-line terminal music player with no pip deps. Along the way it grew a hand-rolled Fourier transform, a filesystem-as-LRU cache, two mpv processes, and an LLM that scores my songs by vibes. A field report on accidental over-engineering.
-
Does an AVR Need SIMD? A Roofline Study That Said No
I set out to design a wide-SIMD coprocessor for an 8-bit MCU. Then I measured twelve real kernels in a validated gem5 model. A roofline analysis talked me out of the vector unit — and pointed at what to build instead.
-
Teaching a Drone to Tune Itself: Closed-Loop PID Autotuning in SITL
We built a closed-loop PID autotuner that flies its own experiments in simulation and searches the gain space — eight optimizers, a chatter-aware cost, and two failure modes that looked solved but weren't. A deep dive into the system, the algorithms, and the fixes.