Shop now Shop now Shop now Shop All Amazon Fashion Cloud Drive Photos Shop now Learn More Shop now DIYED Shop now Shop Fire Shop Kindle Oasis Listen with Prime Learn more Shop now

Customer Reviews

4.4 out of 5 stars10
4.4 out of 5 stars
5 star
5
4 star
4
3 star
1
2 star
0
1 star
0
Your rating(Clear)Rate this item


There was a problem filtering reviews right now. Please try again later.

on 11 February 2014
Review of the Funduino I2C LCM1602 board (red), as depicted
-----------------------------------------------------------

Disappointing. Looks like a well thought out implementation. - The I2C connector mounts on either end of the board, so unlike others, it can be tucked neatly behind the display. Sadly, the one they kindly fit for you is on the "wrong" end (like many others) so that it sticks out beyond the end of display. A shame, but I wouldn't dock points for it.

This device arrives with no documentation or guidance. That might be ok if it complied with some kind of standard. This one doesn't, and the lack of any documentation anywhere on the web (at the time of writing) could result in a considerable number of hours to get it working. - Unless you read this, that is. I would advise beginners to stay away, but for those who have a little more experience or have bought one anyway, the following may be useful.

It is easy to find a web schematic for a PCF8574-based I2C LCD interface. All the ones I've found have essentially the following specification:

Default A0=A1=A2=0 giving I2C address = 0x20
P0 = LCD D4
P1 = LCD D5
P2 = LCD D6
P3 = LCD D7
P4 = LCD E
P5 = LCD R/W
P6 = LCD RS
P7 = LCD backlight (-ve logic)

This board is wired somewhat differently:

Default A0=A1=A2=1 giving I2C address = 0x27
P0 = LCD RS
P1 = LCD R/W
P2 = LCD E
P3 = LCD backlight (+ve logic) (via physical jumper enable/disable)
P4 = LCD D4
P5 = LCD D5
P6 = LCD D6
P7 = LCD D7

If you're using it with PIC, that's probably all you need to know, as you're probably programming it all yourself.
If you're using a library, however, it's likely written for the commonly found schematic, in which case some changes will be required.

For the Arduino "LiquidCrystal_I2C" library, the following changes are required:

In LiquidCrystal_I2C.h, make the following changes to define the correct control lines:

Change:
#define LCD_BACKLIGHT 0x00
#define LCD_NOBACKLIGHT 0x80
#define En B00010000 // Enable bit
#define Rw B00100000 // Read/Write bit
#define Rs B01000000 // Register select bit

To (changes for Funduino):
#define LCD_BACKLIGHT B00001000
#define LCD_NOBACKLIGHT 0x00
#define En B00000100 // Enable bit
#define Rw B00000010 // Read/Write bit
#define Rs B00000001 // Register select bit

In LiquidCrystal_I2C.cpp, make the following changes to fix the data bits:

In function LiquidCrystal_I2C::begin
we need to swap the data nibbles, since library assumes data is bits 0..3, but Funduino has them as bits 4..7

Change all three occurances of:
write4bits(0x03);
To:
write4bits(0x30);

Change the single occurance:
write4bits(0x02);
To:
write4bits(0x20);

In function LiquidCrystal_I2C::send
we need to be using the high nibble to send data, rather than low nibble

Change:
uint8_t highnib=value>>4;
uint8_t lownib=value & 0x0F;
To:
uint8_t highnib=value & 0xF0;
uint8_t lownib=value<<4;

Finally, don't forget to use address 0x27 in your initialisation call rather than 0x20:

LiquidCrystal_I2C lcd ( 0x27, 16, 2 ) ; // I2C LCD ( address, chars, lines )

You need to remember to change this for any example you want to run and, no doubt, anything you download from the web.

Or you could solder the three links on board to change the address to 0x20 (or any of the 6 addresses in between).

On the plus side it works, can be had for less than the cost of the PCF8574 chip in the UK, and can be used as a general purpose port extender. But I'd rather not have invested the time to work out the schematic.

Is this an appropriate amount of effort/feedback to give for a £2 device?
11 comment|50 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 11 February 2015
Dizzy's analysis persuaded me to buy this and he is spot on. I would have given up without it.

I tested mine with a Pinguino, which is an Arduino-like platform for Microchip PICs. Specifically, I have the cheap self-assembly PIC18F45K50 model.

I made changes to the supplied lcdi2c.h file as follows:

#define LCD_RS PCF8574_data.bits.bit0 // P0
#define LCD_RW PCF8574_data.bits.bit1 // P1
#define LCD_EN PCF8574_data.bits.bit2 // P2
#define LCD_BL PCF8574_data.bits.bit3 // P3
#define LCD_D4 PCF8574_data.bits.bit4 // P4
#define LCD_D5 PCF8574_data.bits.bit5 // P5
#define LCD_D6 PCF8574_data.bits.bit6 // P6
#define LCD_D7 PCF8574_data.bits.bit7 // P7

I don't recall doing anything else to the code, other than maybe setting the address to 0x27. I think I will modify it further so that the standard and modified sections can be switched by means of suitable #define and #ifdef constructions. A star has been docked for the non-standard arrangement that makes me change a standard library, but it does work.

You can buy the core PCF8574 chip reasonably cheaply direct from China (try ebay). I can now see uses for them and just ordered two for £1.27 total delivered.

The LED backlight jumper can be replaced with a suitable resistor to limit the current and dim it. And the LCD may be working perfectly but display nothing because the contrast setting is out of range - the blue pot on the board should be twiddled to make it show.

On the Pinguino I added 10K pull-up resistors on the clock and data lines. It won't work without those because I2C lines need to be high by default.

I have now soldered my board directly to an LCD and used it for a couple of days solid. Together they make a very useful development aid. You can buy LCD and I2C interface ready assembled as a unit if you don't want to go to the trouble.

If you are using a PIC outside of a hold-you-hand development environment like Pinguino, for example with MPLAB, you need to sort out interface routines to make your LCD functions work over I2C. It helps if the PIC you have chosen has hardware I2C support. Still, you need to enable I2C correctly and work out how to talk to the LCD in 4-bit data mode. I managed it with a PIC18F14K22 and it works very well.
11 comment|2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 1 March 2015
This product worked great with my Arduino and 1602LCD display. After getting quite confused trying to get it working, I was greatly helped by Dizzy and Ian's previous reviews which led me to find a compatible library, available by searching the web for " IIC LCD1602(Arduino Compatible) - DFRobot". The packaged example script "HelloWorld" already has the correct address (0x27) and worked immediately (just remember to adjust the contrast potentiometer on the module to see the characters). With a bit of background information to make up for the missing documentation, when it's working this is a great and cheap little product.
0Comment|2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 18 January 2016
These things are great, LCD displays are a doddle to drive, especially with Arduino/Genuino and similar as driver libraries are available
0Comment|Was this review helpful to you?YesNoReport abuse
on 24 March 2014
This device is a useful experimenters device, useful both to explore i2c, as an in-out port and possibly to drive alphanumeric LCD displays.
0Comment|2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 2 May 2016
Good value, brings the wiring down to 4 connections for a LCD display worth it just for that
0Comment|Was this review helpful to you?YesNoReport abuse
on 19 October 2015
It would be nice if there was some info or a link to some
0Comment|Was this review helpful to you?YesNoReport abuse
on 21 July 2015
The other reviews are very helpful. Simple to use.
0Comment|Was this review helpful to you?YesNoReport abuse
on 16 July 2015
Arrived in good time and worked well.
0Comment|Was this review helpful to you?YesNoReport abuse
on 18 March 2015
excellent
0Comment|Was this review helpful to you?YesNoReport abuse

Questions? Get fast answers from reviewers

Please make sure that you've entered a valid question. You can edit your question or post anyway.
Please enter a question.
See one answered question


Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.

Sponsored Links

  (What is this?)