element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
On the Line
  • Challenges & Projects
  • Design Challenges
  • On the Line
  • More
  • Cancel
On the Line
Forum 2 Arduino UNO Q Processor experiments
  • News
  • Projects
  • Forum
  • DC
  • Leaderboard
  • Files
  • Members
  • More
  • Cancel
  • New
Join On the Line to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 0 replies
  • Subscribers 33 subscribers
  • Views 11 views
  • Users 0 members are here
  • embedded linux
  • pandoramc
  • On The Line
  • arduino uno q
  • challenge
Related

2 Arduino UNO Q Processor experiments

pandoramc
pandoramc 2 hours ago

Introduction

Let’s talk about the board Arduino UNO Q, the newest BOOM in the Single Board Computers (SBC). Despite the microprocessor and microcontroller are discrete elements in the board, it has a wide application field. The Qualcomm QRB2210 processor has a Quad-core ARM Cortex-A53 architecture with Linux integration by the implemented storage in the board. Some of the peripherals available consist of GPIOs, and serial communication. In addition to the processor, there are computer accelerators such as Adreno GPU and serial interfaces for cameras and display.

CPU Architecture

Figure 1. Processor architecture

On the other hand, the microcontroller platform consists of STM32U585 microcontroller. The microcontroller has an ARM Cortex-M33 with an ART accelerator. This platform is really interesting since it has ADCs up to 2.5 Msps with hardware over sampling and DACs with 12-bit resolutions. In addition to these elements, we are able to use integrated operational amplifiers with PGA.

Microcontroller Architecture

Figure 2. Microcontroller architecture

Methodology

Once the SBC is identified internally, one question raises up, how do the processors interact with external devices? Arduino provides documentation about which devices are connected in the processor, and which are connected to the microcontroller. According to the official documentation, all the legacy terminals have physical connection to the STM32U585 microcontroller

Arduino UNO Q pinout

Figure 3. Arduino UNO Q pinout

The pinout shows that there is an opamp available to use in the system. This time, the microcontroller provides a Flexible Data CAN peripheral, only a transceiver is required for bus connection. The DACs are connected physically to the A0 and A1 channels, and so on. But, what about processor connections? There are three connections for the processor, the debugging port and two led ports. Some of the LEDs are related to network status and error status, but there is a LED for the user tests, and here is out objective this time.

The blink example is usually used to test microcontroller operation, but this time we have an additional processing system, and it is required to observe if the operative system is able to modify status in the processor registers or interact with external interfaces. To do it I assembled a minimal system for usage with USB-C connection with a Hub or desktop terminal. A KKSB case is used to assembly part of the system and test if the default App has a correct operation. The first time you connect the system to the Hub you will see an Arduino logo animation followed by a heart logo animation if the Remote Procedure Call (RPC) layer has a valid connection between systems. Finally, at the end of the process I got the starter page to configure the SBC. You must consider a high precision power supply since the board could restart suddenly if the power supply does not meet the power features.

{gallery}Start

Arduino

Heart
Log In

Figure 4 (a,b,c). Arduino UNO function sequence

It is possible turn on and turn off the user LEDs writing the command below in the terminal, as the official documentation suggests.

echo 1    | tee /sys/class/leds/unoq\:user-blue1/brightness   # set HIGH/ON
echo 0    | tee /sys/class/leds/unoq\:user-blue1/brightness   # set LOW/OFF

The documentation shows an older version of the brightness writing and additional code using python. But you are a great specialist in C, consequently, you decide use files in C language to operate the states.

First, create your workspace

cd ~/Documents/
mkdir C
cd C
mkdir Demo
cd Demo
touch makefile
touch demo.c

Editing the makefile simplifies the rules for the compilation and cleaning of the project. Using wildcards it is possible to configure our small project.

$(APP): $(APP).c
        gcc $^ -o $@

clean:
        rm *.o $(APP)

Secondly, the code implemented must be comprehensive to understand the data accesss and which value must be written.

#include<stdio.h>
#include<stdlib.h>
char *LEDS[] = {"/sys/class/leds/unoq:user-blue1/brightness",
                "/sys/class/leds/unoq:user-green1/brightness",
                "/sys/class/leds/unoq:user-red1/brightness"};
int main(int argN, char *argV[]){
        if(argN < 3){
                printf("Not enough arguments\n");
                return 1;
        }
        FILE *f = NULL;
        printf("%s\n", argV[1]);
        f = fopen(LEDS[atoi(argV[1])], "w");
        if(f == NULL){
                printf("error while user access to LED\n");
                return 1;
        }
        fwrite(argV[2], sizeof(char), 1, f);
        fclose(f);
        printf("Command executed\n");
        return 0;
}

The compilation and execution of the App is really simple, only the command made in the terminal will decode the rules to compile and verify the project dependencies. The App only requires two arguments: value N to connotate the LED and a V value to denotate the HIGH or LOW state. Both parameters, N, and V are not restricted integers.

The results, for turn on the green LED it is required the command the execution of ./demo 1 1. Or the turn off of red LED is reached with ./demo 2 0

{gallery}LEDs
Green LED
Red LED
Blue LED

Figure 5 (a,b,c). Processor LED control test

The future

Let’s test the capabilities of the microcontroller, this is required since the data sharing and data interface is required by the processor, while the microcontroller acquires the signals and generates auxiliar signals for power electronics or other electromechanical conditioning. At this moment we have an Arduino UNO Q operative assembled on a KKSB case with the CAN board mounted and the LED access for future tests.

{gallery}Final assembly
Desktop
Assembly LED test

Figure 6 (a,b). Minimal assembly testing the LED brightness access

  • Sign in to reply
  • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube