{"slug": "control-arduino-uno-q-via-smartphone-web-dashboard", "title": "Control Arduino UNO Q via Smartphone Web Dashboard", "summary": "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.", "body_md": "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.\n\nBut 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.\n\nThis 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!\n\nDetailsTo make this work, the two processors need to talk to each other.\n\n- The Linux MPU runs a Python web server that serves a clean HTML dashboard to your smartphone over Wi-Fi.\n- When you tap a button on your phone, the Python script sends a serial command to the STM32 MCU.\n- 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).\n\nThis 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.\n\nStep 1 — Initial Setup and Wi-Fi ConnectionFirst, we need to get the UNO Q connected to your local network.\n\n- Connect the\n[Arduino UNO Q](https://robocraze.com/products/official-arduino-uno-q-sbc)to 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).\n- Access the Linux terminal via SSH or the serial console.\n- Connect to your Wi-Fi using the standard Debian network manager or the Arduino App Lab.\n- Once connected, type hostname -I in the terminal to find the board's IP address (e.g., 192.168.1.45). Note this down!\n\nNow we program the real-time MCU to listen for commands from the Linux side.\n\n- Open the\n[Arduino IDE](https://www.arduino.cc/en/software)on your PC. - Select the Arduino UNO Q (STM32 side) as your board and select the correct COM port.\n- 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.\n\nNow we move to the Qualcomm MPU side. We will create a simple Python web server using the Flask library.\n\n- SSH into your Arduino UNO Q's Linux environment.\n- Install\n[Flask](https://flask.palletsprojects.com/en/stable/)and 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.\n- Run the script:\n[python3](https://www.python.org/downloads/release/python-380/)dashboard.py\n\nThis is the best part—no apps to install, no cables needed!\n\n- Make sure your smartphone is connected to the same Wi-Fi network as the Arduino UNO Q.\n- Open Chrome or Safari on your phone.\n- Navigate to\n[http://192.168.1.45:5000](http://192.168.1.45:5000)(replace with your board's actual IP address). - You will see a clean, mobile-friendly dashboard.\n- Tap the buttons! You will instantly see the STM32 respond and the onboard hardware toggle.\n\n**Pro-Tips for Deployment**\n\n**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.\n\n[Read more](javascript:void(0))", "url": "https://wpnews.pro/news/control-arduino-uno-q-via-smartphone-web-dashboard", "canonical_source": "https://www.hackster.io/daniel-d-souza/control-arduino-uno-q-via-smartphone-web-dashboard-ceb1ba", "published_at": "2026-06-25 12:01:42+00:00", "updated_at": "2026-06-25 12:46:57.380209+00:00", "lang": "en", "topics": ["developer-tools", "ai-infrastructure"], "entities": ["Arduino", "Qualcomm", "STM32", "Flask", "Python", "Linux Debian", "Arduino UNO Q", "PySerial"], "alternates": {"html": "https://wpnews.pro/news/control-arduino-uno-q-via-smartphone-web-dashboard", "markdown": "https://wpnews.pro/news/control-arduino-uno-q-via-smartphone-web-dashboard.md", "text": "https://wpnews.pro/news/control-arduino-uno-q-via-smartphone-web-dashboard.txt", "jsonld": "https://wpnews.pro/news/control-arduino-uno-q-via-smartphone-web-dashboard.jsonld"}}