Continuing the discussion from How to share a zephyr build for the Q from one Q to another?:
Everything is going over the head. I don't know what will I be learning using my UNO Q? For what kind of professionals is the UNO Q designed?
Continuing the discussion from How to share a zephyr build for the Q from one Q to another?:
Everything is going over the head. I don't know what will I be learning using my UNO Q? For what kind of professionals is the UNO Q designed?
Thank you, @pert, for opening a thread on my behalf. You always do so whenever you find it appropriate, and I truly appreciate your support.
... deleted
I obtained an UNO Q with the expectation that veteran forum members would participate with the same enthusiasm as they did for the UNO R3, so that even the simplest questions could be addressed.
Unfortunately, only one or two members from Arduino seem to be overseeing the overall forum activities, and they may not have sufficient time to focus specifically on the UNO Q.
In the meantime, a veteran forum member has commented that the UNO Q might potentially be phased out within the next 2โ3 years.
There were two contributors who were posting excellent tutorial-style repositories, but they are currently on holiday. While there are readers following those posts, they are not actively participating in discussions or asking questions.
Recently, a well-known member remarked that the forum is currently populated mainly by helpers. This raises a question: does this mean that there are fewer members asking questions, particularly regarding the context of the UNO Q?
As a result, meaningful engagement on the basics of UNO Q is lacking, and the study of the UNO Q is not gaining the momentum it needs.
Hi @GolamMostafa.
I think the UNO Q could be used to learn about most any subject related to embedded systems, Linux, and programming.
The thing that is fairly unique to UNO Q as a dev board is the specific Qualcomm Dragonwing QRB2210 MPU, the WCBN3536A radio module, and additionally the Analogix ANX7625 bridge. The UNO Q will serve as an ideal platform for anyone who wants to learn about working with this specific hardware.
Something fairly distinctive about the UNO Q is the "hybrid" design, where the board provides a high performance STMicroelectronics STM32U585 microcontroller in addition to the MPU, with tight integration between the two. It is true that you could achieve the same by connecting a microcontroller dev board (or "hat") to a conventional single board computer. However, it is convenient to have everything on one board, and the UNO Q also offers this combination at a quite competitive price.
The UNO Q serves as a standalone Linux PC, so can be used to learn anything you would on a consumer Linux PC. It is true that the limited computing resources of the hardware will result in performance less than what you would expect from a consumer PC, and this could slow the rate of learning. However, many of us did a lot of learning with PCs that had far inferior performance to the UNO Q, so it is certainly possible to use for this application. Furthermore, the need to operate with limited resources could result in learning valuable lessons in efficiency, which is sorely lacking in modern software development.
For the average UNO Q user, I think the primary learning of general computing subjects will be incidental. I think that many UNO Q users have ended up learning valuable things about important subjects like Linux, Docker, the terminal, SSH, without even setting out to do so. The "incidental" description sounds deprecating, but I think this is actually an important path to learning. E.g., "I set out to make a robot, and ended up discovering Linux!"
Something that can be gained by working with a single board computer, which is not possible when using a consumer PC, is working with low level interfaces of the MPU. The UNO Q makes all these interfaces available to the user. It is true that some of them are not as accessible as we might like at this time. However, there is work in progress to improve on that situation in order to support the UNO Media Carrier. Of course this learning of low level interfaces of an MPU is something that can be gained with any SBC, rather than being specific to the UNO Q.
And of course we shouldn't neglect the microcontroller on the board. It is true that Arduino community members will end up learning about microcontrollers with any Arduino board, but the UNO Q is also expanding our community to people who come to it with a primary interest in SBCs. This group often tries to make a MPU serve for applications that might be more effectively accomplished using a microcontroller. When the microcontroller is already on your SBC, you will naturally utilize it for the applications where it is best suited. So the UNO Q may well serve as a "gateway" to introduce people to the wonderful world of using microcontrollers in embedded systems.
I believe this is the comment you are referring to:
This is pure speculation from someone with absolutely no special insight into the subject. In fact, you are far more qualified to judge this, as unlike @b707, you actually have experience with the UNO Q. Anyone can post a prediction on the forum, but you shouldn't treat them as fact unless there is some compelling evidence or logic behind it.
I would dispute the "isn't much discussed" statement. Just take a browse of the relevant forum categories:
Do a search of recent videos on YouTube for the "UNO Q" search query.
Do a search on Google for "UNO Q".
I think you will see there is a tremendous amount of discussion. My impression, as someone who closely monitors the forum as a whole on a daily basis, is that there has been an incredible amount of interest from the community in the UNO Q. The UNO Q is something fairly distinctive in the Arduino ecosystem. If you decide it is not for you, then that is perfectly fine and understandable. However, I do believe that a significant number of community members are finding this board to add something of value to the ecosystem.
Thank you very much for taking the time to provide such an elaborate learning path that I can follow to enhance my understanding of the UNO Q as a whole.
I would like to try it, but being short on the youthful enthusiasm side, I wonder if it would be too much to learn or start out from scratch.
Is there a Q example that makes use of the full potential but is a starter like Blink?
I've got some limited Linux skills but mainly for running Chrome and some Libre Office.
Would it run the IDE for example?
@ptillisch
You're a real advertising wizard, you even managed to present the low performance of the board as an advantage for learning :)
Don't be mad at me. I honestly don't understand why @GolamMostafa was so impressed by my post. My comment is nothing more than an outside observer's judgment. It's based solely on my observations of the Aruduino world's development over the past decade. Despite the abundance of new boards, I believe the classic Nano, Uno, and Mega remain the undisputed hits. Of the boards that appeared later, I'd highlight the third-party ESP32 and RP2040.
@ptillisch again thanks for all you do up here!
@GolamMostafa - To me it really depends on what you want to learn. For me as a retired Systems Software Developer type, I am doing a lot of this to keep may brain active and hopefully give back.
I don't know all of your experience with the different Arduino and Linux boards. But as you mentioned Arduino Uno R3 which is an AVR based board, if that was the most advanced type board you have worked with, I would possibly suggest taking this in steps.
For example: if you have not used any of the Arduino boards based on an STM32 Arm processor, I would probably start off there. For example either the Giga or the Portenta H7 (with some breakout board(s)).
With these you could learn a lot about the different small OS's. For example experiment with the released board versions based on MBED, as well as then try the Beta versions of the Zephyr setups.
A good percentage of the stuff you learn on those boards will apply as well to the Q. There are some major differences, like the Q and H7 have two cores (M7 and M4) where as the Q just has one...
You of course can do just the STM32 stuff as well on the Q, with just using the IDE or using APP lab with simple Arduino only sketches.
OR, you could start off just looking at the Python side...
Are there other interesting boards, sure there are. Earlier when I was doing some Robotics stuff, like using a earlier Hexapod by Trossen Robotics, I had setups at the time with an RPI4 with a Shield like board that plugged into the RPI connectors which had a Teensy 4 or 4.1 processor running at 600mhz, which communicated with the RPI with either Serial from the connectors or through USB... But with a setup such as this, you always run into the question where to start...
It is a very complex board. Arduino has made a lot of effort to ease the learning curve, and continues to work to improve this area. However, there is inherent complexity to hardware that has two separate processors. Each processor uses an operating system. In general an operating system makes it easier to accomplish complex tasks, and is nearly essential when it comes to a microprocessor. However, the Zephyr OS running on the microcontroller does definitely introduce some different considerations when compared to a more "bare metal" approach with a more simple microcontroller (e.g., how we use the beloved AVR boards).
The UNO Q has such a vast array of capabilities that it would be challenging to ever create a single project that uses every one of them. If you want a simple example of using both the microcontroller via an Arduino sketch, and the microprocessor via a Python script, there is the "Blink LED" example App:
This example is preinstalled in Arduino App Lab.
Obviously this example uses only the most tiny fraction of the capabilities of the board.
We don't produce official builds of Arduino IDE 2.x for the Linux ARM architecture of the UNO Q. It is possible to produce such builds, and some community members have distributed them in the past. I believe these will work on the UNO Q. Due to the modern features, Arduino IDE 2.x is fairly demanding of computing resources. So I think you would find that the user experience is not as good as you might hope, especially on the 2 GB RAM model of the UNO Q.
We do provide official Linux ARM builds of Arduino IDE 1.x. The relatively simple Arduino IDE 1.x application is less demanding of computing resources, so the user experience should be better.
The official Arduino CLI tool is preinstalled on the UNO Q. As a lightweight command line tool, this will provide excellent performance for working with Arduino sketch projects in the resource limited environment of the UNO Q's Linux machine. You can pair it with a lightweight text editor (several of which are preinstalled).
Something to note is that you can target the UNO Q board from Arduino IDE running on your standard PC, just like you would with any other Arduino board.
As I said in my previous reply, although you can indeed use the UNO Q as a standard Linux desktop computer, I don't think this is the ideal use case for the board. This board is targeted to embedded applications. The resource demand of an embedded application is typically far less than that of general desktop usage, so you will likely find that the resources of the UNO Q are plenty sufficient for use in even quite demanding embedded projects.
That said, any computer is better than no computer, so if the UNO Q is what someone has access to as a desktop computer, then I would never discourage them from utilizing it as such. The performance of the UNO Q is lightyears ahead of what I had access to when I started using computers 30 years ago. I know that this doesn't apply to you, but unfortunately we actually see a decrease in access to PCs in this era of ubiquitous ownership of mobile devices that are sufficient for basic tasks but not at all so for the endeavors we celebrate here.
But to be serious, as I made more clear in my previous reply, I actually don't recommend using this board as a standard PC, unless someone doesn't have access to a consumer PC. My statement was intended more as "well, if you do end up using this thing in that way, there is maybe a bright side"; not as advocating for using the board in this way as a lesson in efficiency.
We often have no choice but to pay attention to efficiency when working with microcontrollers (especially the beloved AVRs), so hopefully some of that ends up resulting in Arduino community members also caring about efficiency even when developing software for platforms that are relatively rich in resources.
I'm definitely not mad. I very much welcome everyone to express their opinions and predictions here.
I fully accept that the UNO Q is not going to be for everyone. There is a lot to be said for finding what you can do within the restrictions of a microcontroller alone, and also the fact that we have a much better chance of really understanding that system down to a low level. The community has proven over and over again that incredible things can be created with even the most limiting of hardware. However, I also think it is great for the community to have access to hardware that is capable of highly demanding tasks when that is required by the project at hand.
Just as everyone else here, I do have the right to express my own opinion, so I will push back in cases where I happen to disagree. However, I hope that this will not be interpreted as being done in anger.
![]()
Although for me it is more like 50 years... I did my Masters in CS project using a Franklin Ace (Apple 2 clone)
EDIT: First computer I programmed was an IBM 1620 with Fortran 2 using punched cards.
At this point, I can roughly estimate how many members of the forum own an UNO Q. If they actively participate in studying and practicing applications -- both Python scripts and Arduino sketches -- I hope to gather a substantial amount of experience.
You have shared three related points:
1. You mentioned that have not obtained an UNO Q.
2. You anticipated that the UNO Q would be phased out within 2โ3 years.
3. You mentioned that you visit the forum mainly to pass some time.
I am trying to understand how these perspectives relate to each other in the context of the UNO Q.
Now that brings back memories.
That's the one we had to ourselves in grad school. It was practically a PC since it fit in a pretty small room. You had to be careful and check if anyone had left a custom programing matrix in the reader/punch before you punched your deck.
Me too.
It took months starting from zero knowledge to produce a 400 pack of cards that fitted a line through data points so that I could extrapolate it.
I could have used one of those flexible plastic curved things and graph paper, but that was too easy.
From punch desk to reams of tractor output was 24 hours.
Result failed. Full stop in the wrong place.
Now, 5 minutes in Excel.
Managed to complete the job before some fool dropped the whole pack.
Not best pleased.
How things have moved on.
I believe the UNO Q is well suited for my needs, as it offers almost everything on a single platform. I have ordered a new UNO Q after my previous one became non-functional within two months, primarily due to my own negligence in handling the board safely.
@ptillisch
Thanks for the useful information
@GolamMostafa
Thanks for raising the topic
Let us start learning the UNO Q through practicing and posting our results/findings here.