LCD I2C Programming

I have this LCD module, but I'm unsure how to program it. I tried looking for tutorials but they either are really out of date, use the LiquidCrystal_I2C library (which doesn't seem to exist anymore), or use every pin on the LCD module, which mine does not have accessible. Would someone guide me to a library that I could use along with documentation? Then I'm confident I can continue from there.

Here is the LCD module: Amazon.com: SunFounder IIC/I2C/TWI LCD1602 Display Module Compatible with Arduino and Raspberry Pi : Electronics

Thanks for the help!

LiquidCrystal_I2C doesn't exist anymore?

That turns out not to be the case.

LiquidCrystal_I2C reference page

2 Likes

Oops, I thought it was LiquidCrystal_I2C, so the arduino library manager was not showing it as an option. It doesn't seem like this library has support for the adafruit feather m0, is there another way around this or am I stuck at this point?

I guess the only shown boards are arduino boards... so I don't know how that effects an adafruit board

And it is LiquidCrystal_I2C.

I don't know when the Feather M0 came out, but the library hasn't changed in 7 years. The board might not have existed then. But I2C is I2C... you could just try it and see how it goes.

1 Like

The LiquidCrystal_I2C certainly exists and has 3 sketches including the time honored 'Hello World' that you can learn from. It is also a trivial exercise to adopt the NON I2C samples to the I2C, it's just a line or two in globals and setup.

2 Likes

Thank you for the help, it worked. Sorry I'm new to using Arduino but I'm very excited :slight_smile:

Most LiquidCrystal_I2C libraries are no longer actively supported. Bill Perry's hd44780 library is still actively maintained so you can give that a try when needed.

From library manager

Hello @sterretje, Is there a specific reason that LiquidCrystal_I2C libraries are no longer actively supported?

Those are 3rd party libraries. The authors might loose interest, pass away or whatever; and hence no support anymore.

1 Like

Clear! Thank you @sterretje

Still supporting my I2C_LCD library :slight_smile:
Although it has less functionality than Bill Perry's excellent hd44780 library

2 Likes

@sterretje @jw_r

FYI
There is a new develop branch with additions of last current winter.

The library is extended with (experimental) support for some special ASCII characters.
So you can do

lcd.clear();
lcd.print(" The quick brown fox\n Jumps over\n the lazy dog.");

and it prints over the first 3 lines. This is easy to set up the fixed texts on the display.

Snippet from the readme.md

nr ASCII CHAR name implementation
7 BELL '\a' BELL (alert) no, conflicts with special(7)
8 BS '\b' BACK SPACE cursor one left
9 TAB '\t' HORIZONTAL TAB cursor to next multiple of 4
10 LF '\n' LINE FEED cursor to start next line
11 VT '\v' VERTICAL TAB cursor goes one row down
12 FF '\f' FORM FEED clear screen
13 CR '\r' CARRIAGE RETURN cursor to start of same line
2 Likes

Sorry for overlooking.

1 Like

No problem, you can't track all the Arduino related libraries.
PlatformIO counter is somewhere between 15 and 16 thousand IIRC

@robtillaart Thx you for your update Rob!

In this case of LiquidCrystal_I2C it is that the LiquidCrystal_I2C library in the Arduino IDE library manager was handed off to a new maintainer/person (github repo was re-assigned) and then that person immediately attempted to change the license. After that was unsuccessful, he attempted to relocate the repository to a few different places. (to multiple places and changed its name a few times)
(moving it away from github and changing its name would break the Arduino IDE library manager)
Soon after he tried to move development away from github and posted the note on the github repository each time he moved it, he removed the code on all the new repositories and he abandoned the LiquidCrystal_I2C github project completely.

Then, he became non responsive so nobody else could take over the LiquidCrystal_I2C repository on github.
Recently, Arduno.cc said they would not get involved with re-assigning a library in the library manager to a new maintainer and thought it was better to let abandoned projects just die on the vine.

Several of the big open source projects out there have a defined mechanism and rules to re-assign abandoned projects, but so far Arruino.cc does not want to do this.

--- bill

2 Likes

@bperrybap

Thanks for this explanation!

Ahh, I see, thank you. Somewhere off screen I'm hearing Paul Harvey say:

"and now you know... the rest of the story."

I personally LOVE the LyquidCrystal, but sometimes I2C is a little annoying when coding, mine do not have an I2C, and I have never had a problem!