Why red text in the output if there is no error?

I was confused because after uploading to the Arduino, there is a lot of red text in the output.
It looks like errors because of the color red, but it isn't. How can I get rid of it?

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
Device code: 0x44

this was made with the blink example.

Are you saying you are loading the Blink example into an UNO? I never saw those messages , it looks like maybe you have messed up and are writing to some random location.

To my knowledge you can't. It's said that it's due to avrdude routing all output to stderr; I have a little doubt because it does not happen on my system with IDE 1.8.19.

No. the output is for boards with a 32U4 processor like Leonardo, Micro and Pro Micro.

Hi @sonofcy.

Arduino IDE uses a tool named AVRDUDE to upload sketches to your Arduino board.

The AVRDUDE developers made the decision to print even output that is not related to an error condition to the "standard error" (AKA "stderr") stream instead of the more common practice of printing it on the "standard output" (AKA "stdout") stream.

Each boards platform may use any arbitrary external tool to perform an upload, so Arduino IDE doesn't have any understanding of the contents of the output from the upload tool. The IDE only knows which of the streams the upload tool printed the output to. Because the stderr stream is usually used for errors or warnings, Arduino IDE colors all output received on that stream red. Likewise, the output received on the stdout stream is colored white since that stream is usually used for purely informational output.

Arduino IDE 1.x completely suppresses all output from the upload tool when verbose upload output is disabled.

Arduino IDE 2.x only suppresses the output from the upload tool's stdout stream when verbose upload output is disabled.

Maybe so, but no matter the colour, his messages are not something I have seen before. My hunch is he is writing into a random memory location or is wired wrong.

So you don't use 32U4 based boards or you don't use IDE 2.x.

I do use IDE 2.x, but do not know what a 32U4 board is. I do have at least one 32U4 board, I uploaded the Blink sketch and this is what I see in RED in the output. A small part of my output does look like yours, so the board might be working. Since you didn't provide ALL the output of the upload it is hard to know.

avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

     System wide configuration file is "/Users/ronalexander/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
     User configuration file is "/Users/ronalexander/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/cu.usbmodem101
     Using Programmer              : avr109
     Overriding Baud Rate          : 57600
     AVR Part                      : ATmega32U4
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PA0
     RESET disposition             : dedicated
     RETRY pulse                   : SCK
     serial program mode           : yes
     parallel program mode         : yes
     Timeout                       : 200
     StabDelay                     : 100
     CmdexeDelay                   : 25
     SyncLoops                     : 32
     ByteDelay                     : 0
     PollIndex                     : 3
     PollValue                     : 0x53
     Memory Detail                 :

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
       lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : butterfly
     Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
Device code: 0x44

avrdude: devcode selected: 0x44
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: reading input file "/private/var/folders/r5/fjhtttf952x9mvr0j_pdkt9h0000gn/T/arduino/sketches/027F6954918C77410A2231AD2D6E7690/Blink.ino.hex"
avrdude: writing flash (3958 bytes):

Writing | ################################################## | 100% 0.29s

avrdude: 3958 bytes of flash written
avrdude: verifying flash memory against /private/var/folders/r5/fjhtttf952x9mvr0j_pdkt9h0000gn/T/arduino/sketches/027F6954918C77410A2231AD2D6E7690/Blink.ino.hex:
avrdude: load data flash data from input file /private/var/folders/r5/fjhtttf952x9mvr0j_pdkt9h0000gn/T/arduino/sketches/027F6954918C77410A2231AD2D6E7690/Blink.ino.hex:
avrdude: input file /private/var/folders/r5/fjhtttf952x9mvr0j_pdkt9h0000gn/T/arduino/sketches/027F6954918C77410A2231AD2D6E7690/Blink.ino.hex contains 3958 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.03s

avrdude: verifying ...
avrdude: 3958 bytes of flash verified

avrdude done. Thank you.

Hi @sonofcy.

"32U4" is a slang term sometimes used here on the forum instead of the full model name ATmega32U4. So a "32U4 board" is any board based on the ATmega32U4 microcontroller, most commonly:

You got it. The reason you see more output is because you have verbose upload output enabled in your Arduino IDE preferences.

Try this experiment:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Uncheck the box next to Show verbose output during: upload in the "Preferences" dialog.
  3. Click the "OK" button.
    The "Preferences" dialog will close.

Now upload to your ATmega32U4-based board again. This time you should see only the output shared by @arduinomarc:

The reason you see this output even when verbose output is disabled is because for some reason the developers of the AVRDUDE tool decided (or maybe it was a mistake as I see the latest versions of AVRDUDE no longer does this) that this specific part of the output should be printed even when the tool has not been configured for verbose output by the inclusion of the -v flag in the avrdude command.

After completing the experiment, I recommend enabling verbose upload output again, since I find it to be quite useful simply as a way to get some indication of the progress of the upload.

Learned something new today. Since I always use verbose, I have never seen the messages the OP ut up.
Thanks for all the new info.