Using the Linux spidev framework, it's possible to communicate with SPI peripherals entirely from userspace without writing a kernel-space device driver. The post walks through modifying the device tree to expose an SPI device, patching the kernel's spidev compatible string list to include a Toradex-specific entry, wiring a Bosch BMP388 pressure sensor to a Toradex Apalis iMX8 Ixora board, and implementing a C application that uses ioctl calls to configure SPI parameters and perform a read transaction. The example reads the BMP388 CHIP ID register (expected value 0x50) and validates the result with a logic analyzer.