Spurred on by this fantastic post by Les Pounder on Tom’s Hardware, I decided to try out a method for using a screen device with a Raspberry Pi. The trick lies in using an HDMI Video Capture dongle to turn the HDMI output of the Pi into a USB input which is picked up as a webcam on your device-with-a-screen.
I used a Raspberry Pi 400 all-in-one machine, but expect this to work with any model of Pi. Obviously, the more recent your version of Pi, the better speed you’ll get.
First of all, I sought out an HDMI-to-USB dongle. I checked with Les first to see what he’d used. This one on eBay did the job for him, but I thought: Can I get it cheaper? On Amazon, I found a similar-looking dongle for £5.99 (now £6.99) so, being a cheapskate (and having Amazon Prime), I bought one of those and it arrived soon enough.
I used an Official Raspberry Pi microHDMI to HDMI cable (knowing it was a good quality cable) and connected that to the dongle. I then used a USB-to-microUSB adapter that I had hanging around from a Raspberry Pi Zero kit that I got from The MagPi when I subscribed (although I’m sure any one of those adapter cables will work, you just need to make sure it carries the DATA line). I plugged that into my Chuwi 7″ tablet and then loaded up an app called “USB Camera Standard” from the Google Play store. I opened up the app, gave it permissions and… my tablet rebooted. Ah. That’s vexing. But, then, I wasn’t expecting a smooth ride – I fail so you don’t have to. 🙂
Had I got the wrong dongle, I asked myself? Maybe. Let’s try it with my Honor 7x mobile phone…
I plugged everything in, downloaded the same app, opened it, gave the permissions and ping! There was the Raspberry Pi desktop, albeit small. I enabled the Pixel Doubling function in the Raspberry Pi Configuration app under “Preferences” in the Pi’s menu and allowed the Pi to reboot. (This trick is on Les’ blog post here). This doubled the size of everything and I was shown what you see above. You can make the app go full-screen by clicking on the three dots at the top right. This makes the display even clearer. Just good enough for some coding/maintenance/emergency usage.
I then wondered… if all the adapter is doing is converting the HDMI output into an incoming webcam stream, can’t I just use my laptop in the same way? So, I removed the USB-to-microUSB adapter, plugged the dongle into a USB hub (because my laptop is a bit limited on ports, not for any other reason) and Windows reported that it was adding a new device. Excellent! But how to view the output? Well, my mind immediately went to Zoom which I know just displays any camera input (and because I’ve used it every single day recently!). I loaded up Zoom and… it… displayed… oh, hang on, it’s mirrored. But, that’s not a problem – you go into the Video Settings screen and uncheck the Mirror My Video box.
So, that’s the laptop screen outputting the webcam input from an HDMI-to-USB dongle from a Raspberry Pi’s HDMI output!
Yes, I know it’s all possible with a VNC server/client, but this is a great quick-to-get-setup option if you need a screen for your Pi but don’t want to lug around a monitor with a power supply!