Go Down

Topic: Need help badly (Read 1 time) previous topic - next topic


Hey all,

I recently got an Uno R3 and a Sainsmart HD44780 LCD and I just can't get it to work. I've updated the LiquidCrystal library and no luck. Based on a lot of the other threads I thought the address could be a problem so i tried to run an i2c scanner and it says no i2c devices found. This is getting really frustrating.

The LCD is illuminated, just no characters no matter what I try. I'm connected to the 5v, grd, a4, a5 pins. The only thing I can think of that's kind of different is that I soldered wires directly to the pins on the lcd's i2c. Can anybody help or think of a reason that the lcd isn't even found?


OK, we need the link to the actual display you are using, the schematic of how you've wired it up and the _complete_ code (in _code tags_) of
what you have now that fails to work.  Photo of your soldering might be useful too.
[ I won't respond to messages, use the forum please ]


Dec 22, 2012, 03:02 am Last Edit: Dec 22, 2012, 03:04 am by shiloh Reason: 1
Ok here's the lcd module I have :


here's the (seemingly foolproof) setup :

close-up of the arduino connections :

close up of the lcd connections :

Here's the i2c scanning code i found :

Code: [Select]
#include <Wire.h>

void setup()

 Serial.println("\nI2C Scanner");

void loop()
 byte error, address;
 int nDevices;


 nDevices = 0;
 for(address = 0; address <= 127; address++ )
   // The i2c_scanner uses the return value of
   // the Write.endTransmisstion to see if
   // a device did acknowledge to the address.
   error = Wire.endTransmission();

   if (error == 0)
     Serial.print("I2C device found at address 0x");
     if (address<16)
     Serial.println(" !");

   else if (error==4)
     Serial.print("Unknow error at address 0x");
     if (address<16)
 if (nDevices == 0)
   Serial.println("No I2C devices found\n");

 delay(8000);           // wait 8 seconds for next scan

and the result is "No I2C devices found"

Any ideas?


Dec 22, 2012, 03:06 am Last Edit: Dec 22, 2012, 03:11 am by MarkT Reason: 1
Looks OK - including soldering.

Seen this thread BTW? http://arduino.cc/forum/index.php?topic=106655.0  Seems to be exact same hardware setup to yours...

[edit:  hang on - where are the I2C pullups?  That adapter board doesn't appear to have any?  You need 4k7 resistors from SDA to +5V and from SCL to +5V]
[ I won't respond to messages, use the forum please ]


hmm. Are you sure? More than one of the solutions I've come across claim that they weren't required.


hmm. Are you sure? More than one of the solutions I've come across claim that they weren't required.

From what I have read the current wire library activates the internal pullup resistors but I wouldn't be surprised if they aren't adequate since I believe that they are around 20K ohms.  If I were you I would add some external 4.7K pull-up resistors and see what happens.

If the chip on your I2C interface board is a PCF8574A then the I2C address is 0x3F, if it is a PCF8574 (without the 'A' suffix) then the I2C address is 0x27.

Why am I not surprised that the SainSmart board does not have provisions for pull-up resistors?


Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131