Skip to content
View karangandhi-projects's full-sized avatar

Block or report karangandhi-projects

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.

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

Karan Gandhi

Embedded Firmware Engineer · ex-Qualcomm

PART NO. KG-FW · REV 2026.06 · ARM / STM32 / Linux

Status Focus


▸ Specifications

Field Value
Role Firmware / Embedded Software Engineer
Experience 3+ yrs @ Qualcomm — ARM-based LTE / 5G modem firmware
Cores ARM Cortex-M · STM32 · TI Tiva · ESP32 / ESP32-C3
Stacks Bare-metal · FreeRTOS · Linux kernel drivers · Bootloaders
Interfaces CAN · SPI · I²C · UART · BLE · Ethernet
Tooling GDB · JTAG/SWD · Trace32 · Logic analyzer · Python diag

▸ General Description

Embedded firmware engineer who likes to understand systems down to the register. I spent 3+ years at Qualcomm debugging and shipping production C firmware deep inside ARM-based LTE / 5G modems — the kind of work where a logic analyzer and a clean stack trace are your best friends. These days I build my own embedded systems end-to-end on STM32 and Linux — RTOS, drivers, bootloaders, CAN and BLE — and I treat the write-up (architecture, debugging notes, a validation plan) as part of the deliverable, not an afterthought.

▸ Functional Blocks

C C++ STM32 FreeRTOS Linux ARM Bluetooth Python

▸ Featured Builds

▸ Operating Conditions (currently)

  • 🟢 Building — deeper Linux driver work (char devices, sysfs, driver model)
  • 🟢 Building — AI-assisted embedded workflows (harnesses, test plans, docs)
  • 🔵 Exploring — TinyML on microcontrollers (quantization, on-device inference)
  • 🟡 Planning — OTA updates & rollback (A/B partitions)
  • 🟣 Learning — embedded Rust for safer firmware

▸ Connect

Portfolio LinkedIn Email

Pinned Loading

  1. ble-environmental-sensor-node ble-environmental-sensor-node Public

    Spec-driven BLE peripheral on ESP32-C3 with NimBLE and a 0.42" SSD1306 OLED. Agent-buildable.

    C

  2. vnet-driver vnet-driver Public

    A step-by-step Linux virtual network driver (vnet0) with Doxygen docs, TX/RX rings, NAPI, ethtool, and userspace backend.

    C 1

  3. stm32-smart-sensor-hub stm32-smart-sensor-hub Public

    Smart, low-power sensor hub for STM32F446RE with modular sensor APIs, dynamic power-mode sampling, cooperative scheduler, UART CLI, and full documentation.

    C

  4. mini-ecu-v2 mini-ecu-v2 Public

    Virtual vehicle ECU on STM32F446RE with FreeRTOS, CAN loopback telemetry, UART CLI + live dashboard, and logging — base for custom bootloader & OTA experiments.

    C 2

  5. bluetooth-audio-manager-linux bluetooth-audio-manager-linux Public

    Fix A2DP missing issue on Linux Bluetooth (PipeWire) + one-key toggle between A2DP and HFP with auto-recovery

    Shell 3

  6. EE-6314-RTOS EE-6314-RTOS Public

    Forked from Karan021/EE-6314-RTOS

    A multi-threaded RTOS design for M4F microcontoller(TM4C123GH6PM) that implements pre-emptive as well as co-operative modes with the support of semaphores, kernel functions such as yield , sleep, w…

    C