cd /news/developer-tools/control-arduino-uno-q-via-smartphone… · home topics developer-tools article
[ARTICLE · art-39304] src=hackster.io ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

Control Arduino UNO Q via Smartphone Web Dashboard

Arduino UNO Q's dual-processor architecture enables a wireless smartphone dashboard for remote hardware control. The Linux MPU hosts a Python web server that sends serial commands to the STM32 MCU, allowing users to toggle pins and view feedback via a mobile browser without custom apps or cables.

read3 min views1 publishedJun 25, 2026
Control Arduino UNO Q via Smartphone Web Dashboard
Image: Hackster (auto-discovered)

The Official Arduino UNO Q is a powerhouse. Unlike traditional microcontrollers, it features a "dual-brain" architecture: a Qualcomm® Dragonwing™ MPU running Linux Debian for heavy AI/processing tasks, and an STM32U585 MCU for real-time hardware control.

But once you deploy this board in a remote location like a smart garden monitor, a ceiling-mounted AI camera, or a remote weather station plugging in a USB-C cable to check its status or change a setting is a massive hassle.

This project shows you how to bridge the two "brains" to create a wireless smartphone dashboard. You will host a lightweight web server on the Linux side that lets you control the STM32's pins and view real-time hardware feedback directly from your phone's browser. No custom apps to install, no cables needed after setup!

DetailsTo make this work, the two processors need to talk to each other.

  • The Linux MPU runs a Python web server that serves a clean HTML dashboard to your smartphone over Wi-Fi.
  • When you tap a button on your phone, the Python script sends a serial command to the STM32 MCU.
  • The STM32, which is constantly listening, receives the command and toggles the hardware (like turning on a relay or drawing a pattern on the onboard 8x13 LED matrix).

This setup means your phone acts as the remote control, the Linux MPU acts as the wireless router/web host, and the STM32 acts as the muscle.

Step 1 — Initial Setup and Wi-Fi ConnectionFirst, we need to get the UNO Q connected to your local network.

  • Connect the Arduino UNO Qto your PC via the USB-C port. - Power it using a 5V 3A USB-C PD adapter (or your PC, though a dedicated adapter is recommended for full SBC performance).
  • Access the Linux terminal via SSH or the serial console.
  • Connect to your Wi-Fi using the standard Debian network manager or the Arduino App Lab.
  • Once connected, type hostname -I in the terminal to find the board's IP address (e.g., 192.168.1.45). Note this down!

Now we program the real-time MCU to listen for commands from the Linux side.

  • Open the Arduino IDEon your PC. - Select the Arduino UNO Q (STM32 side) as your board and select the correct COM port.
  • Upload the following sketch. This code listens to the internal serial port for specific characters (1 to turn on the hardware, 0 to turn it off) and prints a heartbeat message back to the Linux side so you know it's alive.

Now we move to the Qualcomm MPU side. We will create a simple Python web server using the Flask library.

  • SSH into your Arduino UNO Q's Linux environment.
  • Install Flaskand PySerial by running: pip3 install flask pyserial - Create a new Python file named dashboard.py and paste the code provided below. This script creates a mobile-friendly web page with "ON" and "OFF" buttons.
- Run the script:
[python3](https://www.python.org/downloads/release/python-380/)dashboard.py

This is the best part—no apps to install, no cables needed!

  • Make sure your smartphone is connected to the same Wi-Fi network as the Arduino UNO Q.
  • Open Chrome or Safari on your phone.
  • Navigate to http://192.168.1.45:5000(replace with your board's actual IP address). - You will see a clean, mobile-friendly dashboard.
  • Tap the buttons! You will instantly see the STM32 respond and the onboard hardware toggle.

Pro-Tips for Deployment

Static IP: To avoid typing a new IP address every time, assign a static IP to your UNO Q in your router's DHCP settings.Expand It: You can easily expand this dashboard to read temperature sensors connected via the Qwiic connector, or even trigger the AI vision models pre-loaded in the Arduino App Lab!Auto-start: To make the Python dashboard run every time the UNO Q boots, add the python3 /path/to/dashboard.py command to your Linux cron table or systemd services.

[Read more](javascript:void(0))

── more in #developer-tools 4 stories · sorted by recency
── more on @arduino 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/control-arduino-uno-…] indexed:0 read:3min 2026-06-25 ·