Sensor Data Acquisition With Linux's IIO Subsystem and Libiio
summary
IIO now supports mainstream sensor stacks with ~700 driver files (~250k LOC) and over 1,000 contributors, exposes in-kernel buffering and triggers, and lets host algorithms capture remote devices via libiio over USB/Ethernet or mDNS. Demos show Raspberry Pi + IMU at ~100 samples/s and support for quad 16‑bit 12 Gsps DAC / quad 12‑bit 4 Gsps ADC. Tooling includes IO command-line utilities, tinyiiod for microcontrollers, an XML-backed emulator, and zero-copy devmim DMA for high throughput.
AI-written summary · about
chapters (16)
- 0:00Introduction and background
- 1:04Kernel-space vs. user-space
- 2:29Overview of Linux subsystems
- 5:49The IIO framework
- 10:32High-speed DMA and scaling
- 14:24IIO concepts and attributes
- 16:15Local and remote use cases
- 21:20Libiio improvements and RPC
- 24:54Language bindings and tools
- 27:20Practical MATLAB demo
- 31:01System-level architecture
- 35:10Debugging and CLI utilities
- 36:44Microcontroller support
- 38:42Emulation and zero-copy
- 41:31Summary and conclusion
- 42:46Q&A session
related talks
37mIndustrial IO and You- Nonsense Hacks!
27mLibIIO and gr-iio
44mIndustrial I/O and You: Nonsense Hacks!
33mDo It Faster: How We Supercharged Linux To Work With Blazing Fast ADCs for IIO
32mgr-iio: Nuances, Advanced Features, and New Stuff
09mLinux sensor device driver programming with 96Boards
40m10 Years of the Industrial I/O Kernel Subsystem
42mI3C, the Industry, and Linux
