Bug: Arduino 2.0.0 Serial Monitor scrolling hides last line

When using Arduino 2.2.0 on MacOS (Monterey 12.5.1), as new lines are written to the Serial Monitor window, the auto-scrolling leaves the last line of text off the bottom of the screen. You have to manually scroll to see it.

This is a serious problem ... when debugging code, you think you're seeing the most-recent output but in fact you're seeing the one BEFORE that. So (for example), you press a button, it doesn't show, then you release the button and the Serial Monitor shows "Button pressed" because that was hidden when it happened, and only became visible when you released the button. Now you press it again and it shows, "Button released," and so on. It looks like your sketch is broken when in fact it's working just fine.

It's a known bug. I've read it was fixed it in a nightly release, but I never tried to verify that.
IMO, the developers made a mistake to leave such an obvious known problem (I reported this months ago) unrepaired before they made a "release". 2.0.0 appears to really be a final beta.
The bug is even worse if you are working with a program that prints character-by-character rather than whole lines (think slow communications rates, like decoding RTTY or CW transmissions). Then, if you manually scroll to see the bottom line, the next character printed unscrolls you to the half-hidden line position. Frustrating, to be polite.

  • Wes

I am running Version: 2.0.1-nightly-20221001 and do not experience that problem. The last line is always fully shown.

I do, however, not have lines long enough to enable the bottom scroll bar so cannot comment what happens in that situation.

As @weshowe explained, this bug has already been fixed:

The fix was made after the time of the 2.0.0 release, so it is available only when using the nightly build of the Arduino IDE. The download links for the nightly build are listed here:

https://www.arduino.cc/en/software#nightly-builds

Thanks everyone for the updates. Glad to know it will be fixed.

Is there any info on the next official release date?

You are welcome. I don't have any information about the schedule for the next release.

Well, I am running 2.0.3, 2-3 months after the previous post in this thread, and just wasted a frustrating half hour debugging a non-existent bug in my program due to this missing last line bug in the IDE.

Hi @DavidSG. There was a regression that caused the bug to come back. The Arduino IDE developers are tracking the current incarnation of the bug here:

If you have a GitHub account, you can subscribe to that issue to get notifications of any new developments related to this subject.

Just for clarification, the bug is not really the "last line" only. I regularly print a multi-line variable status report (about 7 lines), and only the top line of it shows without manually scrolling.

I will give the developers credit where due, the data was captured and can be accessed. But a 7-line status update (with 7 new-lines in it) is treated the same as a single line printed, scrolling one line. One newline should cause one window scroll. Wake up!

2.0.x has been, overall, a big improvement and modernization of the development environment for Arduino. IMO, decisions have been made to release incomplete fixes and to triage some well-known bugs for later work.

My prior life experiences point to this as a big mistake. The lack of sincerity and the push for results of any quality have negatively impacted user faith in the effort, that is apparent from many posts.

Still, I am keeping the faith.

  • Wes

Why do you point the blame at others? This is free open source software. It belongs to everyone. If you want it to be better, then take action. Submit a pull request to fix a bug or make an improvement. Review the pull requests from other contributors. Beta test the nightly builds and pull request builds.

1 Like

using 2.0.4, 2023-02-27T16: ...

i believe i'm continuing to see this problem, last 1-10 line of output are not appearing on the serial monitor without scrolling all the way down.

demonstrated with following

const byte PinLed = LED_BUILTIN;

void setup ()
{
    Serial.begin (115200);
    pinMode (PinLed, OUTPUT);
}

void loop ()
{
    digitalWrite (PinLed, !  digitalRead (PinLed));
    for (int n = 0; n < 20; n++)
        Serial.println (n);
    delay (1000);
}

Hi @gcjr. The bug was fixed after the time of the Arduino IDE 2.0.4 release so the fix is currently only available from the nightly build.

The nightly build download links are listed here:

https://www.arduino.cc/en/software#nightly-builds

If you decide to give the nightly build a try, please let me know if you still experience the problem.

don't see the problem in 2.0.5- nightly-202303331
thanks

took a long time to extract (zip) and i executed it from the extract directory. what's the procedure for updating my existing code?

You're welcome. I'm glad the scrolling is working for you with the nightly.

By "code" do you mean Arduino projects (sketches, libraries, boards platforms)? If so, no updates are needed. Arduino IDE 2.x can use Arduino projects that were developed for Arduino IDE 1.x.

If you discover any specific new problems while using your projects in Arduino IDE 2.x, please do make a report here in the #software:arduino-ide-2-0 category and I'll check it out.

i meant the application

looks like i need to copy the extracted files under the Arduino2.0 directory probably named 2.0.5n or 2.0.5_230331 and update the properties of my desktop icon or create a new one

I think it's sufficient to update your shortcut/symlink to point to the new install; maybe change the working directory as well.

I replaced my old PC only a couple of weeks ago and was pretty much encouraged by the arduino.cc pages I looked at to install version 2. I did this rather reluctantly since I had a bad experience with version 2 on my old PC - losing hours of editing in one fell swoop - setting me back a full day. After that I didn't trust it and always used version 1.

Now this bug is only a small thing but, it can quite easily confuse when you're trying to debug something where there are repeated lines of similar output and you forget that it doesn't show the most recent one. Googling the problem led me to this thread where it seems to have been around for several months - coming and going as updates are released. I don't know what 'nightly' builds are but the IDE assures me that it is up to date: "There are no recent updates available for the Arduino IDE".

I also find that the monitor randomly spits the dummy and all the text suddenly starts jittering, so you haven't a clue which lines you're seeing - even if you can make out some of the text. Is this also a known problem? Thinking I'll go back and install version 1. I only do quite simple stuff in the IDE and it worked fine for me.

Hi @johnrippon.

A version of Arduino IDE is automatically built from the latest source code daily and uploaded to Arduino's download servers. This is known as the "nightly build".

The primary purpose of this "nightly build" is to make it easy for the community to contribute to the development work of this free open source software by doing beta testing and then reporting any problems they found to the developers.

A secondary use of the "nightly build" is to get access to fixes or enhancements that were made by the developers since the time of the last production release.

If you would like to try the nightly build, you can download it from the links listed here:

https://www.arduino.cc/en/software#nightly-builds

By default Arduino IDE only notifies you when a newer production release (e.g., 2.0.5) is available. It is possible to get update notifications for the nightly builds by changing the arduino.ide.updateChannel option to "nightly" in the Arduino IDE advanced settings, but that frequency of update is only useful for beta testers so I wouldn't recommend it to someone who only wants to use Arduino IDE for working on their Arduino projects.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.