Handling latency in data acquisition systems
In recent projects, I found myself working with data acquisition systems. For instance: PCIe/10GbE readouts for 2D XRay detectors (RASHPA slides, RASHPA paper) instruments mixing 1D signal acquisition and triggering, microcontroller based system for audio transmission: (NRF spearker)
Using the C language to program the am335x PRU
Assembly-language PRU development is tedious and error prone, so Fabien Le Mentec shows how to use TI's PRU C toolchain to simplify the workflow. He walks through installing the CGT package, integrating the compiler with a modified prussdrv loader to honor the _c_int00 start symbol, and provides a BeagleBone Black example with build scripts and sources on GitHub. The post also covers inline assembly constraints and code-size tradeoffs.
Using the Beaglebone PRU to achieve realtime at low cost
Fabien Le Mentec shows how the BeagleBone Black's PRU coprocessors can run hard realtime control loops, removing the need for an FPGA or dedicated microcontroller. He walks through Linux setup, device tree enabling, assembler and loader tools, and a timer example that reads ADCs and drives PWM from PRU code. The post highlights community SDKs and a recent TI Code Composer Studio option for C-based PRU development.
Interfacing LINUX with microcontrollers
Fabien presents a practical pattern: put Internet- facing logic on a Linux board and keep time-critical I/O on a microcontroller, using a Raspberry Pi and a Teensy 3.0. He introduces MASL, a reusable userspace library that hides master-slave details and shows how to use userspace SPI, sysfs GPIO and epoll for programming, reset and event-driven signaling with working code examples.
How to install Ubuntu 12.04 Precise, Xubuntu-desktop and Open JDK-7 on Beagleboard Rev. C2
Want to run Java GUI apps on a BeagleBoard Rev C2? This hands-on post walks through installing Ubuntu 12.04, adding the Xubuntu desktop, and getting OpenJDK-7 running, including SD flashing, u-boot and network setup, display and audio tweaks, and a fix for XFCE login ownership problems. Follow the exact commands and small workarounds the author used to get a monitor, sound, and Java VM working on the board.
A true pioneer passes away... A farewell to Ritchie.
Dennis Ritchie's work on C and UNIX quietly shaped the tools we use every day. Gene Breniman recalls becoming a convert after reading Kernighan and Ritchie's The C Programming Language and how C replaced assembly in his embedded projects. This personal farewell explains why K&R remains a near-biblical reference for many engineers and why Ritchie's influence still matters.
An overview of Linux Boot Process for Embedded Systems
Booting Linux on embedded hardware collapses PC boot stages into a single bootloader, and understanding the early steps helps troubleshoot low-level failures. Kunal Singh breaks down the sequence from the bootstrap firmware and primary/secondary bootloaders through zImage decompression, MMU and page table setup, start_kernel, and the initrd pivot to the root filesystem. Practical focus favors ARM examples.
Building Linux Kernel for Desktops
Kernel building for desktop Linux is less daunting than it used to be. In this short primer Kunal Singh introduces the distribution-specific tools and procedures that simplify compiling a desktop kernel, with focused pointers for Fedora, Ubuntu, and SUSE. Engineers will get a quick overview of where to start and which tools each distribution provides to streamline a custom kernel build.
Linux Kernel Development - Part 1: Hello Kernel!
Skip userland and run code inside the kernel with a tiny "Hello Kernel" module that prints messages on load and unload. This introduction walks through required headers, the init and exit hooks, MODULE_* metadata, a kernel-friendly Makefile, and the basic workflow to build, insmod, rmmod and inspect messages with dmesg. It’s a hands-on first step into Linux kernel module development.
How to install Ubuntu 12.04 Precise, Xubuntu-desktop and Open JDK-7 on Beagleboard Rev. C2
Want to run Java GUI apps on a BeagleBoard Rev C2? This hands-on post walks through installing Ubuntu 12.04, adding the Xubuntu desktop, and getting OpenJDK-7 running, including SD flashing, u-boot and network setup, display and audio tweaks, and a fix for XFCE login ownership problems. Follow the exact commands and small workarounds the author used to get a monitor, sound, and Java VM working on the board.
Getting Started With Embedded Linux - From Nothing To A Login Prompt
This hands-on guide shows how to go from a blank board to a bootable embedded Linux system using Yocto and Docker. Follow the steps to build a reproducible Yocto environment, fetch Toradex manifests, set MACHINE to verdin-imx8mm, run bitbake, and produce the .wic.bmap image ready to flash. Ideal for engineers wanting a concise bringup path for a Verdin iMX8M Mini on a Dahlia carrier.
Building Linux Kernel for Desktops
Kernel building for desktop Linux is less daunting than it used to be. In this short primer Kunal Singh introduces the distribution-specific tools and procedures that simplify compiling a desktop kernel, with focused pointers for Fedora, Ubuntu, and SUSE. Engineers will get a quick overview of where to start and which tools each distribution provides to streamline a custom kernel build.
Handling latency in data acquisition systems
In recent projects, I found myself working with data acquisition systems. For instance: PCIe/10GbE readouts for 2D XRay detectors (RASHPA slides, RASHPA paper) instruments mixing 1D signal acquisition and triggering, microcontroller based system for audio transmission: (NRF spearker)
A true pioneer passes away... A farewell to Ritchie.
Dennis Ritchie's work on C and UNIX quietly shaped the tools we use every day. Gene Breniman recalls becoming a convert after reading Kernighan and Ritchie's The C Programming Language and how C replaced assembly in his embedded projects. This personal farewell explains why K&R remains a near-biblical reference for many engineers and why Ritchie's influence still matters.
Vala applications on Embedded Linux: maybe a clever choice [part 1]
If you need a high-level language for constrained embedded Linux devices, Vala is worth a look. It compiles to C and relies mainly on GLib, giving you native performance and minimal runtime dependencies. With reference counting instead of a garbage collector, modern language features, and a small storage footprint, Vala can outperform Python, Java, or Qt on low-RAM, low-storage boards. This first part focuses on dependencies, ABI compatibility, runtime characteristics, and a real-world example.
Off the shelf availability of Custom IoT Gateway
Choosing the right gateway can make or break an IoT deployment, yet industrial gateways are often expensive and generic. This post walks through practical criteria for off-the-shelf and custom gateways, covering edge computing trade-offs, mainframe versus embedded Linux, SoC and ADC choices, interfacing and debugging needs, and when to design your own hardware for real-time or protocol demands.
What is “real time”?
The post clarifies the technical meaning of “real time” for embedded systems and contrasts it with the colloquial sense of immediacy. It presents a precise definition: a real-time system’s correctness depends on both logical results and the time at which those results are produced, so missing timing constraints constitutes failure. The article emphasizes determinism — low variance in operation timing — as the key property of real-time systems, and contrasts classic RTOS behavior with general-purpose Linux’s higher timing variance. It also notes that raw CPU overprovisioning can mask nondeterminism in some designs, but is not always practical, reinforcing that real time means predictable timing sufficient for the application, not simply “fast.”
Open-Source Licenses Made Easy with Buildroot and Yocto for Embedded Linux
In this article I will try to explain what are the copyrights/copyleft, what are the popular opensource software licenses, and how to make sure that your Embedded Linux system complies with them using popular build systems ; Buildroot or YOCTO projec
OS influence on power consumption
Power consumption of an embedded system may be influenced in software in general, but selection of an operating system can be key.
A true pioneer passes away... A farewell to Ritchie.
Dennis Ritchie's work on C and UNIX quietly shaped the tools we use every day. Gene Breniman recalls becoming a convert after reading Kernighan and Ritchie's The C Programming Language and how C replaced assembly in his embedded projects. This personal farewell explains why K&R remains a near-biblical reference for many engineers and why Ritchie's influence still matters.
Handling latency in data acquisition systems
In recent projects, I found myself working with data acquisition systems. For instance: PCIe/10GbE readouts for 2D XRay detectors (RASHPA slides, RASHPA paper) instruments mixing 1D signal acquisition and triggering, microcontroller based system for audio transmission: (NRF spearker)
Building Linux Kernel for Desktops
Kernel building for desktop Linux is less daunting than it used to be. In this short primer Kunal Singh introduces the distribution-specific tools and procedures that simplify compiling a desktop kernel, with focused pointers for Fedora, Ubuntu, and SUSE. Engineers will get a quick overview of where to start and which tools each distribution provides to streamline a custom kernel build.
Off the shelf availability of Custom IoT Gateway
Choosing the right gateway can make or break an IoT deployment, yet industrial gateways are often expensive and generic. This post walks through practical criteria for off-the-shelf and custom gateways, covering edge computing trade-offs, mainframe versus embedded Linux, SoC and ADC choices, interfacing and debugging needs, and when to design your own hardware for real-time or protocol demands.
Embedded Linux Board Farms 101: The Requirements That Actually Matter
When you keep your embedded Linux boards in a rack or remote lab, the "plug in HDMI" workflow breaks down fast. One bad kernel push and SSH never comes back. This post lays out the core requirements for a real board farm: out-of-band serial console access, remote power cycling, and scripted reimaging so you never need someone on-site who knows Linux. Once those primitives are in place, everyday smart home devices — Tasmota switches, Home Assistant, environmental sensors — become legitimate development tools that bring enterprise lab capabilities to a hobbyist budget. Includes a pre-flight checklist for transitioning from KVM-style access to a fully remote setup, and a preview of the full implementation presented at the Embedded Online Conference in May.


















