Though I spend the majority of my time working with microcontroller class devices, I also have an embarassingly robust collection of single board computers (SBC), including a few different Raspberry Pi models, the BeagleV Starlight Beta (RIP), and more. Typically when setting up these devices for whatever automation task I have planned for them, I’ll use “headless mode” and configure initial user and network credentials when writing the operating system to the storage device using a tool like Raspberry Pi’s Imager.
However, sometimes direct physical access to the SBC with a monitor and keyboard is useful for initial configuration, maintenance operations, or workloads that have a visual component. As someone who doesn’t use any external monitors for my daily development, digging up an HDMI monitor, finding somewhere to put it, and connecting it to the device is an annoying process. Furthermore, if I’m on the go I almost certainly don’t have easy access to an external monitor.
Raspberry Pi boot logs shown in VLC media player.
Fortunately, I rarely ever do this because I have a handful of HDMI to USB capture cards, ranging from extremely cheap variants from Amazon, to the higher quality Elgato Cam Link 4k. These are typically used for live streaming a video feed from DSLR / mirrorless cameras or gaming consoles, but they also serve as a great option for capturing video from any other device that has HDMI output. On my System76 Linux daily driver laptop, I can use any number of different video playback applications to display the HDMI output via the capture card. For longer term use cases, I can breathe new life into one of my old laptops, using the capture card to effectively convert it into a monitor.
VLC media player:
vlc v4l2:///dev/video0
FFplay (FFmpeg):
ffplay /dev/video0
Cheese:
cheese v4l2:///dev/video0
If you do want to stream or record the SBC output, OBS will give you even more control. You’ll still need a USB keyboard, but I already use one with my laptop, so temporarily plugging it into the SBC for configuration while I use the laptop as a monitor is minimally disruptive. However, if you find yourself regularly needing to connect to multiple machines, it might be time to consider getting a KVM switch.