Can Serial Monitor get some new things?

Like:

  1. Keystrike echo to Arduino. As soon as a key is hit, it gets sent rather than only send chars when Enter is hit. Instant key input.

  2. Make 4 unprintable chars serve as cursor keys; up, down, left, right.

With both of those we can make static display screens. With just the first we change keyboards into button boxes.

Hi @GoForSmoke. These features are outside the scope of the standard Serial Monitor. However, I'm sure the community would find a Serial Monitor with this sort of capability to be useful.

There is a proposal to add support to Arduino IDE for Serial Monitor plugins, so that Arduino community members can create their own Serial Monitors which will integrate with Arduino IDE just like the standard Serial Monitor:

It’s the biggest block to getting Arduino able to do pro displays, mainly for business but also for data displays… IIRC Firmata has the ability to keep data in specific display spots, not a scrolling mess.

Is the current SM code in Java or Python?

I think you would want to use a standalone application for that purpose, not Arduino IDE.

The use case where the integration of Serial Monitor shines is during sketch development. Arduino IDE automagically handles the juggling of control over the serial port during uploads. This integration is the value that would be provided by the plugin system.

It is written in TypeScript, just like the rest of the Arduino IDE 2.x codebase.

I agree it could gain more feature but that being said if you have deployment in mind - the Arduino Serial Monitor is very much linked to the IDE but you are not stuck with it.

A serial term that supports VT100 / VT102 / ANSI terminal emulation would be appropriate for "deployment".

I can do that but it isn’t what I would pass along to newbs which I was one of when I learned OJT programming. I ask for them who don’t know yet.

ANSI terminals do way more than key echo and cursor control but those are all it takes to show changing values that stay in place on the screen, to do proper static displays.

“Arduino IDE automagically handles the juggling of control over the serial port during uploads. This integration is the value that would be provided by the plugin system.”

What beginners NEED.

You're moving the goalposts. I was responding to this statement:

Now in response to my statement you have suddenly switched the subject to beginners.

Sorry pt, I should have been more complete. What I do here is almost always for beginners, I did post examples using Hyperterminal about 10 years ago and that flopped. I even mentioned that it’s useful for GAMES and what newb wouldn’t rather write a game than a bidness app?.

I use picocom as terminal, it naturally sends keys as soon as they are pressed and send also left/right/up/down arrows (as escape sequence, but it is easy to catch and translate into anything).
It also may send files, or save what came over Serial into file.

And it can use different flow controll systems - None, Xon-Xoff and RTS-CTS - so it is possible send more data at time and let Arduino to consume it only as fast as it is able to eat :slight_smile:

It is very convenient.