While many Hackster readers are familiar with running Edge Impulse for computer vision and other edge AI projects on Arduinos and Raspberry Pi's, we've recently added support for a new range of boards that the Hackster community might not be as familiar with. So, I thought I'd take a few minutes to jot down some information, notes and instructions on a new device that arrived on my desk recently, the Thundercomm Rubik Pi 3. 🥳
This board is powered by the Qualcomm Dragonwing™ 6490 SoC, containing an 8-core Kryo 670 CPU cluster, Adreno 643L GPU, and a Hexagon NPU with 12 TOPS of AI processing power. The "Dragonwing" processors are a new branding for Qualcomm's industrial, enterprise, and B2B parts that don't generally target end-customers and consumers, as opposed to the Snapdragon parts commonly found in smart watches, phones, tablets and laptops.
The Dragonwing 6490 SoC is also found in the Qualcomm RB3 Gen 2 Developer Kit, but that kit is costlier and is targeted more at robotics projects, whereas the Rubik Pi 3 is a cost-down kit and aims to be more of a "general purpose" single board computer. Beyond the Dragonwing 6490, it contains 8gb of RAM, 128gb UFS storage, 4K HDMI, USB 3 Type A and Type C ports, a 40-pin GPIO header, 2 CSI camera ports, WiFi, Ethernet, Audio, a micro-USB serial port console for debugging, and an M.2 PCIe slot on the bottom of the board for adding an NVME drive to expand storage.
The board comes with Qualcomm Linux (based on Yocto) pre-installed, with all of the drivers and SDKs needed to make use of the onboard hardware. There is also an Alpha version of Debian 13 available, though Thundercomm is still working on that one, and not all of the hardware is usable (yet) from within the OS. You can always check the Rubik Pi Documentation for updates and new image releases as they make progress.
With the board unboxed and connected to a keyboard, mouse, and monitor, you can plug in USB Type-C power to the port on the right side of the board, next to the HDMI port, and then press the small Power button located next to it. You will begin to see a green heartbeat LED flash, and then eventually after a few seconds the screen will turn on and you'll come to the desktop. The desktop is minimal with only a terminal icon, but you can build you own custom OS using their tooling to add additional packages if necessary. Or can also use the Debian OS build, which has a more typical set of desktop applications installed - just check to make sure that whatever ports or hardware you need, is currently enabled in Debian, though as mentioned, this is under active development).Because I was interested in checking out the Rubik Pi 3's ability to run AI models, I immediately headed over to Edge Impulse and logged in, then created a new project. I kept this part simple, and made a quick project consisting of some apples, kiwis, and lemons that were in a fruit bowl, and took pictures of them to build up a small dataset. I then drew my bounding boxes and labeled the images, in the Edge Impulse Studio. For more guidance on creating Edge Impulse projects, you can refer to the documentation or go through the tutorials located here.
After building the model, I went to Deployment, and in the Search box all you need to do is begin typing the word "Qualcomm" and an option called "Linux (AARCH64 with Qualcomm QNN)" will appear. Click it to choose it, and then scrolling down, you can click on the "Build" button. This will take just a moment to run, and then your model will download to your local laptop or desktop.
Now that I had an edge AI model ready, I needed to load it on to the Rubik Pi. Thanks to the existing support for the Dragonwing RB3 Gen 2, I was able to just follow the exact same instructions we provide for that device. With the board powered on and connected to the internet, I only needed these two commands to install Edge Impulse on the Rubik Pi:
$ wget https://cdn.edgeimpulse.com/firmware/linux/setup-edge-impulse-qc-linux.sh
$ sh setup-edge-impulse-qc-linux.sh
This downloads and installs the Edge Impulse for Linux runner, along with several dependencies. You can then start running inference (and detecting the location of your fruit in this case 🍋 ) easily by launching:
edge-impulse-linux-runner
In a browser, navigate to http://ip-address-of-your-rubik-pi:4912, to see the results!
I'll continue exploring the Rubik Pi and post more projects in the coming weeks and months, but for now we've successfully shown that the Thundercomm Rubik Pi 3 is a great low-cost way to get into the Qualcomm Dragonwing ecosystem, and is quite easy to use with Edge Impulse and the native on-device acceleration offered by the Hexagon NPU. If you have any questions, let me know in the comments below and I'll do my best to get them answered! 🙌
Comments
Please log in or sign up to comment.