UNO Q: LED_BUILTIN/LED3_R does not blink under IDE 2.3.7

The following sketch blinks LED_BUILTIN led of UNO Q under App Lab (0.7.0); unfortunately, the sketch does not blink the led under IDE 2.3.7. Am I doing a silly mistake? Would appreciate to receive help.

void setup() 
{
   pinMode(LED_BUILTIN, OUTPUT);  //numerical value of LED3_R is not known to me
}

void loop() 
{
  digitalWrite(LED_BUILTIN, LOW);      // turn on led; in UNO Q the logic is active low
  delay(1000);                               // wait for a second
  digitalWrite(LED_BUILTIN, HIGH);   // turn led off by making the logic HIGH
  delay(1000);                             // wait for a second
}

This is the ouput message after compilation and uploading:

Sketch uses 1036 bytes (0%) of program storage space. Maximum is 1966080 bytes.
Global variables use 0 bytes (0%) of dynamic memory, leaving 523624 bytes for local variables. Maximum is 523624 bytes.
Open On-Chip Debugger 0.12.0+dev-ge6a2c12f4 (2025-05-22-15:51)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
clock_config
/tmp/remoteocd/sketch.elf-zsk.bin
Info : Linux GPIOD JTAG/SWD bitbang driver (libgpiod v2)
Info : Note: The adapter "linuxgpiod" doesn't support configurable speed
Info : SWD DPIDR 0x0be12477
Info : [stm32u5.ap0] Examination succeed
Info : [stm32u5.cpu] Cortex-M33 r0p4 processor detected
Info : [stm32u5.cpu] target has 8 breakpoints, 4 watchpoints
Info : [stm32u5.cpu] Examination succeed
Info : [stm32u5.ap0] gdb port disabled
Info : [stm32u5.cpu] starting gdb server on 3333
Info : Listening on port 3333 for gdb connections
CPU in Non-Secure state
[stm32u5.cpu] halted due to debug-request, current mode: Thread 
xPSR: 0x41000000 pc: 0x08016f24 psp: 0x20022918
Info : device idcode = 0x30076482 (STM32U57/U58xx - Rev U : 0x3007)
Info : TZEN = 0 : TrustZone disabled by option bytes
Info : RDP level 0 (0xAA)
Info : flash size = 2048 KiB
Info : flash mode : dual-bank
Info : Padding image section 0 at 0x080f1274 with 12 bytes (bank write end alignment)
Warn : Adding extra erase range, 0x080f1280 .. 0x080f1fff
shutdown command invoked

Hi @GolamMostafa. I am able to reproduce the behavior you describe. I found that if I select Tools > Startup mode > Immediate from the Arduino IDE menus and then upload the sketch to the board again, the LED blinks as expected.

A new "Wait for Linux" option was added to the Tools > Startup mode custom board options menu in the 0.55.0 release of the "Arduino UNO Q Board" platform, which was released a couple days ago:

That "Wait for Linux" option is now the default selection in the Tools > Startup mode menu.

I have uploaded with option: Wait for Linux; LED3_R does not blink.
I have uploaded with option: Immediate; LED3_R does not blink

Interestingly, the IDE2.3.7 does not even blink an external LED connected at DPin-7; but, it is blinked well by App Lab.

@ptillisch
Can you please confirm me that the following sketch also does not work for you to blink an external LED conected at DPin-7.

void setup() 
{
   pinMode(7, OUTPUT);  // = LED3_R 
}

void loop() 
{
  digitalWrite(7, LOW);      // turn on led; in UNO Q the logic is active low
  delay(1000);                               // wait for a second
  digitalWrite(7, HIGH);   // turn led off by making the logic HIGH
  delay(1000);                             // wait for a second
}

Can I conclude that Arduino has decided not to operate the UNO Q using IDE any more?

@GolamMostafa

I have experienced something similar. A sketch works fine in the App Lab (just upgraded to 0.7.0 with full ?? update to the Q) - prints text using Monitor and Serial (except Serial does not print) and blinking of the builtin LED.

Very same sketch does nothing (no output to the monitor or blinking the LED) when compiled and uploaded from the IDE - with updated Zephyr Core 0.55.0.

Checking the "App Launch" tab I get the following (Sorry for the picture - why can I not copy text from this tab???)

The compile still uses the previous version 0.54.1. I do not know what the other versions should be. This looks wrong to me. I checked the folder on the Q and it is still 0.54.1.

I then downgraded the Zephyr core on the IDE to 0.54.1, compiled and uploaded the exact same sketch and everything works except Serial does not print to the serial monitor - only Monitor.

It appears the Q was not updated to the new core version 0.55.0 (also maybe the RouterBridge etc.).

Any idea how to fix this to 0.55 on UNO Q.

My UNO Q platform is updated with:
Zephyr Ver 0.55.0
cli Ver 0.9.0
App Lab Ver 0.7.0
Router Ver 0.8.1
IDE Ver 2.3.8

IDE shows a false upload in flash. You try to upload in RAM, it gives error. Your all message that appears on Serial Monitor of App Lab also apears on the OutputBox of Serial Moniotor of IDEx.x.x.

Thanks. OK, so my UNO Q did not upgrade the files as required.

I used:

How do I fix this?

I do not really want to flash the Q - it takes forever and resets everything. Should the update not update these files as well?

Just tell me -- can to blink LED_R from your IDE? Can you show Hello message on the OutputBox of the Serial Monitor of your IDE? Please, upload the following sketch using IDE and let me know the result so that I can stop the experiment. Connect an external LED with DPin-7 with a 2.2k series resistor.

#include<Arduino_RouterBridge.h>

void setup() 
{
   Bridge.begin();
   Monitor.begin();
   delay(5000);
   pinMode(7, OUTPUT);  // = LED3_R 
}

void loop() 
{
  Monitor.println(analogRead(A0));
  digitalWrite(7, LOW);      // turn on led; in UNO Q the logic is active low
  delay(1000);                               // wait for a second
  digitalWrite(7, HIGH);   // turn led off by making the logic HIGH
  delay(1000);                             // wait for a second
}

Sketch compiled and uploaded from the IDE 2.3.9 (Core 0.54.1):

#include <Arduino_RouterBridge.h>

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Monitor.begin();

  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN,HIGH);

  k_sleep(K_SECONDS(5));    // Also K_USEC(us), K_MSEC(ms) or K_MINUTES(m) ect.
}

void loop() {
  // put your main code here, to run repeatedly:
  static uint16_t count = 0;
  
  Serial.begin(115200);
  Monitor.begin();

  Serial.print("Serial - Current count = ");
  Serial.println(count);

  Monitor.print("Monitor - Current count = ");
  Monitor.println(count);

  digitalWrite(LED_BUILTIN, digitalRead(LED_BUILTIN) ? LOW : HIGH);

  count++;
  k_msleep(1000);
}

IDE Serial Monitor display:

Monitor - Current count = 145
Monitor - Current count = 146
Monitor - Current count = 147
Monitor - Current count = 148
Monitor - Current count = 149
Monitor - Current count = 150
Monitor - Current count = 151
Monitor - Current count = 152
Monitor - Current count = 153
Monitor - Current count = 154
Monitor - Current count = 155

LED blinks red as expected.

I do not have a LED on pin seven so I changed your sketch to "LED_BUILTIN" and yes, it prints "104/106/107/104..." to the IDE Serial Monitor and blinks the LED once a second.

Connecting 3.3V to pin A0 it now shows a steady 1023".

Your sketch is uploaded (IDE 2.3.8, zephyr 0.52.0) but no printing and no blinking.

So, somthing is wrong with my board which I have received just today (12 hrs ago) after the premature failure of my previous board. This is very unfortunate that I cannot operae the board using IDE.

Do you know if the app is uploaded via WiFi when using App Lab?

Strange. My sketch works fine uploaded from either IDE or App Lab.

NB. I use the ZIP IDE versions hence the 2.3.9 version.

Does your board work OK using App Lab?

Yes!

I have it connected with a USB cable so I assume it is uploaded with that.

Maybe you should update your IDE to also use Zephyr 0.55.0 and try again. It certainly does not work for me with the IDE plus 0.55.0 and the Q with 0.54.1.

How can I be sure that my board is not being driven WiFi network?

How can I be sure that my board is not being driven WiFi network?

I honestly do not know how to check other than turning the WiFi off, then other things might stop working.

I added a LED to pin 7 and that blinks just fine as well.

I will do the same thing tomorrow morning. Now, it is 2:37 am local time. Good night.

While compiling/uploading from IDE, i get the following wanring message:

In file included from c:\Users\GolamMostafa\Documents\Arduino\libraries\DebugLog/DebugLogRestoreState.h:4,
                 from c:\Users\GolamMostafa\Documents\Arduino\libraries\DebugLog/DebugLog.h:54,
                 from c:\Users\GolamMostafa\Documents\Arduino\libraries\MsgPack/MsgPack.h:5,
                 from C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RPClite\src/error.h:17,
                 from C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RPClite\src/client.h:14,
                 from C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RPClite\src/Arduino_RPClite.h:22,
                 from C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/bridge.h:27,
                 from C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/Arduino_RouterBridge.h:16,
                 from E:\ArduinoUNOQ\BlinkLED3R\BlinkLED3R.ino:1:
c:\Users\GolamMostafa\Documents\Arduino\libraries\DebugLog/DebugLogEnable.h:50:4: warning: #warning "Defaulting to a log level of: DEBUGLOG_DEFAULT_LOG_LEVEL_TRACE" [-Wcpp]
   50 |   #warning "Defaulting to a log level of: DEBUGLOG_DEFAULT_LOG_LEVEL_TRACE"
      |    ^~~~~~~
In file included from c:\Users\GolamMostafa\Documents\Arduino\libraries\DebugLog/DebugLogRestoreState.h:4,
                 from c:\Users\GolamMostafa\Documents\Arduino\libraries\MsgPack/MsgPack.h:19:
c:\Users\GolamMostafa\Documents\Arduino\libraries\DebugLog/DebugLogEnable.h:50:4: warning: #warning "Defaulting to a log level of: DEBUGLOG_DEFAULT_LOG_LEVEL_TRACE" [-Wcpp]
   50 |   #warning "Defaulting to a log level of: DEBUGLOG_DEFAULT_LOG_LEVEL_TRACE"
      |    ^~~~~~~
In file included from C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/Arduino_RouterBridge.h:17:
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h: In instantiation of 'bool BridgeMonitor<BufferSize>::begin(long unsigned int, uint16_t) [with unsigned int BufferSize = 512; uint16_t = short unsigned int]':
E:\ArduinoUNOQ\BlinkLED3R\BlinkLED3R.ino:6:17:   required from here
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h:40:30: warning: unused parameter '_legacy_baud' [-Wunused-parameter]
   40 |     bool begin(unsigned long _legacy_baud=0, uint16_t _legacy_config=0) {
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h:40:55: warning: unused parameter '_legacy_config' [-Wunused-parameter]
   40 |     bool begin(unsigned long _legacy_baud=0, uint16_t _legacy_config=0) {
      |                                              ~~~~~~~~~^~~~~~~~~~~~~~~~
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h: In instantiation of 'int BridgeMonitor<BufferSize>::read(uint8_t*, size_t) [with unsigned int BufferSize = 512; uint8_t = unsigned char; size_t = unsigned int]':
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h:56:13:   required from 'int BridgeMonitor<BufferSize>::read() [with unsigned int BufferSize = 512]'
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h:54:9:   required from here
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h:63:45: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   63 |         while (temp_buffer.available() && i < size) {
      |                                           ~~^~~~~~
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h: In member function 'int BridgeMonitor<BufferSize>::read() [with unsigned int BufferSize = 512]':
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h:57:16: warning: 'c' may be used uninitialized [-Wmaybe-uninitialized]
   57 |         return c;
      |                ^
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RouterBridge\src/monitor.h:55:17: note: 'c' was declared here
   55 |         uint8_t c;
      |                 ^
In file included from C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RPClite\src/decoder_manager.h:19,
                 from C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RPClite\src/client.h:15:
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RPClite\src/decoder.h: In member function 'void RpcDecoder<BufferSize>::parse_packet() [with unsigned int BufferSize = 1024]':
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RPClite\src/decoder.h:205:58: warning: 'type' may be used uninitialized [-Wmaybe-uninitialized]
  205 |                 if (type != CALL_MSG && type != RESP_MSG && type != NOTIFY_MSG) {
C:\Users\GolamMostafa\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.52.0\libraries\Arduino_RPClite\src/decoder.h:195:13: note: 'type' was declared here
  195 |         int type;
      |             ^~~~
Sketch uses 18576 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.
Open On-Chip Debugger 0.12.0+dev-ge6a2c12f4 (2025-05-22-15:51)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
clock_config
/tmp/remoteocd/sketch.elf-zsk.bin
Info : Linux GPIOD JTAG/SWD bitbang driver (libgpiod v2)
Info : Note: The adapter "linuxgpiod" doesn't support configurable speed
Info : SWD DPIDR 0x0be12477
Info : [stm32u5.ap0] Examination succeed
Info : [stm32u5.cpu] Cortex-M33 r0p4 processor detected
Info : [stm32u5.cpu] target has 8 breakpoints, 4 watchpoints
Info : [stm32u5.cpu] Examination succeed
Info : [stm32u5.ap0] gdb port disabled
Info : [stm32u5.cpu] starting gdb server on 3333
Info : Listening on port 3333 for gdb connections
CPU in Non-Secure state
[stm32u5.cpu] halted due to debug-request, current mode: Thread 
xPSR: 0x41000000 pc: 0x08016f24 psp: 0x20022918
Info : device idcode = 0x30076482 (STM32U57/U58xx - Rev U : 0x3007)
Info : TZEN = 0 : TrustZone disabled by option bytes
Info : RDP level 0 (0xAA)
Info : flash size = 2048 KiB
Info : flash mode : dual-bank
Info : Padding image section 0 at 0x080fc3c8 with 8 bytes (bank write end alignment)
Warn : Adding extra erase range, 0x080fc3d0 .. 0x080fdfff
shutdown command invoked