EXPLORER
utsav-portfolio
about
intro.md
projects
projects.md
resume
resume.pdf
tutorials
index.md
misc
quotes.md
book-bits.md
intro.md
about/profile.md Active
Random Cat's avatar

Utsav Balar

Embedded Linux & BSP Engineer

Gujarat, India

Passionate Linux kernel and BSP engineer with expertise in embedded systems, custom ROM development, and FOSS contributions. Currently pursuing a Master's in Computer Science while working as a freelance Linux Kernel Developer.

about/intro.md Modified

Utsav Balar

Embedded Linux & BSP Engineer

Currently pursuing a Master’s in Computer Science at NIT Meghalaya and working as a freelance Embedded Linux Developer.

Experience

Vicharak | Embedded Linux cum BSP Engineer

Dec 2022 - Dec 2023

  • Led BSP development for Vicharak Vaaman (RK3399) and Axon (RK3588) boards
  • Managed Linux kernel, rootfs images, and U-Boot integration
  • Engineered system images for various Linux distributions (Ubuntu, Debian, Yocto, Buildroot, Armbian, Manjaro)
  • Contributed to Windows on ARM implementation for Rockchip RK3588

Freelance | Linux Kernel Developer

Jan 2024 - Present

  • BSP development for various platforms (RK3399PRO, RK3588, RK356X, BCM2712)
  • Linux kernel customization
  • Device driver integration
  • LLM benchmarking and testing on low-powered Edge hardware
  • Qt-based application development for Linux

Skills

Proficient

Primary Skills
RUST
let proficient = [
    "C", "Rust", "Bash", "AWK",
    "Embedded Linux", "Linux Kernel Dev",
    "BSP Engineering", "Device Drivers",
    "Git", "AOSP", "Custom ROM Development",
];

Semi-Proficient

Secondary Skills
BASH
SKILLS=(
  "Yocto/Buildroot Project"
  "U-Boot"
  "ARM Architecture"
)

Familiar With

Additional Skills
C
char *familiar[] = {
    "C++", "HTML/CSS/PHP/React/NodeJS",
    "MySQL", "MongoDB", "Figma", "Qt QML"
};

Tools

Development Tools
RUST
struct Tools {
    compilers: Vec<&'static str>,
    virtualization: Vec<&'static str>,
    ci_cd: Vec<&'static str>,
}

let my_tools = Tools {
    compilers: vec!["GCC/Clang Cross-Compiler", "GDB"],
    virtualization: vec!["QEMU", "Docker"],
    ci_cd: vec!["Travis CI", "Drone CI", "Jenkins"],
};

Education

Master’s in Computer Science and Engineering

National Institute of Technology, Meghalaya, IN Expected Jun 2025

Bachelor’s in Computer Engineering

UKA Tarsadia University, Gujarat, IN 2019 - 2023

  • Privacy-focused, de-Googled Android ROM with custom kernel
  • University management system using PHP and MySQL
  • JavaScript-based web plugin for graphical user authentication

Personal

Interests

  • Open-source development
  • Low-level engineering
  • Embedded systems
  • Reading webtoons and manhwas
  • Watching movies and TV shows
  • Listening to music

Favorite Books

  • Shrimad Bhagavad Gita
  • 12 Rules for Life by Jordan B. Peterson
  • Ikigai by Héctor García and Francesc Miralles

Favorite Music

  • 90s and 2000s nostalgic jams
  • Electronic beats
  • Artists like Pixies, MGMT, Daft Punk, Oliver Heldens
projects/projects.md Saved

Latest Projects


Custom Device Drivers for PamirAI Distiller 2

Advanced driver development for low-power Edge AI hardware

Engineered and implemented custom device drivers for the PamirAI Distiller 2, a low-power Edge AI hardware platform. The driver suite includes comprehensive support for the TLV320AIC3204 audio codec and an in-house UART-based IPC protocol facilitating communication between the Raspberry Pi CM5 and RP2040 microcontroller.

Technical Details
  1. Audio Codec Driver:

    • Developed a driver for the TLV320AIC3204 I2C audio codec with deterministic initialization sequence
    • Implemented granular volume control and input gain adjustment via userspace interface
    • Integrated sysfs-based configuration interface allowing runtime codec parameter modification
  2. Soundcard Driver:

    • Architected an ALSA-compliant soundcard driver exposing the I2C audio codec to the Linux sound subsystem
    • Implemented full-duplex PCM playback and capture functionality with configurable sample rates and bit depths
  3. UART-Based IPC Protocol:

    • Engineered a lightweight binary communication protocol (4-byte fixed-size packet format) for efficient data exchange between the Linux host processor and RP2040 microcontroller
    • Implemented robust error detection through checksum validation to ensure data integrity
    • Designed a comprehensive command set supporting input event handling, LED control, power management, diagnostics, and system management functions
  4. Serio-Based Input Driver:

    • Developed a serio-based input driver interfacing with the Linux input subsystem for event processing from the RP2040 microcontroller
    • Implemented dual protocol support: line-based (decimal representation of button states) and raw protocol (direct byte representation)
    • Optimized interrupt handling and event debouncing for reliable input processing

View GitHub Repository


QT Application Development

User interface for AI-driven embedded systems

Designed and implemented a Qt-based application for PamirAI, a startup specializing in AI-driven solutions. The application seamlessly integrates with MCP-based AI modules and provides a responsive, efficient interface for monitoring and controlling Edge AI hardware.

Technical Details
  1. QML-Based Qt Application:
    • Architected a comprehensive PyQt6 QML-based application for the PamirAI Distiller 2
    • Implemented a low-latency interface for bidirectional communication with MCP servers
    • Integrated Whisper-based speech-to-text (STT) processing with optimized audio capture pipeline
    • Developed custom driver and Qt bridge components for E-Ink display rendering and refresh management
    • Implemented hardware-specific key input handling for the RP2040 microcontroller
    • Engineered custom focus and navigation system optimized for three-button hardware interface constraints

View GitHub Repository


Freelance Embedded Linux Development

Custom solutions for diverse hardware platforms

Executed multiple contract projects involving BSP development, Linux kernel customization, and device driver integration for platforms including Qualcomm Snapdragon, Raspberry Pi, and Rockchip SoCs.

Technical Details
  1. IMX708 Driver for RADXA Rock 5B:

    • Developed a Linux kernel driver for the IMX708 camera sensor with complete V4L2 framework integration
    • Implemented custom ISP parameters and exposure controls for optimal image quality
    • Optimized driver for memory efficiency and reduced CPU utilization
  2. SPI Configuration on Rockchip RK3588 SoC:

    • Configured and optimized SPI interfaces for high-throughput communication with external peripherals
    • Developed device tree overlays with comprehensive pin multiplexing and clock configuration
    • Implemented DMA-based transfers for improved performance and reduced CPU overhead
  3. Rockchip Debian to Yocto Migration:

    • Migrated the Debian-based build system to Yocto for the Khadas Edge 2 platform (RK3588)
    • Engineered custom Yocto layers and recipes for the Khadas hardware ecosystem
    • Ported the Khadas Fenix build framework to integrate with the Yocto build system
    • Implemented device tree modifications and U-Boot integration for bootloader functionality
  4. TC358743 Integration for NVIDIA Jetson:

    • Integrated the TC358743 HDMI receiver kernel module into the NVIDIA Jetson Orin Nano platform
    • Developed custom device tree modifications for HDMI input support with proper clock and pin configurations
    • Implemented V4L2 capture interface for video stream processing
  5. UART Enablement for Rock 5B with Android Kernel:

    • Enabled and configured additional UART interfaces on the RADXA Rock 5B platform using the Android kernel
    • Implemented proper pin multiplexing and clock configurations in the device tree
    • Developed userspace interface for UART configuration and testing
  6. BSP Development for AIO-3588Q Board:

    • Developed a comprehensive BSP for the AIO-3588Q board, including device tree configurations, bootloader integration, and kernel customizations
    • Implemented proper memory mapping, clock tree configuration, and power management
    • Optimized boot time and system performance through kernel parameter tuning
  7. Android Bring-up for RK3399Pro Custom Board:

    • Executed Android platform bring-up for a custom RK3399Pro board, including device tree modifications, kernel configurations, and AOSP integration
    • Implemented hardware-specific drivers and interfaces for sensors, display, and connectivity
    • Optimized boot sequence and power management for improved battery life
  8. Buildroot for OrangePi One:

    • Developed a customized Buildroot configuration for the OrangePi One platform
    • Implemented kernel and root filesystem optimizations for reduced footprint and improved performance
    • Created custom package selection and configuration for specific application requirements

Vicharak Vaaman SBC

Complete BSP solution for RK3399-based hardware

Led comprehensive BSP development for Vicharak’s Vaaman Single Board Computer (RK3399-based). Managed device tree configurations, U-Boot bootloader integration, and Linux kernel customizations for optimal hardware utilization.

Technical Details
  1. Hardware Enablement:
    • Implemented complete hardware enablement for the custom RK3399-based Single Board Computer
    • Engineered device tree files with comprehensive configurations for CPU frequency scaling, memory timing, peripherals, and custom hardware components
    • Developed U-Boot integration with proper SPL configuration for booting the kernel and root filesystem
    • Created custom Linux kernel device drivers for GPIO expander and hardware information interfaces
    • Built optimized rootfs images across multiple Linux distributions (Ubuntu, Debian, Yocto, Buildroot, Armbian, and Manjaro)

View Product


Vicharak Axon SBC

Performance-optimized BSP for RK3588 platform

Led BSP development for Vicharak’s Axon Single Board Computer (RK3588-based). Focused on optimizing performance and power management features through advanced hardware-software integration techniques.

Technical Details
  1. Hardware Enablement:
    • Implemented comprehensive hardware enablement for the custom RK3588-based Single Board Computer
    • Developed detailed device tree configurations including CPU core management, memory configurations, peripheral interfaces, and custom hardware components
    • Engineered U-Boot integration with proper boot sequence and initialization for kernel and root filesystem loading
    • Created performance-optimized rootfs images for multiple Linux distributions (Ubuntu, Debian, Yocto, Buildroot, Armbian)

View Product


Custom ROM & Kernel Development

Optimized Android experience for Xiaomi devices

Extensive development work on custom ROM and kernel solutions for Xiaomi devices, including Redmi K20 Pro, Mi 11X, Mi 12X, and Poco F2/F3. Focused on optimizing performance characteristics and power management for Qualcomm Snapdragon platforms through custom kernel configurations and scheduler tuning.

View GitHub Projects


Open Source Contributions

Enhancing the Linux ecosystem

Active contributor to various open source projects within the Linux ecosystem, focusing on enhancing hardware support for ARM-based platforms and optimizing kernel performance through targeted improvements.

Contribution Areas

Linux Kernel

Submitted patches addressing device driver issues and implementing BSP improvements for various hardware platforms.

U-Boot

Contributed bootloader customizations and optimizations for embedded platforms, focusing on initialization speed and memory efficiency.


resume/resume.pdf Read-only
Loading resume...
misc/quotes.md Saved

Those who have everything, more will be given. Those who have nothing, everything will be taken away.

- Bible (Matthew 13:12)

History is just a madhouse it's turned over all the stones and its very careful reading leaves you little that's unknown.

- Dr. Jordan Peterson

Knowing yourself is the beginning of all wisdom.

- Aristotle

If your absence doesn't bother them, then your presence never mattered to them in the first place.

- Unknown

If you are distressed by anything external, the pain is not due to the thing itself, but to your estimate of it; and this you have the power to revoke at any moment.

- Marcus Aurelius

Me, I'm dishonest, and you can always trust a dishonest man to be dishonest. Honestly, it's the honest ones you have to watch out for.

- Captain Jack Sparrow

I think everybody should get rich and famous and do everything they ever dreamed of so they can see that it's not the answer.

- Jim Carrey

In this life, the brace ones die, the smart ones go crazy, and the world remains full of happy fools. Those who dare to challenge the norm, who stand up and fight against the injustices, often find themselves broken by the weight of their battles.

- @MaxitAllNoww (Youtube)

Agar Mil jaye sab kuch toh, Fariyad kiski karoge? Agar hone lage mulaqat roz toh, Yaad kiski karogye?

- Utsav Balar

Foregiveness is like setting a prisoner free and discovering that the prisoner was you.

- Louis B. Smedes

Life onec asked death, 'Why do people love me but hate you?' Death replied, 'Because you are a beautiful lie and I am a painful truth.'

- Unknown

The greatest glory in living lies not in never falling, but in rising every time we fall.

- Nelson Mandela

Men will fight well enough for gold and glory. For home and hearth. But if they perceive the cause to be just, they'll fight like demi-gods.

- David Gemmell

Daily Reminder: Your skin is not a paper, so don't cut it. Your neck is not a coat, so don't hang it. Your body is not a book, so don't judge it. Your heart is not a door, so don't lock it. Your life is not a movie, so don't end it.

- @tr1pleFPS (Youtube)
misc/book-bits.md Saved

At some point during the lecture, I would unfailingly feel the urge to stab the point of my pen into the neck of the person in front of me."

Maps of Meaning - Page 16

All the things I "believed" were things I thought sounded good, admirable, respectable, courageous. They weren't my things, however—I had stolen them. Most of them I had taken from books. Having "understood" them, abstractly, I presumed I had a right to them—presumed that I could adopt them, as if they were mine: presumed that they were me."

Maps of Meaning - Page 17

Algebra is the offer made by the devil to the mathematician. The devil says: I will give you this powerful machine, it will answer any question you like. All you need to do is give me your soul: give up geometry and you will have this marvelous machine."

Mathematics in the 20th Century - Page 7, Bulletin of the London Mathematical Society, 34 (2002) 1–15

Verso: Your father made the Axons, right? Verso: They are the essence of your mother. And... your brother. Monaco: She Who Plays with Wonder. He Who Guards Truth With Lies."

Clair Obscur: Expedition 33 - Act 3
tutorials/index.md Saved

Linux Kernel Device Driver Tutorials

A comprehensive tutorial series on Linux kernel device driver development, from basic concepts to advanced techniques. Designed for embedded engineers, kernel developers, and anyone interested in kernel module development.

Filters

Difficulty Level

Topics

beginner Part 1

Introduction to Linux Kernel Modules

Learn the fundamentals of Linux kernel modules and create your first 'Hello World' kernel module on the Raspberry Pi 5. This tutorial covers module structure, build system, and loading/unloading modules.

kernel device-drivers raspberry-pi +2 more
May 24, 2025
beginner Part 2

Character Device Drivers Fundamentals

Master the essentials of character device drivers in the Linux kernel with practical examples for Raspberry Pi 5. Learn about device numbers, file operations, and udev integration.

kernel device-drivers raspberry-pi +2 more
May 24, 2025
beginner Part 3

Kernel Memory Management for Drivers

Master memory allocation and management techniques in the Linux kernel with practical examples for Raspberry Pi 5. Learn about kmalloc, vmalloc, DMA memory, and common debugging techniques.

kernel device-drivers raspberry-pi +2 more
May 24, 2025
intermediate Part 4

Synchronization Primitives

Master the essential synchronization mechanisms in the Linux kernel with practical examples for Raspberry Pi 5. Learn about spinlocks, mutexes, semaphores, and atomic operations to build thread-safe device drivers.

kernel device-drivers raspberry-pi +2 more
May 26, 2025
intermediate Part 5

Interrupt Handling and Workqueues

Master the essentials of interrupt handling and deferred work mechanisms in the Linux kernel with practical examples for Raspberry Pi 5. Learn how to process hardware events efficiently while maintaining system responsiveness.

kernel device-drivers raspberry-pi +2 more
May 26, 2025
main
UTF-8 Markdown
about.md
Ln 1, Col 1 Spaces: 2
Default
Random Cat's avatar

Utsav Balar

Embedded Linux & BSP Engineer

Gujarat, India

Passionate Linux kernel and BSP engineer with expertise in embedded systems, custom ROM development, and FOSS contributions. Currently pursuing a Master's in Computer Science while working as a freelance Linux Kernel Developer.

$ uname -rom
Linux 6.15.8 GNU/Linux
Released Jul 24, 2025
Compiled with GCC 15.0.0
Ready to hack...
Built with Astro.js by Utsav Balar