Developing an ASCII serial console on LCD

I am thinking about developing an ASCII text console program that can be addressed with serial port and displays on an LCD. It will be similar to the serLCD sparkfun sells except it still needs an arduino to control. So if you have a project that needs input and output, you can connect your arduino to this console (1 arduino + 1 lcd button shield). You then use it as a serial output and dumps output on it. It will also support as many as possible control characters for formatting (form feed, new line, carriage return, tab, backspace, maybe even bell, but certainly escape sequence for future functions). For other characters it will just print out, wrap to next line, then scroll up screen if cursor goes beyond bottom right corner. Then in the future, you can press the keys on the pad and the console relays back the keys pressed via serial to the arduino. This will be a very easy interface any project can have by spending only two I/O lines.

Does this sound like a useful thing to anyone?

For old timers, any input on how the old terminals / consoles do this type of stuff?

OK, got it working with most functions I planned. Does anyone know a good and free hyper terminal I can use to connect to it? I want to be able to send /r and /n as I need so the Arduino serial monitor is not good enough (unless I don't know how to). I also implemented back space and line feed so I definitely need something better than Arduino serial monitor. I use vista so the hyper terminal has been removed by MS and I'm using a trial license with 29 days left :frowning: Any suggestions?

liudr:
Any suggestions?

Changing the date on your computer and hope it stops counting the days?

TeraTerm?

liudr:
Any suggestions?

http://www.chiark.greenend.org.uk/~sgtatham/putty/

Not exactly what you are after but I recently bought this one - http://microvga.com/ - and although it needs a hardware handshake for the higher baudrates (still experimenting with it) it gives me an 80x25 terminal! and I have keyboards and old monitors enough in my personal scrapheap.

It will enable me to show the state of all sensors I have in one screen (not userfriendly maybe but that is another question;)

Does anyone know a good and free hyper terminal I can use to connect to it? I want to be able to send /r and /n as I need so the Arduino serial monitor is not good enough (unless I don't know how to).

The beta 1.0 version of the IDE has a drop down box on the bottom of the Serial Monitor window that allows you to choose what to append to each string sent. Carriage return, carriage return and linefeed, nothing...

Thanks Paul. I haven't checked out 1.0 IDE yet :blush: I'm on 0022. What I want is a real dummy terminal that relays every key press to the serial port, including tab, and back space or even ctrl. Remember the old-school BBS system? I want to do that on this tiny screen, maybe using escape sequence to attach to my phi_prompt library so if the host (arduino/main frame) sents out \esc yn_dialog "Destroy stupidity?" \n then the terminal (arduino + Phi-2 shield) will show a yes/no dialog and prompts the user to choose an answer and relays back to host so the host just needs 2 I/O lines to use screen, keys, and all possible and expandable interactive functions via escape sequence.

BTW, I tried

realterm - crashed and burnt on vista 64bit
termite - too simple not relaying every key press but like Arduino IDE serial monitor (ie, you press enter and it relays everything in a bunch, no back spaces or else)
Tera Term - will try in the afternoon thanks cr0sh
putty - heard of it will try afternoon thanks bubulindo

Rob, that is nice find. I believe either you or someone else linked to that uVGA a while ago. I want to do something similar but less awesome. On the other hand, mine will have onboard display and some keys and possibly a ps/2 for key board in the future. This pad I envision will be plugged in an arduino project and provide input (key pad and choices via TUI) and output (LCD, LED indicators, and buzzer) in one package and consumes 2 I/O lines only, wouldn't that be nice?

I'll start working on escape sequence. Anyone with old-school BBS experience or other ASCII terminals with escape sequence experience give me a pointer please! I want to make the escape sequence as close to any historically significant system as possible. One is to get their blessings from their holy graves, two is if that scenario has been used then probably someone straightened out most kinks already. :astonished: :grin:

putty is pretty good with all features I needed to test out my code. Just one problem, it only sends \r when I press enter, no option to change it. I can live with it (do ^M then ^J for \r and \n manually)

I can also see what escape codes it sends for F1-F12, arrow keys and else. At least I'm getting some most common escape sequences.

Also I can resize the screen to 20X4, sweet!

Why do you say that the serial LCD Sparkfun sells needs an Arduino? They are stand-alone and don't need anything else to work

@PaulS & liudr, that drop-down box is on 0022 aswell
Just use Coolterm, uses post 2000 technology, has a clean interface and raw and ascii view, selectable enter representation, etc
Putty lacks some key functionality as a serial terminal, and the others where before 2000 when last updated

chiva:
Why do you say that the serial LCD Sparkfun sells needs an Arduino? They are stand-alone and don't need anything else to work

@PaulS & liudr, that drop-down box is on 0022 aswell
Just use Coolterm, uses post 2000 technology, has a clean interface and raw and ascii view, selectable enter representation, etc
Putty lacks some key functionality as a serial terminal, and the others where before 2000 when last updated

My panel, utilizing the phi-2 shield hardware with 20X4 display, will need an arduino, not sparkfun serLCD.

It will be similar to the serLCD sparkfun sells except it still needs an arduino to control.

Although, I can just integrate a 328 on it to become standalone panel. Then the difference will be: mine has larger display, buzzer, LED indicators and keys :slight_smile:

I'll try Coolterm. Yes, Putty can't change what it sends when you press enter.

I still don't know why you have to put a 328 to the serLCD to work, they have a PIC controller, so it would be similar to the shield+arduino you are designing, although yours will have more functionalities as you say.
:wink:

"It" meant my solution, not serLCD. You read my post think "it" meant serlcd. Miscommunication

Ops! Sorry for that, now everything is clear

that relays every key press to the serial port, including tab, and back space or even ctrl

"Ctrl" is a modifier like "shift", and is not sent by a serial terminal as a separate code.

AWOL:

that relays every key press to the serial port, including tab, and back space or even ctrl

"Ctrl" is a modifier like "shift", and is not sent by a serial terminal as a separate code.

Right!