I will develop linux kernel modules and custom device drivers
Expert Embedded Linux and Firmware Developer STM32 RTOS IoT Systems
Level 2
Has met high performance criteria and has a proven track record for meeting client expectations.
About this Gig
Are you struggling with a Linux driver that doesn't work? Need a custom kernel module built from scratch for your hardware? You are in the right place.
I am an experienced Embedded Linux Engineer with 10 years of professional experience. I have developed production-grade Linux drivers for a US commercial hardware company (Biamp Systems) that are actively deployed in real-world products.
What I Deliver:
- Custom Drivers: Character, platform, and network device drivers.
- Kernel Modules: Custom kernel space development with load/unload stability.
- Hardware Protocols: Implementation for UART, SPI, I2C, GPIO, and CAN bus drivers.
- Advanced Subsystems: Interrupt handling, DMA buffers, and Device Tree (DTS/DTBO).
- Porting & Debugging: Porting to newer kernels, bug fixing, and optimization.
Platforms & Build Systems:
- NXP i.MX6/i.MX8, STM32, Raspberry Pi, ARM Cortex.
- Yocto Project, Buildroot, and custom embedded Linux.
Why Choose Me?
- Production-grade code, not hobbyist scripts.
- Clean, commented source code with a ready Makefile.
- Please message me before ordering to share your kernel version and hardware datasheets.
My Portfolio
FAQ
Which Linux kernel versions and build systems do you support?
I develop for both legacy and modern Linux kernels (v4.x, v5.x, and v6.x environments). I am highly proficient in configuring and deploying drivers using Yocto Project layers and Buildroot configurations.
Do you provide user-space test applications along with the driver?
Yes. Alongside the kernel driver code and Makefile, I provide clean user-space test applications in C/C++ or Python to help you fully test the driver's read, write, and ioctl functional entry points.
What documentation or hardware details do you need to begin?
Please provide your target hardware datasheet, your specific chip/processor architecture, the target Linux kernel version, and a clear description of your required data register transactions.

