Menu

LCD/GLCD I2C Module based on MCP23017

Awais
2019-02-22
2019-03-08
  • Awais

    Awais - 2019-02-22

    Hi,
    Recently, I found the following module to make job easy for GLCD.

    https://www.aliexpress.com/item/MCP23017-12864-128-64-LCD-I2C-IIC-TWI-SPI-Serial-Interface-Adapter-Plate-Board-Converter-Module/32882157852.html?spm=2114.search0104.8.40.6719703cOp3JFM&transAbTest=ae803_4

    Is there any example available with GCB to use it with GLCD?

    With kind regards,
    Awais

     
    • Anobium

      Anobium - 2019-02-23

      Hi, I had spotten same module recently.

      There is no library for the module. But, it is not a huge job to write a library ( from my experience :-) )

      But, a few thoughts.
      We support MCP23017 but not to this module
      The module is an LCD and GLCD module. This is two adapations to the existing library.
      For the LCD this would be a read-only support. This may not be an issue.
      For the GLCD, assumming as KS0108 GLCD from the pinout of the port, this would have to double buffered as reading and writing via the MCP23017 will be slow. So, double bufferered will used 1k of RAM which means that the choice of microcontroller requires a minimum of 1k+user RAM needs.
      * We have i2C support for LCD via LCD 10 and LCD12. See the Help for the module.

      • As we have i2C support for LCD via LCD 10 and LCD12 to enable the LCD operation via the MCP23017 is relatively simple - and the LCD may work with no changes the existing library. Just set the i2c address and it may work.
      • As we have the KS0108 GCLD library. We would add another GLCD type (trust me this is easiest). Add the double buffering from the ILI9341, revised the INIT and add the I2C communications and it will work. About 20 hours work. The aim would be full functionality with all the GLCD primitives. I just worry about the performance.

      So, Awais... up for a challenge?

       
      • Awais

        Awais - 2019-03-04

        Hi Anobium,
        Sorry for replying late. I was busy with the job and thanks for the guidance. I don't think that I am so good in programming to accept this challenge.

        I found the following page from Nick on the same topic. Hope it will also help to someone who is ready for this challenge.

        http://www.gammon.com.au/lcd

        With kind regards,
        Awais

         
  • Anobium

    Anobium - 2019-03-04

    Excellent post. With that as a resource the job will be very simple.

    I will grab a board off eBay.

    Watch this space.

     
    • Awais

      Awais - 2019-03-05

      Good luck!

       
      • Anobium

        Anobium - 2019-03-08

        Is anyone really interested in this approach? We have two I2C LCD drivers already.

         
        • Theo

          Theo - 2019-03-08

          I'm interested in using MCP23017 or even MCP23S17 for using with a cheap 12864; for I2C and SPI.
          I ordered already 3 in the Far East.

           

          Last edit: Theo 2019-03-08
  • stan cartwright

    stan cartwright - 2019-03-08

    I thought of how to convert glcd_ILI9486L to i2c using MCP23017 as the display uses 13 pins...8 data lines.
    I thoght of changing ILI9486LSendByte, SendWord_ILI9486L and SendWord_ILI9486L to use MCP23017.
    I don't see where data is setting data lines using ILI9486L_CS, ILI9486L_DC and GLCD_SCK.
    Not an easy job.

     
    • Anobium

      Anobium - 2019-03-08

      Good points.

      The modules is for LCD and Mono KS0108 GLCDs. It would be a pointless task, as you say, for other GLCDs.

       

Log in to post a comment.