rajveerchaudhari.com · open the BIOS version → · plain version

Rajveer Chaudhari

Firmware & Low-Level Systems. I write the code that runs before everything else.

rajveer@rajveerchaudhari.com · GitHub · Resume (PDF)

Open to firmware / embedded internships

Projects: MetalBird · PenguOS · Linux kernel · Debug logs

Linux kernel

In mainline

  • c4e73728626e iio: accel: adxl313: convert to guard(mutex) (Jonathan Cameron (IIO maintainer))
  • 594ca8ced1b3 iio: accel: adxl372: convert to guard(mutex) (Jonathan Cameron (IIO maintainer))
  • 3094fbd606ab staging: most: dim2: remove unused header includes (Greg Kroah-Hartman (staging maintainer))
  • d289635eb0f1 staging: most: net: remove unused header include (Greg Kroah-Hartman (staging maintainer))

Also sent

  • iio: accel: bmc150/mma8452/mma9551/sca3000: convert to guard(mutex) (linux-iio, 24 messages, not in mainline)
  • crypto: drbg - convert to guard(mutex) (linux-crypto, 2 messages, not in mainline)
  • staging: media: imx: remove unused header includes (linux-media, 1 messages, not in mainline)
  • staging: axis-fifo: remove unused header includes (linux-staging, 1 messages, not in mainline)

All my mail on lore.kernel.org · read every patch in the browser

About

I'm a CS undergrad who likes the layer where software meets silicon. I've written an x86 operating system from the bootloader up, designed a drone flight-controller PCB and I'm bringing it up with hand-written ARM assembly, and I've had patches accepted into the mainline Linux kernel.

I learn by building the whole stack myself: no HAL, no RTOS, no external libraries. Then I debug it with GDB over SWD, a UART console and a lot of reference-manual reading until I can explain every cycle.

  • MetalBird (PCB + bare-metal ARM): Flight-controller PCB I designed and had fabricated, brought up with hand-written Cortex-M4 assembly.
  • PenguOS (x86 OS from scratch): Bootloader, paging, drivers, scheduler and a software 3D engine. It boots right here in your browser.
  • Linux kernel (4 commits in mainline): IIO and staging patches applied by Jonathan Cameron and Greg Kroah-Hartman.

Skills

LanguagesC, ARM Thumb-2 assembly (GAS), x86 assembly (NASM), Python, Bash
EmbeddedSTM32F4 / Cortex-M4 at register level, RCC / clock tree, GPIO, USART, I2C, SysTick, Startup code & linker scripts
HardwareKiCad schematic & PCB layout, Buck + LDO power design, Datasheet-driven bring-up
Debug & ToolsGDB, OpenOCD, SWD / CMSIS-DAP, QEMU, arm-none-eabi, GCC, Make, Git
Kernelx86 protected mode, paging, interrupts, Linux IIO subsystem, Mailing-list patch workflow

Education

B.Tech CSE, IIIT Vadodara (International Campus Diu), Aug 2024 – May 2028. Coursework: Operating Systems, Computer Organization, Digital Logic & Electronics, Computer Networks.

Rajveer Chaudhari · rajveer@rajveerchaudhari.com · BIOS version · plain version · llms.txt