Skip to content
View birenpandya's full-sized avatar

Block or report birenpandya

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
birenpandya/README.md

πŸ‘‹ Biren Pandya

Embedded Systems Engineer β€” I turn new silicon into shipped product.

Linux Kernel Β· Android BSP Β· Camera / ISP Β· Edge AI

"The best way to predict the future is to invent it." β€” Alan Kay

struct engineer biren = {
    .years        = 15,
    .path         = "bare-metal β†’ camera architecture β†’ upstream",
    .happy_when   = "the flaky repro finally triggers",
    .pet_peeve    = "a manual mutex_unlock left in an error path",
    .current_mood = "reaching for edge AI & robotics",
};

I work the whole stack β€” kernel β†’ drivers β†’ DMA β†’ V4L2/ISP β†’ HAL3 β†’ framework. But the interesting bugs don't live inside a layer. They live in the seams between them. That's where I'm useful.

πŸ”Ž The pattern I keep finding

Transition-window corruption in stateful pipelines. The instant a system switches configuration β€” zoom ratio, sensor mode, power state, buffer ownership β€” is the instant its coherence assumptions quietly break. Find the seam, find the bug.


πŸ› οΈ What I actually do

  • 🐧 Kernel & drivers β€” kernel internals, device drivers, DMA-BUF, runtime PM, Device Tree, Binder, SELinux
  • πŸ“· Camera & imaging β€” Camera HAL3 / Camera2, V4L2 & media controller, ISP pipeline, sensor bring-up, MIPI CSI-2, 3A
  • 🧱 Platform & system β€” Android BSP / AOSP, board bring-up, Treble, boot-time / power / performance tuning, system architecture
  • πŸ€– Edge β€” embedded vision, on-device inference, the front half of a robot's perception stack

Silicon I've shipped on: Qualcomm Snapdragon Β· Samsung Exynos Β· MediaTek Β· Broadcom Β· TI OMAP Β· NXP i.MX


🌱 I don't just use the kernel β€” I fix it.

Active upstream contributor, with patches across Media (V4L2), IΒ²C, IIO, DRM, and Android Binder β€” runtime-PM leaks, use-after-free, race conditions, resource-lifetime and subsystem cleanup. Plus a filed camera-imaging patent (under examination) for real-time smart-composition and duplicate detection.

πŸ”­ On my bench right now

Kernel upstream work Β· AI accelerators (GPU / NPU) Β· embedded vision & Physical AI Β· robotics software stack Β· Android Automotive (AAOS)


🧭 How I got here β€” I climbed the stack

My career recapitulates the boot order. I started at the metal and grew upward, layer by layer, until I was architecting the top of the pipeline. That's why I can chase a problem from a sensor's IΒ²C register all the way to the HAL β€” and actually find where it breaks.

      β–²
      β”‚   15 years climbing the stack β€” metal β†’ architecture
      β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚ APPLICATION  Β·  IMAGING ARCHITECTURE                                          β”‚
      β”‚ Camera HAL3 Β· multi-camera Β· Night Mode/HDR Β· 3A Β· bring-up automation        β”‚
      β”‚ Samsung R&D  Β·  2022-present                                                  β”‚
      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚ FRAMEWORK  Β·  MULTIMEDIA                                                      β”‚
      β”‚ Android TV framework Β· ALSA/TIF/S-PDIF Β· camera HAL porting Β· certs           β”‚
      β”‚ Vantiva Β· LeEco Β· Zebra  Β·  2016-2022                                         β”‚
      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚ KERNEL  Β·  RF  Β·  PROTOCOL STACKS                                             β”‚
      β”‚ board bring-up Β· LTE RFFE Β· RRC/NAS/IMS Β· USB peripherals Β· factory tools     β”‚
      β”‚ Motorola  Β·  2013-2016                                                        β”‚
      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚ DEVICE DRIVERS  Β·  BOARD BRING-UP                                             β”‚
      β”‚ drivers + HAL (AM3517) Β· bootloader/board-config Β· display, touch, PMIC, GPIO β”‚
      β”‚ 3Di Β· Motorola Mobility  Β·  2011-2013                                         β”‚
      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚ BARE METAL                                                                    β”‚
      β”‚ 8/16/32-bit MCUs Β· OMAP/i.MX/Cortex-M bring-up Β· LCD, touch, RFID, GSM        β”‚
      β”‚ Edutech  Β·  2010-2011                                                         β”‚
      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β”‚
      β—‹   started here (2010)

Now the arc loops back: contributing down into the kernel core upstream, while reaching forward into edge AI and robotics β€” where this same sensor-to-compute pipeline becomes a machine's perception.


πŸ“ Bengaluru, India Β· πŸ”— linkedin.com/in/pbiren Β· curious, always, about where hardware and software meet.

Popular repositories Loading

  1. sensor sensor Public

    485 sensor

    C

  2. eudyptula-challenge eudyptula-challenge Public

    eudyptula-challenge

  3. birenpandya birenpandya Public

  4. FrameDrops FrameDrops Public

  5. birenpandya.github.io birenpandya.github.io Public

    musings

    Astro