What Works using just IDE 2 and the stm32?

Tried loading several sketches.

The matrix sketches seem to be working as well as the blink sketch.

When I try to run any sketches like the ASCII table or a simple helloworld printed to Serial it doesn’t seem to work, i.e., not seeing anything on the serial monitor.

PS just ordered a usb to ttl dongle (1.8v) just in case.

Hi @Merlin513. The Serial object is not for use in communicating via the USB CDC serial port of the UNO Q. It is instead used for communication via the UART:

https://docs.arduino.cc/tutorials/uno-q/user-manual/#uart

So you should see the expected results if you connect a USB to UART adapter module to pins 0 and 1 on the board, but you will not see it if you open the board's native serial port in Serial Monitor.

There is an alternative approach using the Monitor object instead of Serial, as documented here:

https://docs.arduino.cc/tutorials/uno-q/user-manual/#from-serial-to-monitor

Give that a try and then let us know if you still experience problems.

1 Like

Hi @ptillisch. Thanks for getting back to me so fast. Sorry for the late response but was off doing some other things.

Dont think I read that far - just assumed Serial would work since its been a very long time since I had to do that.

I did attach a FTDI to pins 0/1 and worked no issue. As I said just annoying to have to hang another piece of hardware off of the board.

As for using Monitor had to load the msgpack library and when I compiled I got the following error msg:

Sketch uses 17740 bytes (0%) of program storage space. Maximum is 1966080 bytes.
Global variables use 4680 bytes (0%) of dynamic memory, leaving 518944 bytes for local variables. Maximum is 523624 bytes.
Error: makedir error: exit status 1: adb.exe: device '{upload.port.properties.serialNumber}' not found

Failed uploading: uploading error: exit status 1


1 Like

Thanks @ptillisch,

Will play soon. Mine arrived at Post Office this afternoon (Fedex took a week), will
pick it up in the morning.

Personally I wish it would sort of have some naming compatibility with the logical
Serial objects, like Monitor-> Serial Serial->Serial1... but I know it is what it is.
But who knows maybe we will get lucking and find out it supports printf. (Sorry just dreaming :wink: )

Looks like there are two Serial objects defined in the overlay:
serials = <&usart1>, <&lpuart1>;

Not sure yet if others are defined but not in table yet: as looks like there are USART1-5 (maybe 6) depending on which chip... Probably need to go through and map all of
it out again.

1 Like

@ptillisch - @KurtE

Tried running the Monitor test sketch again this morning and this time in compiled and loaded. However with that said - still didn’t see anything on the serial monitor (arduino IDE).

Also as an experiment created an “app” within app lab with just the arduino sketch - again compiled and did run but did not see anything

Mike

EDIT: Did come across this Nothing in console when running "From Serial to Monitor" sketch - UNO Family / UNO Q - Arduino Forum tried it for the heck of it but no luck.

As a related question if I fix something for the Q in zephyr building and update the firmware directories how do I do the update from my local build.

Just by way of an update - reran in app lab and noticed that while nothing showed in the serial monitor did see this in the Python tab

Using CPython 3.13.9 interpreter at: /usr/local/bin/python
Creating virtual environment at: .cache/.venv
Activating python virtual environment
Hello World!
Activating python virtual environment
Hello World!
Activating python virtual environment
Hello World!
Activating python virtual environment
Hello World!
Activating python virtual environment
Hello World!
exited with code 0

Monitor is not working in the App Lab serial tab with 0.1.28 Windows version but is OK with Linux One.

1 Like

My Q arrived... Tried starting it up with the App lab, It checked for updates and failed.

used: arduino-flasher-cli flash latest

It took probably an hour to mostly download, and then ran out of disk space. :enraged_face:

I ran it from d: drive, but looks like it tried to save the file to c: drive. Guessing probably
to temp... I cleared out some space, changed environment variables to put
TEMP/TMP on d: drive. Rebooted.

now trying again. looks like it will probably take an hour again... hopefully it will unpack
and work this time.... Else may try again on Ubuntu machine or maybe :hammer:

Wishes:
a) If there is not enough disk space or even close, wish it would warn/error at the startup without downloading for a long period of time.

b) Allow me to specify where the downloaded files should reside.

c) If it is not successful fully downloading, maybe it should have checkpoints or the like
where it can simply go back to where it last was to continue the download. Maybe
it does, but did not feel like it was.

Keeping fingers crossed, now at 83%

EDIT: I think it downloaded, then failed...

ownloading Debian image version 20251006-395 100% |███████████████████████████████| (2.2/2.2 GB, 726 kB/s)
Download of Debian image completed
Unzipping Debian image
arduino-unoq-debian-image-20251006-395/
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.home
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.root
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.esp
arduino-unoq-debian-image-20251006-395/flash/
arduino-unoq-debian-image-20251006-395/flash/rpm.mbn
arduino-unoq-debian-image-20251006-395/flash/multi_image.mbn
arduino-unoq-debian-image-20251006-395/flash/devcfg.mbn
arduino-unoq-debian-image-20251006-395/flash/tz.mbn
arduino-unoq-debian-image-20251006-395/flash/qupv3fw.elf
arduino-unoq-debian-image-20251006-395/flash/xbl_feature_config.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_main1.bin
arduino-unoq-debian-image-20251006-395/flash/prog_firehose_ddr.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_backup1.bin
arduino-unoq-debian-image-20251006-395/flash/storsec.mbn
arduino-unoq-debian-image-20251006-395/flash/boot.img
arduino-unoq-debian-image-20251006-395/flash/imagefv.elf
arduino-unoq-debian-image-20251006-395/flash/zeros_1sector.bin
arduino-unoq-debian-image-20251006-395/flash/featenabler.mbn
arduino-unoq-debian-image-20251006-395/flash/hyp.mbn
arduino-unoq-debian-image-20251006-395/flash/gpt_both0.bin
arduino-unoq-debian-image-20251006-395/flash/gpt_empty0.bin
arduino-unoq-debian-image-20251006-395/flash/uefi_sec.mbn
arduino-unoq-debian-image-20251006-395/flash/gpt_main0.bin
arduino-unoq-debian-image-20251006-395/flash/patch0.xml
arduino-unoq-debian-image-20251006-395/flash/gpt_main2.bin
arduino-unoq-debian-image-20251006-395/flash/gpt_backup0.bin
arduino-unoq-debian-image-20251006-395/flash/km4.mbn
arduino-unoq-debian-image-20251006-395/flash/rawprogram0.xml
arduino-unoq-debian-image-20251006-395/flash/zeros_33sectors.bin
arduino-unoq-debian-image-20251006-395/flash/rawprogram0.nouser.xml
arduino-unoq-debian-image-20251006-395/flash/abl.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_backup2.bin
arduino-unoq-debian-image-20251006-395/flash/cdt.bin
arduino-unoq-debian-image-20251006-395/flash/xbl.elf

WARNING: flashing a new Linux image on the board will erase any existing data you have on it.
Do you want to proceed and flash 20251006-395(latest) on the board? (yes/no)
y
Flashing with qdl
error flashing the board: exit status 1

Note: Norton took it's time trying to decide if qdl was safe or not.

P.S. - I maybe should have created a new thread, but...

The image file is downloaded to, and extracted to a folder under the path specified by the Go function os.UserCacheDir:

On Windows, it returns %LocalAppData%.

So you can control the general location of the file storage by changing the value of the LocalAppData environment variable prior to running the command. If you are using the PowerShell terminal:

$Env:LocalAppData="<image folder parent>"

(replacing the <image folder parent> placeholder with the path under which you want the downloaded image to be stored and extracted)

Make sure to close the PowerShell terminal after you have completed the arduino-flasher-cli flash command rather than continuing to use it for other purposes. The reason this is important is because other operations may also use the LocalAppData environment variable, and for some of those it may be important that the variable has the value of the standard path as set by Windows.


The arduino-flasher-cli flash command accepts a path to an existing image:

$ arduino-flasher-cli flash --help
Flash a Debian image on the board.

WARNING: This operation will completely replace the current system on the board.
Make sure to backup any important data before proceeding.

This command accepts either:
  - A local file path to a compressed Debian image file (e.g., .tar.zst, .tar.xz) or a decompressed Debian image folder
  - A version tag to download from the remote repository

When providing a local file path:
  - The path can be relative or absolute
  - The file is extracted in a temp folder (if needed)
  - The image is flashed into the board

So an alternative would be to manually download the image, extract it, then pass the path of the extracted file as the argument to the command (instead of the latest version tag specified by the tutorial). The download URLs used by the tool are defined by this index file:

https://downloads.arduino.cc/debian-im/Stable/info.json

1 Like

Thanks,

That it still had an update file on my WIndows machine, so I tried and
copied it by USB thumb drive to my Ubuntu machine.

So I tried using the command to use the location of the file...

kurte@kurte-750-435st:~/Downloads/arduino-flasher-cli-v0.3.0-linux-amd64$ ./arduino-flasher-cli flash /media/kurte/C1ED-A61E/update.tar.zst 
Unzipping Debian image
arduino-unoq-debian-image-20251006-395/
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.home
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.root
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.esp
arduino-unoq-debian-image-20251006-395/flash/
arduino-unoq-debian-image-20251006-395/flash/rpm.mbn
arduino-unoq-debian-image-20251006-395/flash/multi_image.mbn
arduino-unoq-debian-image-20251006-395/flash/devcfg.mbn
arduino-unoq-debian-image-20251006-395/flash/tz.mbn
arduino-unoq-debian-image-20251006-395/flash/qupv3fw.elf
arduino-unoq-debian-image-20251006-395/flash/xbl_feature_config.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_main1.bin
arduino-unoq-debian-image-20251006-395/flash/prog_firehose_ddr.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_backup1.bin
arduino-unoq-debian-image-20251006-395/flash/storsec.mbn
arduino-unoq-debian-image-20251006-395/flash/boot.img
arduino-unoq-debian-image-20251006-395/flash/imagefv.elf
arduino-unoq-debian-image-20251006-395/flash/zeros_1sector.bin
arduino-unoq-debian-image-20251006-395/flash/featenabler.mbn
arduino-unoq-debian-image-20251006-395/flash/hyp.mbn
arduino-unoq-debian-image-20251006-395/flash/gpt_both0.bin
arduino-unoq-debian-image-20251006-395/flash/gpt_empty0.bin
arduino-unoq-debian-image-20251006-395/flash/uefi_sec.mbn
arduino-unoq-debian-image-20251006-395/flash/gpt_main0.bin
arduino-unoq-debian-image-20251006-395/flash/patch0.xml
arduino-unoq-debian-image-20251006-395/flash/gpt_main2.bin
arduino-unoq-debian-image-20251006-395/flash/gpt_backup0.bin
arduino-unoq-debian-image-20251006-395/flash/km4.mbn
arduino-unoq-debian-image-20251006-395/flash/rawprogram0.xml
arduino-unoq-debian-image-20251006-395/flash/zeros_33sectors.bin
arduino-unoq-debian-image-20251006-395/flash/rawprogram0.nouser.xml
arduino-unoq-debian-image-20251006-395/flash/abl.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_backup2.bin
arduino-unoq-debian-image-20251006-395/flash/cdt.bin
arduino-unoq-debian-image-20251006-395/flash/xbl.elf

WARNING: flashing a new Linux image on the board will erase any existing data you have on it.
Do you want to proceed and flash /media/kurte/C1ED-A61E/update.tar.zst on the board? (yes/no)
yes
Flashing with qdl
qdl: unable to open USB device
Waiting for EDL device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device
qdl: unable to open USB device

It continued for a long while with that error... So I killed it

kurte@kurte-750-435st:~/Downloads/arduino-flasher-cli-v0.3.0-linux-amd64$ dmesg | tail -20
[ 7125.410531] sd 8:0:0:0: [sde] 60125184 512-byte logical blocks: (30.8 GB/28.7 GiB)
[ 7125.411319] sd 8:0:0:0: [sde] Write Protect is off
[ 7125.411324] sd 8:0:0:0: [sde] Mode Sense: 43 00 00 00
[ 7125.411626] sd 8:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 7125.415024]  sde: sde1
[ 7125.415162] sd 8:0:0:0: [sde] Attached SCSI removable disk
[ 7250.501684] usb 2-5.1.1: USB disconnect, device number 5
[ 7256.548965] usb 2-5.1.1: new SuperSpeed USB device number 8 using xhci_hcd
[ 7256.564084] usb 2-5.1.1: New USB device found, idVendor=05c6, idProduct=9008, bcdDevice= 0.00
[ 7256.564103] usb 2-5.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7256.564105] usb 2-5.1.1: Product: QUSB_BULK_CID:0420_SN:05A7714C
[ 7256.564106] usb 2-5.1.1: Manufacturer: Qualcomm CDMA Technologies MSM
[ 7307.765834] usb 2-5.1.1: USB disconnect, device number 8
[ 7341.461611] usb 2-4: new SuperSpeed USB device number 9 using xhci_hcd
[ 7341.476782] usb 2-4: New USB device found, idVendor=05c6, idProduct=9008, bcdDevice= 0.00
[ 7341.476787] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7341.476789] usb 2-4: Product: QUSB_BULK_CID:0420_SN:05A7714C
[ 7341.476790] usb 2-4: Manufacturer: Qualcomm CDMA Technologies MSM
[ 7341.479141] usb 2-4: Enable of device-initiated U1 failed.
[ 7341.479338] usb 2-4: Enable of device-initiated U2 failed.
kurte@kurte-750-435st:~/Downloads/arduino-flasher-cli-v0.3.0-linux-amd64$ 

Still investigating

@ptillisch I also thought about trying my older MAC (Early 2013)
Running Catalina 10.15.7

The Arduino-flasher fails to run as looks like it was built for
MAC OS x 12.0...

Alls well that ends well...
Finally went back to windows, used the file that was already downloaded:

D:\Downloads\arduino-flasher-cli-v0.3.0-windows-amd64>arduino-flasher-cli.exe flash C:\Users\kurte\AppData\Local\arduino-flasher-cli\download-161795274\update.tar.zst
Unzipping Debian image
arduino-unoq-debian-image-20251006-395/
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.home
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.root
arduino-unoq-debian-image-20251006-395/disk-sdcard.img.esp
arduino-unoq-debian-image-20251006-395/flash/
arduino-unoq-debian-image-20251006-395/flash/rpm.mbn
arduino-unoq-debian-image-20251006-395/flash/multi_image.mbn
arduino-unoq-debian-image-20251006-395/flash/devcfg.mbn
arduino-unoq-debian-image-20251006-395/flash/tz.mbn
arduino-unoq-debian-image-20251006-395/flash/qupv3fw.elf
arduino-unoq-debian-image-20251006-395/flash/xbl_feature_config.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_main1.bin
arduino-unoq-debian-image-20251006-395/flash/prog_firehose_ddr.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_backup1.bin
arduino-unoq-debian-image-20251006-395/flash/storsec.mbn
arduino-unoq-debian-image-20251006-395/flash/boot.img
arduino-unoq-debian-image-20251006-395/flash/imagefv.elf
arduino-unoq-debian-image-20251006-395/flash/zeros_1sector.bin
arduino-unoq-debian-image-20251006-395/flash/featenabler.mbn
arduino-unoq-debian-image-20251006-395/flash/hyp.mbn
arduino-unoq-debian-image-20251006-395/flash/gpt_both0.bin
arduino-unoq-debian-image-20251006-395/flash/gpt_empty0.bin
arduino-unoq-debian-image-20251006-395/flash/uefi_sec.mbn
arduino-unoq-debian-image-20251006-395/flash/gpt_main0.bin
arduino-unoq-debian-image-20251006-395/flash/patch0.xml
arduino-unoq-debian-image-20251006-395/flash/gpt_main2.bin
arduino-unoq-debian-image-20251006-395/flash/gpt_backup0.bin
arduino-unoq-debian-image-20251006-395/flash/km4.mbn
arduino-unoq-debian-image-20251006-395/flash/rawprogram0.xml
arduino-unoq-debian-image-20251006-395/flash/zeros_33sectors.bin
arduino-unoq-debian-image-20251006-395/flash/rawprogram0.nouser.xml
arduino-unoq-debian-image-20251006-395/flash/abl.elf
arduino-unoq-debian-image-20251006-395/flash/gpt_backup2.bin
arduino-unoq-debian-image-20251006-395/flash/cdt.bin
arduino-unoq-debian-image-20251006-395/flash/xbl.elf

WARNING: flashing a new Linux image on the board will erase any existing data you have on it.
Do you want to proceed and flash C:\Users\kurte\AppData\Local\arduino-flasher-cli\download-161795274\update.tar.zst on the board? (yes/no)
y
Flashing with qdl
waiting for programmer...
flashed "xbl_a" successfully
flashed "xbl_b" successfully
flashed "xbl_config_a" successfully
flashed "xbl_config_b" successfully
flashed "tz_a" successfully
flashed "tz_b" successfully
flashed "rpm_a" successfully
flashed "rpm_b" successfully
flashed "hyp_a" successfully
flashed "hyp_b" successfully
flashed "boot_a" successfully
flashed "boot_b" successfully
flashed "keymaster_a" successfully
flashed "keymaster_b" successfully
flashed "abl_a" successfully
flashed "abl_b" successfully
flashed "imagefv_a" successfully
flashed "imagefv_b" successfully
flashed "uefisecapp_a" successfully
flashed "uefisecapp_b" successfully
flashed "misc_boot" successfully
flashed "devcfg_a" successfully
flashed "devcfg_b" successfully
flashed "featenabler_a" successfully
flashed "featenabler_b" successfully
flashed "qupfw_a" successfully
flashed "qupfw_b" successfully
flashed "apdp" successfully
flashed "storsec" successfully
flashed "multiimgoem_a" successfully
flashed "multiimgoem_b" successfully
flashed "efi" successfully at 100000kB/s
flashed "rootfs" successfully at 17705kB/s
flashed "userdata" successfully at 25678kB/s
flashed "PrimaryGPT" successfully
flashed "BackupGPT" successfully
13 patches applied
partition 0 is now bootable

The board has been successfully flashed. You can now power-cycle the board (unplug and re-plug). Remember to remove the jumper.

D:\Downloads\arduino-flasher-cli-v0.3.0-windows-amd64>

Tomorrow get to play with it.

1 Like

In order to make relevant information available to any who are interested in this subject, I'll share a link to the issue @KurtE submitted to the Arduino developers:

2 Likes

There is now a fix for a problem that caused the serial output from the USB interface of the UNO Q to not be received in the Arduino IDE Serial Monitor:

1 Like

Morning @ptillisch

Opened AppLab and it found the updates for CLI and router. Tried a simple ascii test sketch

#include <Arduino_RouterBridge.h>

void setup() {
//Initialize Monitor and wait for port to open:
Monitor.begin();
while (!Monitor) {
;  // wait for Monitor port to connect. Needed for native USB port only
}

// prints title with ending line break
Monitor.println("ASCII Table ~ Character Map");
}

// first visible ASCIIcharacter '!' is number 33:
int thisByte = 33;
// you can also write ASCII characters in single quotes.
// for example, '!' is the same as 33, so you could also use this:
// int thisByte = '!';

void loop() {
// prints value unaltered, i.e. the raw binary version of the byte.
// The Monitor Monitor interprets all bytes as ASCII, so 33, the first number,
// will show up as '!'
Monitor.write(thisByte);

Monitor.print(", dec: ");
// prints value as string as an ASCII-encoded decimal (base 10).
// Decimal is the default format for Monitor.print() and Monitor.println(),
// so no modifier is needed:
Monitor.print(thisByte);
// But you can declare the modifier for decimal if you want to.
// this also works if you uncomment it:

// Monitor.print(thisByte, DEC);

Monitor.print(", hex: ");
// prints value as string in hexadecimal (base 16):
Monitor.print(thisByte, HEX);

Monitor.print(", oct: ");
// prints value as string in octal (base 8);
Monitor.print(thisByte, OCT);

Monitor.print(", bin: ");
// prints value as string in binary (base 2) also prints ending line break:
Monitor.println(thisByte, BIN);

// if printed last visible character '~' or 126, stop:
if (thisByte == 126) {  // you could also use if (thisByte == '~') {
// This loop loops forever and does nothing
while (true) {
continue;
}
}
// go on to the next character
thisByte++;
}

But formatting to AppLab is a bit strange when it goes to Serial console. Possibly Monitor.prints adding a return at the end?

M
, dec:
77
, hex:
4D
, oct:
115
, bin:
1001101

N
, dec:
78
, hex:
4E
, oct:
116
, bin:
1001110

Tried the same sketch from IDE 2.x and it seems to work no issue
L, dec: 76, hex: 4C, oct: 114, bin: 1001100
M, dec: 77, hex: 4D, oct: 115, bin: 1001101
N, dec: 78, hex: 4E, oct: 116, bin: 1001110
O, dec: 79, hex: 4F, oct: 117, bin: 1001111
P, dec: 80, hex: 50, oct: 120, bin: 1010000

Tried a different sketch that just prints a string to the console and that seems to work

Thread 1 is accessing the shared resource
Thread 2 is accessing the shared resource
Thread 1 is accessing the shared resource
Thread 2 is accessing the shared resource
Thread 1 is accessing the shared resource
Thread 2 is accessing the shared resource