Please suggest me an easy way to show serial terminal output on a LCD

Hi all, guys.

As subject.
I am looking for a solution to show my Arduino terminal output on a simply LCD display without a PC. Can you tell me an easy solution for that? Thanks

depends on your library; typically you would use lcd.print() lcd.println(), etc in lieu of Serial.print(), Serial.println(), etc.

Thanks. In my code I've already using the Serial.println() syntax. I prefer that.

You need to be more specific.
How are we to know what you'd like to display, how often do you send data and do you want or need the data to scroll, or to be overwritten ?
Do you need some large display you can read from some distance, or can it be small so you can read it close to the unit ?
Do you also need to be able to display the data on a PC (occasionally) ?

If you want straight forward answers, show your code and relevant hardware, and perhaps someone could help you out with some ideas.

WillyLord:
already using the Serial.println() syntax. I prefer that.

I guess, in that case, all you need is an LCD display that responds to your preferred Serial.println() syntax.

Thanks. In my code I’ve already using the Serial.println() syntax. I prefer that.

You are going to have some interesting results when you use Serial.println() with the LiquidCrystal library.

Try it, you won’t hurt anything.

I guess, in that case, all you need is an LCD display that responds to your preferred Serial.println() syntax.

As you may have guessed from my first response the LiquidCrystal library does not meet those criteria.

Don

MAS3:
You need to be more specific.
How are we to know what you'd like to display, how often do you send data and do you want or need the data to scroll, or to be overwritten ?
Do you need some large display you can read from some distance, or can it be small so you can read it close to the unit ?
Do you also need to be able to display the data on a PC (occasionally) ?

If you want straight forward answers, show your code and relevant hardware, and perhaps someone could help you out with some ideas.

Hi, I have an Arduino that gradually writes off TTY 9600 baud some numerical values: one per line.
I would love that writing is progressive, line by line.

It can also be a simple display of 2 or 4 lines. The important thing is that it is low power because I am building a wearable device with battery.

Occasionally I would also display them on your PC, why I would not modify the code. Thanks

Hi.

The answers to this have already been given.
If your numerical data consists of a few characters each, you can use a 0802 LCD.
But you'll probably find 1602 displays a lot easier, there's tons of those offered all over the place.
If you need low power, try to find one that doesn't have nor require backlight, as that is the most power consuming part of such displays.

I've been using 1602 and 2004 displays for debugging, at which they do an excellent job.

0802 means 8 characters on 2 lines each.
1602 means 16 characters on 2 lines each.
2004 means 20 characters on 4 lines each.

You can format the display to show multiple values on each line.
Takes a little practice, but isn't that hard to do.
You do need to alter your code to support the display, and you do need to use some extra pins (at least A4 and A5 if you can find a suiting I2C display).
It shouldn't be any problem to use multiple I2C devices, as long as each device has its own address.

Remember, "easy" means something else to me as it would to you.
The offered solution is easy to me.

I think understand what you want. A LCD that acts like a terminal that wraps lines, proceses and and scrolls the display up when necessary.
Unfortunately almost none of arduino LCD libraries support end of line processing.
So that means they won’t wrap lines, or process or characters.

LiquidCrytalFast does and can be found here:
https://www.pjrc.com/teensy/td_libs_LiquidCrystal.html

There are some devices that include an intelligent controller that do this.
For example, the LCD backpacks sold by ByVac do exactly what you want. They even emulate vt-100 control sequences. They cost quite a bit more than the typical i2c PCF8574 backpacks but will do what you want.
Their backpacks usually support both async Serial and I2c.

There is also the possibility of using a ks0108 graphical display and my openGLCD library.
https://bitbucket.org/bperrybap/openglcd/wiki/Home
My openGLCD library does end of line processing including scrolling and will give you a “mini terminal” of 21x8 lines on a 128x64 display.
However, it uses quite a few pins. (13 pins)

There are also some intelligent serial lcds out there.
The key thing you are going to have to look for is one that processes line endings and characters like and
Be careful though as some will do line wraps, and process and but will not scroll the display and instead wrap back to the top.

OpenGLCD will do scrolling. And you can even set up multiple text areas and each text area on the display acts like a mini terminal.

The issue you will run into is low power. Low power often means you have to do special things and that will likely mean you can’t really use many of these off the shelf solutions either at all or without modifications.

— bill