serial to LCD...

Hey gang. I've been reading quite a bit around here and can't seem to find out what's up. I've read the documentation for my Sparkfun serial LCD (2x16) and think I understand what I need to do to write something out to the screen. But I can't get anything.

I use this program:

 Reads an analog input on pin 0, prints the result to the serial monitor 

 This example code is in the public domain.

void setup() {

void loop() {

I should be able to see "Hello" printed out on my lcd with this, right?

I have 5v where 5v goes and ground where ground goes, and the rx from the lcd is on the tx on the arduino (uno).

The splash screen splashes, then the screen goes dark, then nothing. :-/

I was having a bit of an issue a bit ago with serial communication as it is because I use Ubuntu 10.04, and I guess something doesn't work right. Well, I managed to erase the splash screen because I kept leaving the screen plugged in when uploading programs, and then I was able to reset it. So I know serial is working at least. But am I totally doing something bogus in my program then or what? Any help appreciated.

Are you using an external power source? Because if you're running this sketch while you have it plugged into the computer.. it may fudge up the serial line. Afraid someone else would have to provide the technical answer, I just know that when you want to use your hardware serial for something.. you can't have it plugged into your computer, or it is very likely to not work.

Can you see hello in the serial monitor of the IDE?

Is the baudrate right?

There is also a potentiometer on the back of the display to adjust the contrast.

out of options ...

The baudrate is OK, the contrast is good (I can see the splash screen) and the serial monitor doesn't work right now. Something to do with the Uno's firmware fighting against linux or something...

Oddly enough I can get it running when I am plugged into USB, but the instant I plug in my external power source it goes all screwy and spits out weird characters. I have to plug in my external power, then plug in the USB and it works, or else just use USB and no external power.

My 'external power' is in a jack that has ground, 5v and a signal wire attached to a voltage follower that converts pin 10 PWM to analog.

My 'external power' is in a jack that has ground, 5v and a signal wire attached to a voltage follower that converts pin 10 PWM to analog.

That sentence makes very little sense. The arduinos barrel jacket socket is for 2 wire jacks, but you make it sound like it has 3 wires.. which the third one changes pin10 to an analog input??

External power supplies should either be a regulated 5V supply attached to the 5V pin of the arduino, or 7~12V connected to Vin or the barrel-jacket socket. I'm not sure what you're doing with the third wire, but it should have no relevance to the power supply.

Yea sorry, I offered pretty much zero explanation.

I have a 3-contact plug and jack that goes into a project box. 2 lines of that are 5v (goes into Vin) and ground. The other one I use as an analog signal for something.

I wasn't talking about the regulated 3mm socket on the board itself.

I mentioned that because I was thinking it could've been relevant. :-X

Which serial LCD do you have? The one I have requires sending some commands to it, to put it into text mode.

That's where it's at. This one picks up anything at the baud rate it expects and outputs it. Unless it's a special command of some sort, then it does whatever it is that the command is.

But again - weird that only does it work when USB is plugged in... I'll have to plug this LCD into a duemilanove that I have and see if that changes anything.

Not sure if this is relevant, but whenever I use that LCD, I always specify what line I want to print on using the "selectLineOne();" or "selectLineTwo();" functions before I try to print to it.

Are you using the code from the playground?

Nope. Before I actually put it on the project I was just playing with it and never had to select line or anything. Just always Serial.print("whatever"); and that's it. As long as the baud rate is right, it picks up whatever is on the TX pin. Even if that means it prints garbled messages or whatever.

I even screwed it up because I left it connected once when I uploaded the program ;D Then I had to figure out how to reset it. Which wasn't hard.

As the arduino has its own power regulator could you try a 9 or 12V power supply? The 5V may not be enough (see post imahilus)

What voltage do you measure ? - when connected to USB - when connected to 5V power supply

Ooooh, good point. I'll check that when I get home.

(got home, checked)

Suuuuuuck! My 5v in is being dumbed down to 4v across the Vcc and gnd on the LCD.

So the Vin pin IS regulated then? I always thought that was the pin that you were supposed to be careful and only put 5v into.

I was using an Arduino Pro Mini for this project. It got fried or messed up somehow. That couldn't have been the cause could it? I remember that it had a 'RAW' pin on it. Was that raw pin an unregulated Vin?