
Arduino UNO Q Project: Desk Bot Concept & Comparison
October 25, 2025
VTM P³ Reference Design
January 29, 2026Controlling the Arduino Uno Q with Python
If you’ve been following the build for the VTM Desk Bot, you know the goal isn't to create a single-task toy. The vision for this Arduino Uno Q project is a versatile robot that actually helps you build—a companion that can grow and take on more complex jobs as the system expands.
| Component | Architecture | System Role |
|---|---|---|
| MPU (Brain) | Qualcomm QRB2210 | Linux OS, Python Environment, SLM Processing |
| MCU (Body) | STM32U585 | Real-time I/O, PWM Control, LED Matrix Driver |
| LED Matrix | 13 x 8 (104 LEDs) | Physical HUD / Mouth Visual Feedback |
| VIEW FULL ARDUINO UNO Q SPECIFICATIONS | ||
The Arduino Uno Q features a high-performance Qualcomm QRB2210 microprocessor (MPU) running Linux, which includes the Adreno 702 GPU for dedicated graphics and AI tasks. This MPU is interconnected with an STM32U585 microcontroller (MCU) dedicated to real-time execution.
Because this is a new board, there was no prior code to reference. I let AI give it a shot, and the results were way off. It tried to generate custom communication scripts, but the serial links were fragile; they would lose the port entirely upon reboot. The solution was found by analyzing the official Arduino_RouterBridge implementation to create a robust RPC (Remote Procedure Call) architecture. You can find more details in the official Arduino App Lab examples.
The Technical Wall: Port Persistence
When I started, the goal was to leverage my previous work, such as my tutorials on local LLM integration.
I also integrated my custom Gemini API AI chat interfaceto get this Arduino Uno Q project running.
My initial attempts with AI-generated communication scripts failed because the serial links were too fragile. The solution was to move away from raw serial streams and implement a robust RPC architecture using the Arduino_RouterBridge. This ensures that even after a reboot, the "Brain" (MPU) never loses the "Body" (MCU).
1. The Body (MCU): Real-Time Reflexes
The STM32 side handles physical execution. In the Desk Bot, this is the LED matrix "mouth." Note that the Arduino Uno Q matrix is a 13 x 8 grid, distinct from the 12 x 8 grid on the R4 WiFi.
2. The Brain (MPU): High-Level Command
The Qualcomm MPU handles the system logic and high-level Python commands. Instead of managing raw serial bits, the VTM OS uses the bridge to trigger functions defined in the C++ code on the MCU side.
VTM OS Chat Mode & Matrix Synchronization
The core focus of this article is the seamless synchronization between the VTM OS chat logic and the physical hardware. In the video below, you can see the 13x8 LED matrix animated in real-time, responding to the AI voice output.
The Direct Hook
By establishing a rock-solid data link between the Linux OS and the MCU, we have created The Direct Hook. If the Linux Brain can successfully command the "face," it can command anything—validating the entire architecture for the next phase of this Arduino Uno Q project: 6-DOF Servo Integration. 🦾
The Full MCU Sketch
Below is the complete C++ sketch that lives on the STM32 side of the board. This code manages the RPC handshake and the flicker animation logic for the 13x8 matrix.





