In mid-August this year, I got interested in the Radxa Linkr KVM – and all I have to say to that is that it works perfectly over WiFi, offering KVM features in a slim stick. HDMI in, USBC out to the target machine – USB power.
It’s just as well that it works well, because the company then sent me their Q8B board (complete with heatsink but no case or PSU) to play with. The latter was sitting on a shelf until this morning, because it turns out that what they mean by USB C is PD (Power Delivery) USB C – and 20v included. I said about the PSU: “no problem – I have a lot of them” and I really have a lot of QuickCharge (QC3) and PD USB supplies with USB-C outputs.
And so it was that I ended up with an SBC that I could do nothing with because it just wouldn’t turn on. Finally, I twigged that not all PD power supplies are the same. There are some (but by no means all) that have a maximum of 20 volts, up to 3 amps or so. But none of mine went past 12 volts.
So, two days ago, I ordered a reasonably priced – I’m thinking about 10 euros – power supply from Amazon with up to 20 volts at 3.5 amps output from the USB-C connector. While I’m waiting, I went off on my PC to get a Linux distribution recommended by Radxa. I then put that image on a micro SD card all ready to go. Of course, without a working Radxa computer, I couldn’t really prove it worked.
The next morning I went out to the local tobacco shop to pick up my mail and there was the power supply. That afternoon I plugged the power supply into the wall and the Radxa unit. I plugged the Radxa unit’s HDMI output into the KVM along with one of the USB connectors (not USB-C) on the SBC into the KVM. I plugged the SBC into the power supply and a green light came on. Magic!
I went to my PC from where I could check and see the output of the SBC.
And I noticed it was waiting for a login from either Radxa or Rock. I have on the Radxa website to the information about this SBC and sure enough, login user radxa with password radxa.
And here we are. Obviously just to be awkward, while writing, the thing is asleep, so I’ll try again.

Looks pretty standard so far.

Once in Firefox (bottom left) I went into the settings to make sure the PC never starts up on me again – so far, so good. I notice the unit doesn’t have Bluetooth – no problem as I have a couple of BT dongles… – (I’m connected to the SBC via Ethernet by the way – so I’m not stuck for passwords).
Next – the Bluetooth – make sure there are no surprises. I use one USB connector – there are 3 more and then a pair of USB-C connectors. I have no idea what model my bluetooth dongles are. I’ve had them around on my own for a long time.
They say Bluetooth 4, and on the side, CSR4. That’s it. Wish me luck. Under Power – Settings I found all kinds of settings including BT. Can it really be that simple?

When I inserted the dongle, some devices magically appeared that I didn’t even know had BT (WiFi IOT gadgets, of which I just created in ESPHome this week).

Ok, that’s Bluetooth sorted. Next, I need to run the device on Spanish time.

Not the best start – the board was definitely connected to the internet, but only the US seemed to work… AHAH, I actually hadn’t selected one of the ethernet ports, and that’s why I wasn’t connected to the internet, but now I am.

Erm, not so fast..

It’s definitely connected – Wikipedia works – so why can’t I change the location? I’m in a completely different time zone than the US – and China – so asking for help in the middle of the day is a non-starter.
Ok it turns out there are several ways to get there.

This part is at least a pretty standard Linux setup… normal Ethernet (2 of them) or USB Ethernet… nothing to see about WiFi – not essential but it would have been nice. It seems that WireGuard VPN is built in – or you can add others.
Oh, hardware, before you ask.

AHAH, Terminal – SUDO RSETUP – I found it necessary to add GB (UK) – seconds later… wheee.

I thought about asking ChatGPT for help with this – but since it’s a new board – I decided to go old school at first (ie hunt and peck).
Ok, reboot it seems..

Next challenge – WIFI – I couldn’t see any signs of WiFi even with my WiFi dongle connected – I won’t bore you with the details only half of which I understood – but on my PC I pulled up my new friend ChatGPT which let me open the Linux terminal in the main menu – enter a bunch of commands into the Q8B including sudo apt update – and some specific install terminal – and some specific install terminal – and some specific install…

You may not find this exciting – I did it when the WiFi with my cheap USB dongle was clearly working.
That’s the fun bit done – and now – the Dragon Q8B, based on the Qualcomm Snapdragon 8cx Gen 3 (SC8280XP) has an 8-core Kryo CPU, Adreno 690 GPU and Qualcomm Hexagon AI Engine rated up to 29+ TOPS. Radxa positions it specifically for local/edge AI, including compact LLMs. Or so it says.
After following the simple instructions on the Radxa website – I ran a test in the terminal…
fastrpc_test -a v68
which produced this:

The next step is QAI APPBuilder – I could mess with language models and lose myself – or use Real-ESRGAN which takes an image – mess with it and Raxda even has a specific example…
I’m not going to go into the whole build thing – the Radxa site is comprehensive and tells you what to install and how to install it – for reference for initial messing around I’m using a 64GB microSD – I also suspect that when I get into this I’ll need an M2 drive – the board supports up to 2 drives.
Next, I followed the instructions on the Radxa site to download half the world to my little 64GB micoSD – I should point out that the radiator runs very cool through all of this.
In the…
python run_inference.py –model real_esrgan_x4plus –args “–chipset 6490 –bin –input_image_path models/computer_vision/super_resolution/real_esrgan_x4plus/assets/input.jpg –no_show”
In short – a 512*512 image (input.jpg file) and a 2048*2048 image (output.png). Nothing bigger but proves that the whole thing works…
And now I can move on to something much more interesting than super-resolution: YOLO object recognition.
That lets me point the Q8B at an ordinary photo and have its NPU identify things like people, cars, dogs, chairs, etc., with bounding boxes.
That’s a much better demonstration of what the Q8B’s advertised AI capability can actually do.
This was right at the edge of my abilities – but in that terminal – I managed to open this.

Some real detection taking place on my new RADXA board… Well, it’s a start….
And now, give me one of my real photos – here’s the test – I’m looking forward to this one…
SO I put a totally random photo from one of my vacation trips – and this is what showed up in the Linux terminal seconds later.. (apparently the actual detection took all of 9ms).

For my next trick – unsolicited – I used an old USB microphone dongle I had lying around. arecord -l showed it was present… so next I tried arecord -D plughw:1,0 -d 10 -f cd test.wav and said “This is Pete testing the Dragon Q8B. If this works, we’ll make this little thing do clever things.”. After 10 seconds the prompt returned.
To cut a long story short – I found my old Logitech H800 Bluetooth / USB headset. I lost the USB dongle years back, but the Bluetooth is intact and I had already dropped a USB BT dongle into the computer – went to the normal Linux setup and added the headset – no problem.
Next I added some packages to handle the audio processing but I’m afraid all the audio models I tried failed. But then it would help if I knew what I was doing…
Ok, image classification on the above image…
python run_inference.py –help-model googlenet
python run_inference.py –model googlenet –args “–chipset 6490 –image /home/radxa/photos/myphoto.jpg”
Restaurant 46.4%
dining table 6.9%
Potter’s Wheel 6.3%
counter 2.7%
Patio 2.2%
1.82 ms. Not bad.
Still using my microSD – no big M2 drive…
python run_inference.py –model inception_v3 –args “–chipset 6490 –image /home/radxa/photos/myphoto.jpg”

ah, well, no laptop in my photo… no WOK that I’m aware of… restaurant – well, ok.
So, all you have above is the summary – ChatGPT and I did a lot of work to install dependencies that would have proved tedious for you when I went into it – but since this is my first attempt to look at an SBC with local AI hardware – so far I’m having fun and everything on a simple microSD. Today I got the urge to fit an M2 drive and went to Amazon to see the prices have gone up recently – then just by fluk opened a USB drive enclosure to find a small M2 drive inside – 256GB. We did some checks to find very disappointing speeds over USB-C.
This morning I pulled the little drive out of its enclosure – half the length of the ones Radxa recommends…but the connections looked right, so I took a chance and inserted them. 15 minutes later I copied the entire microSD to the M2 and mounted the latter, then I turned off, removed the MicroSD – powered and NO PROBLEM with read speed of 1.5G / second and write speed of 1.2G / s.
This is fun and this is WAY more than just a Linux SBC.
