🔧 Embedded Linux Consulting
I deliver production-ready stacks: bring-up, drivers, user-space apps.

Work With Me

I help companies get Linux running reliably on custom hardware.

From first boot to production images.

Solo, focused, and hands-on.

Stock image

What I Do

Most of my work starts with a board that powers on but doesn’t yet run a full Linux stack. I step in to bridge that gap: bringing the system to life, writing the missing drivers, building the user-space services that make the device actually useful, and making sure the whole software stack is production-ready. The services below cover the typical building blocks I deliver for clients:

  • Board bring-up I’ll take your board from bare metal to a working Linux system - writing the device tree, configuring U-Boot, and making sure the kernel boots cleanly.
  • Kernel & drivers Need hardware support? I write the drivers your product needs and, whenever possible, upstream them to mainline Linux - so you don’t have to carry patches forever.
  • Build systems I deliver reproducible Linux images using Yocto or Buildroot, complete with a clean BSP (Board Support Package) that you can use for development and production.
  • User-space services From GUI apps to protocol parsers, I build device-side software in C or Python. I’ve worked with communication stacks like MQTT, SIP, ZeroMQ, WebSocket, and NATS - and I can also help connect your device to backend services.
  • Integration & tuning I make sure everything - bootloader, kernel, drivers, and user-space - works together smoothly. I can optimize for fast boot, low power consumption, and solid security.
  • Knowledge transfer I write clear documentation along the way and provide a proper handover. If your team needs it, I can also run training sessions to get them comfortable with the stack.

How I Work

Project workflow diagram

Every project starts with a conversation. We begin by reviewing your hardware, documentation, and overall goals so that we can define clear success criteria together. This ensures we both know what “done” looks like before any code is written.

From there, I prepare a plan with milestones and a realistic timeline. Each milestone is tied to something you can actually use — for example, a booting kernel, a driver demo, or a reproducible root filesystem. This way, you can validate progress at each step rather than waiting until the very end.

During execution, I handle the heavy lifting: board bring-up, kernel and driver development, rootfs integration, and user-space services. We stay in close touch with short weekly check-ins (or at whatever cadence works best for you), so you always know where things stand and can see the system evolve in real time.

At the end of the project, I don’t just drop code on your desk. I deliver clean patches, documentation, and production-ready images. If needed, I also provide training or ongoing support so your team can confidently maintain and extend the system going forward.

Pricing

  • Fixed-price projects Best when the scope is clearly defined — for example, bringing up Linux on a new board, writing drivers for specific peripherals, or preparing a Yocto BSP. You get a predictable cost and timeline, and I deliver a complete package (code, documentation, images) at the end.
  • Day / weekly rates Ideal for open-ended or exploratory work — e.g. prototyping features, performance tuning, or supporting your in-house team. This gives flexibility to adjust scope as the project evolves, while still ensuring regular deliverables and progress updates.
  • Retainers For long-term support and peace of mind. Typically a fixed number of hours each month (for example 10–20h) dedicated to your project. Useful for maintenance, security updates, or quick troubleshooting without needing a new contract each time.

Contact

Have hardware that needs Linux?

Let’s discuss your board, goals, and timeline. Whether you’re at first boot or already deep in development, I’m here to make sure your hardware runs Linux smoothly. I’d be happy to hear about your project, just send me an email and we can schedule a call 😉

Tech Focus

STM32MP1 U-Boot Yocto Buildroot Linux drivers (UART, I²C) Device tree systemd ALSA Video4Linux C/C++ Python LVGL GTK TCP/UDP HTTP WebSocket ZeroMQ MQTT NATS HTML/CSS