I posted about the All Electronics LCD-101 display in February 2018. The other day, I noticed that they were back in stock, so I decided to dust off where I last left off with the display. I had designed an I2C backpack with a contrast voltage driver for the display and modified the test Arduino code that I had to work with the backpack. The code was incomplete, so I needed to pick up where I left off, start over, or look at extending another library. I did look at the U8g2 library (https://github.com/olikraus/U8g2_Arduino) but it does not work well with the display. It may be because it is expecting the display to be 240 x 128 rather than 256 x 128.
LCD Pins
Pin No. | Symbol | Level | Function | JP2 Pin | I2C bit |
---|---|---|---|---|---|
1 | FG | 0V | Frame Ground | 1 | N/A |
2 | Vss(Gnd) | 0V | Ground | 1 | N/A |
3 | Vdd(Vcc) | +5V | Power supply voltage for logic and LCD | 2 | N/A |
4 | Vo | – | Operating voltage for LCD (variable) | N/A | N/A |
5 | /RES | H/L | Reset signal | 3 | A0 |
6 | /RD | H/L | Read signal | 4 | A1 |
7 | /WR | H/L | Write signal | 5 | A2 |
8 | /CS | H/L | Chip select signal | 6 | A3 |
9 | A0 | H/L | Data type select signal | 7 | A4 |
10 | DB0 | H/L | Display data bit 0 | 8 | B0 |
11 | DB1 | H/L | Display data bit 1 | 9 | B1 |
12 | DB2 | H/L | Display data bit 2 | 10 | B2 |
13 | DB3 | H/L | Display data bit 3 | 11 | B3 |
14 | DB4 | H/L | Display data bit 4 | 12 | B4 |
15 | DB5 | H/L | Display data bit 5 | 13 | B5 |
16 | DB6 | H/L | Display data bit 6 | 14 | B6 |
17 | DB7 | H/L | Display data bit 7 | 15 | B7 |
A0 | /CS | /WR | /RD | /RES | ||||||
---|---|---|---|---|---|---|---|---|---|---|
I2C A4 | I2C A3 | I2C A2 | I2C A1 | I2C A0 | Binary MASK | HEX | Decimal | Valid Op | Valid Result | Function/Note |
X | X | X | X | 0 | 11110 | 0x1E | 30 | OR | 11110 | Reset |
X | 0 | 0 | 0 | 1 | 01111 | 0x0F | 15 | AND | 00001 | Invalid State |
X | 0 | 1 | 1 | 1 | 01111 | 0x0F | 15 | AND | 00111 | No Operation |
X | 1 | X | X | 1 | 01001 | 0x09 | 9 | AND | 01001 | No Operation |
0 | 0 | 0 | 1 | 1 | 00011 | 0x03 | 3 | EQUAL/XOR | 00011 | Display data and parameter write |
0 | 0 | 1 | 0 | 1 | 00101 | 0x05 | 5 | EQUAL/XOR | 00101 | Status flag read |
1 | 0 | 0 | 1 | 1 | 10011 | 0x13 | 19 | EQUAL/XOR | 10011 | Command write |
1 | 0 | 1 | 0 | 1 | 10101 | 0x15 | 21 | EQUAL/XOR | 10101 | Display data and cursor address read |
A0 | /CS | /WR | /RD | /RES | Mask | Valid Result | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
A4 | A3 | A2 | A1 | A0 | Binary | HEX | Decimal | Valid Op | Binary | HEX | Decimal | Function/Note |
X | X | X | X | 0 | 11110 | 0x1E | 30 | OR | 11110 | 0x1E | 30 | Reset |
X | 0 | 0 | 0 | 1 | 01111 | 0x0F | 15 | AND | 00001 | 0x01 | 1 | Invalid State |
X | 0 | 1 | 1 | 1 | 01111 | 0x0F | 15 | AND | 00111 | 0x07 | 7 | No Operation |
X | 1 | X | X | 1 | 01001 | 0x09 | 9 | AND | 01001 | 0x09 | 9 | No Operation |
0 | 0 | 0 | 1 | 1 | 00011 | 0x03 | 3 | EQUAL/XOR | 00011 | 0x03 | 3 | Display data and parameter write |
0 | 0 | 1 | 0 | 1 | 00101 | 0x05 | 5 | EQUAL/XOR | 00101 | 0x05 | 5 | Status flag read |
1 | 0 | 0 | 1 | 1 | 10011 | 0x13 | 19 | EQUAL/XOR | 10011 | 0x13 | 19 | Command write |
1 | 0 | 1 | 0 | 1 | 10101 | 0x15 | 21 | EQUAL/XOR | 10101 | 0x15 | 21 | Display data and cursor address read |
12 June 2022 Update
I had a question about this display, so I have updated the GitLab repository at https://gitlab.com/richteel/LCD-101/ to include the I2C Backpack that I designed for the LCD with a negative charge pump for the contrast and I2C or SPI interface for Arduino and Raspberry Pi. You may order the black PCB from Oshpark at https://oshpark.com/shared_projects/LwLCCjaW.
The schematic for the backpack is in the LCD-101/LCD-101 2020/I2C Backpack folder and is named I2C Backpack.pdf.
You must log in to post a comment.