Recommendation for a Simple 2 Line Display

I've put together a program that times a sprint contest on bicycles (a training aid for BMX racing). I have no problem getting the resulting times to display on my laptop via the USB and had moved on to the task of getting the numbers to a simple display so the whole thing could be mounted in a box. I bought a I2C, 2 x 16 LCD display off Amazon and despite reading some dicey reviews thought I could get the hardware in, hook it up, get the "Hello World" example script running and proceed from there.
I've had 0 luck with this despite having tried the provided libraries, libraries from other sources, different addresses for the I2C expander, etc..

What I'm looking for is a recommendation on a reliable supplier of hardware (and libraries to support their hardware).

The requirements are simple, 2 lines of numeric display in the format "00.000". I'd even be fine with 2 old school multi-segment LED displays at this point.

Thanks in advance for letting me in on your collective experience.

These work very well for me, good sale price right now:

I've also used these, they're also fine, interchangeable with the one above and a little less expensive:

Both work fine with the standard LiquidCrystal library, as well as with some improved versions that are out there. To convert them to I2C, these work well:

Before you give up on the display you have, please take a look at this tutorial on I2c lcd displays.

If this doesn't get you up and running, please provide some more details on the I2c module and display, as well as what specific problems you are having. Which model of Arduino are you using?

It's possible you have defective hardware, but if so, there are typical patterns of failure that will show on the display.

Some of the I2C LCD libraries have different default pin assignments that don't match a some of the LCD modules I/O expander.

If you provide a link to the module and show your code, it may be possible to point you in the right direction

Adafruit's library works with the MCP23008 I/O expander (as used in their backpacks) and FMalpartida's library works with the PCF8574 expander (as used in backpacks from, so the libraries are not interchangeable in that regard.

I benchmarked several libraries in native and in I2C mode (MCP23008); results and code are here.

The I2C module and display were assembled on arrival. Purchased on amazon (

The screen printing on the PCB didn't match what is displayed on the website. Instead of "LCD2004" mine says "I2C".

I've tried the example code and library from SAINSMART's web sight as well as the code posted on amazon in one of the reviews with no luck.

Thanks for the recommendations and I'll take a run at the tutorial.

You guys rock, especially cattledog!

The address was the issue, mine is 0x3F. The scanner found it no problem and now I'm in business.

Thanks again and I'll post pics and code once complete.