
I2C Communication Problem
I2C Communication Problem
Hi there I am using both versions of LK204-25 Rev1 and Rev2. I can use use Rev1 without any problem using I2C protocol. Whereas when I try to run the same code on Rev2 board it does not work properly. I soldered I2C jumpers on the Rev2 board and I am using 0x50 as default I2C address. I can run some commands such as clearScreen (0xFE 0x58) however some other commands does not respond well in the Rev2 board. What might be the problem please help I am STUCK!!! 

Hi ulassss,
Thanks for posting on the forum.
There is quite a bit of differences between Rev1.0 and Rev2.0. Please check out this PCN.
Can you tell me which commands are not working properly? Can you display characters on the screen?
Also, you might want to check out this I2C FAQ page
Thanks and Best Regards,
Thanks for posting on the forum.
There is quite a bit of differences between Rev1.0 and Rev2.0. Please check out this PCN.
Can you tell me which commands are not working properly? Can you display characters on the screen?
Also, you might want to check out this I2C FAQ page
Thanks and Best Regards,
Raquel Malinis
Design and Development
Matrix Orbital
Design and Development
Matrix Orbital
No I tried resetting device still no good. I run below code in both LCD revisions
StartI2C();
setI2CAddress(0x50);
clearScreen();
setCursorPos(1, 1);
blinkOn();
writeChar('a');
StopI2C();
In Revision 1 there is no problem it clears the screen writes char 'a' on the screen to the top left spot and blinking cursor appears. However in Revision 2 lcd module, it just clears the screen and there is neither a blinking cursor nor char 'a' on the screen.
Like I said before I just soldered two I2C jumpers with the resistors I have unmounted from 232 jumpers. And throw away third resistor am I correct?
StartI2C();
setI2CAddress(0x50);
clearScreen();
setCursorPos(1, 1);
blinkOn();
writeChar('a');
StopI2C();
In Revision 1 there is no problem it clears the screen writes char 'a' on the screen to the top left spot and blinking cursor appears. However in Revision 2 lcd module, it just clears the screen and there is neither a blinking cursor nor char 'a' on the screen.
Like I said before I just soldered two I2C jumpers with the resistors I have unmounted from 232 jumpers. And throw away third resistor am I correct?
Hi,
Yes, you only need to jumper in 2 pads and discard the 3rd 0 Ohm resistor from RS232.
I have tried your code (well, using my own code) and it worked for me: cleared screen, blinking cursor and an 'a'.
What I think you are lacking is some delays. Can you try and add about 100us between the commands?
If you are able to post scope captures, it will be nice to see the waveforms.
Thanks,
Yes, you only need to jumper in 2 pads and discard the 3rd 0 Ohm resistor from RS232.
I have tried your code (well, using my own code) and it worked for me: cleared screen, blinking cursor and an 'a'.
What I think you are lacking is some delays. Can you try and add about 100us between the commands?
If you are able to post scope captures, it will be nice to see the waveforms.
Thanks,
Raquel Malinis
Design and Development
Matrix Orbital
Design and Development
Matrix Orbital
Hi,
I'm using 204-25 rev1.23. It works great in RS232 Mode, and I would like to use it in I2C mode.
I didn't succeed in communicating with the LCD in this mode.
I removed all the jumpers, in order to adress the module with the 0x50 I2C address (in 8bits mode) and use the 0x28 address in 7bits mode (I use an Arduino with the Wire.h library).
But it doesn't work.
I'm a bit confusing about the differences between the 2 revs.
Do I need to solder some jumpers on the module to use the I2C mode as I read in this post ?
Ulass, did you make any hardware modification in order to operate the I2C mode ?
Thanks.
Globulus
I'm using 204-25 rev1.23. It works great in RS232 Mode, and I would like to use it in I2C mode.
I didn't succeed in communicating with the LCD in this mode.
I removed all the jumpers, in order to adress the module with the 0x50 I2C address (in 8bits mode) and use the 0x28 address in 7bits mode (I use an Arduino with the Wire.h library).
But it doesn't work.
I'm a bit confusing about the differences between the 2 revs.
Do I need to solder some jumpers on the module to use the I2C mode as I read in this post ?
Ulass, did you make any hardware modification in order to operate the I2C mode ?
Thanks.
Globulus
Hello Globulus,
Thanks for posting on the forum.
The 204-25 PCB Rev 1.23 has been discontinued for about 3 years now. I recommend for new designs to use the newest PCB Rev 2.0.
Back to PCB Rev 1.23: in order to get it in I2C mode with address $50, yes, take out all the jumpers. As per addressing the display though, you need not worry about the 8 bit or 7 bit addressing. Send address $50 as if you are sending data. You should see via a scope that you are sending a '0101 0000' for address, and most importantly you should see the display ACK the address with a 0 on the 9th clock pulse. Check this post out for reference.
For differences between PCB Rev 1.23 and 2.0, please see this PCN.
Thanks,
Thanks for posting on the forum.
The 204-25 PCB Rev 1.23 has been discontinued for about 3 years now. I recommend for new designs to use the newest PCB Rev 2.0.
Back to PCB Rev 1.23: in order to get it in I2C mode with address $50, yes, take out all the jumpers. As per addressing the display though, you need not worry about the 8 bit or 7 bit addressing. Send address $50 as if you are sending data. You should see via a scope that you are sending a '0101 0000' for address, and most importantly you should see the display ACK the address with a 0 on the 9th clock pulse. Check this post out for reference.
For differences between PCB Rev 1.23 and 2.0, please see this PCN.
Thanks,
Raquel Malinis
Design and Development
Matrix Orbital
Design and Development
Matrix Orbital