Menu

Using an SSD1309 GLCD Display

Help
Keith
2020-11-16
2020-11-21
  • Keith

    Keith - 2020-11-16

    I want to use a bigger display as frankly the SSD1306 is pulling my eyes out. I have found an SSD1309 which is a 2.42" display with the i2c bus connectivity. The problem is I cannot find an include file for it. Could someone tell me if it will work or am I wasting my money again?

     
    • Anobium

      Anobium - 2020-11-17

      SSD1309 2.42" - got a URL for product data/datasheet?
      Is the SSD1309 still in production?

      Let me review the data to set what the SDD1309 is first.

       
  • Keith

    Keith - 2020-11-17

    This is what they sent me as a datasheet. They are on Fleabay at https://www.ebay.co.uk/itm/2-42-inch-LCD-Display-OLED-RGB-SSD1309-12864-SPI-Serial-Port-for-Arduino-C51/152952002220?hash=item239ca656ac:g:t0wAAOSw7wFcTBjP

    Don't know who this Italian Ice Cream vendor is - Never met the guy (Arduino)

     
    • Anobium

      Anobium - 2020-11-17

      Wow. That is seriously expensive. And the operating voltage is 7v and the I/O are 3.3v.

      It is no from me.

      Look at ILI9486

       
      • stan cartwright

        stan cartwright - 2020-11-18

        True. 128x64 seems and not colour.
        But oleds look cool and seem visible any light and any angle.
        Maybe they'll be cheaper if more popular...seem from China only.
        The pdf looked complicated.
        Would it need a buffer like ssd1306? it would be big.

         
  • stan cartwright

    stan cartwright - 2020-11-18

    The SSD1306 glcd I used was I2C. monochrome.
    does it have to be oled.
    your link was to spi display and there are bigger colour displays cheaper
    but I could not find an oled like the one you suggested any cheaper.
    like ili9341 which in gcb glcd support is listed as oled but normally is led backlit.
    gcb has touch support and test pixel colour support for it.

     
  • Keith

    Keith - 2020-11-19

    I have found a ili9341 on Fleebay (eBay item number:203168244673 ) I cannot make out the connectivity pin outs, and in mentions SPI ? Will this work on my I2c bus without too much phaff on?

     
  • Anobium

    Anobium - 2020-11-19

    That will work via SPI via a voltage level shifter. You cannot use direct to the MCU unless you run the MCU at 3v3.

     
  • Keith

    Keith - 2020-11-19

    That is a bit above my pay grade Evan. I follow what you say about the MCU working at 3v3, giving it 5v will make the magic smoke escape. There is a hell of a lot of pins on the ili9341 and I don't really fancy the challenge of researching and then connection issues.

    I have seen one of William's posts where he is using a very similar display to the ili9341 on a breadboard but there appears to be far more wiring than the i2c 4 wire bus.

    There is another display available: eBay item number:303622843327 this uses the ILI9486 Driver device. It says :

    Vivid TFT Display in 65K Color.
    Touch Panel Optional.
    SPI Interface, 4 IOs only.

    Screen Size: 3.5inch
    Type: TFT
    Driver IC: ILI9488
    Resolution: 480 x 320(Pixel)
    Module Port: 4-Wire SPI Interface
    Effective Display Area(AA): about 48.96 X 73.44mm
    Mudule PCB Baseboard Size: about 56.34 x 98mm
    VCC Voltage: 3.3V-5V
    Logic IO Voltage: 3.3V(TTL)
    Power: 90mA

    Will this work on my i2c bus?

     
    • Anobium

      Anobium - 2020-11-20

      No. 3.5" 480x320 SPI Serial TFT LCD Module Display Screen Build-in Driver IC ILI9486.

      I stand to be correct. But, you may not find a large TFT LCD Module LCD Screen with I2C. I just did a search through AliExpress - no large TFT LCD Module LCD Screen with I2C. All have SPI.

      So, why do you need I2C? Why not SPI?

       
  • Keith

    Keith - 2020-11-20

    The two images shew why I need to use i2c however for the sake of knowledge what should I be looking for when selecting a display and what is different with SPI?

    Is there anyway I can convert my i2c bus talk to an SPI device?

    Last question, is there any demo code in the Library which works with an SPI display?

     
  • Anobium

    Anobium - 2020-11-20

    I think (please confirm) that you are replacing the I2C GLCD with something bigger. Now I think I get the requirement. :-)

    Yes. You could create an I2C to SPI converter. They exist as products. But, the protocol the SPI bus expects would have to protocol converted - I2C two wire to SPI 5 wire. This is doable but I do not think this exists.

    But, the SSD1306 display protocol is VERY different from any other GCLD chip. So, if you find a the SSD1306 IC driving a big screen that support I2C are you going to rewrite the firmware in your board to support the replacement GLCD ?

    But, the idea of the I2C to SPI (or one wire Serial ) protocol converter is the way to go... if you are up to it. Then, you could use any SPI or one wire Serial GLCD.

    Your thoughts?

     
  • Keith

    Keith - 2020-11-20

    Just a long shot but I have lots of these i2c to LCD adaptors wit a PCF8574T device . I use them to interface with 2 and 4 row LCD Displays.

    This is beginning to sound like a non starter or stronger glasses - field glasses !

     
  • stan cartwright

    stan cartwright - 2020-11-20

    Keith.these are spi lines

        #define GLCD_DC       DIGITAL_8         ' Data command line
        #define GLCD_CS       DIGITAL_10          ' Chip select line
        #define GLCD_RESET    DIGITAL_9         ' Reset line
    
        #define GLCD_DI       DIGITAL_12          ' Data in | MISO    - Not used therefore not really required
        #define GLCD_DO       DIGITAL_11          ' Data out | MOSI
        #define GLCD_SCK      DIGITAL_13          ' Clock Line
    

    Most ili9341 use 3,3V logic but you can get away with 10k resitors
    or run the pic at 3.3V then it's logic will run the display directly.
    The display has a solder link you bridge to let it run from 3.3V supply.
    They are cheap. 5 of the pins are for touch.
    for the display you need 5 wires for the display to work..
    well 4 really because you can wire reset high and it works.

     
  • Anobium

    Anobium - 2020-11-20

    Stan... the SSD1306 control sequence is total different to the ILI3941. The control sequence is not compatible even before the control sequence goes into the I2C communications protocol.

    It would be possible to use Great Cow BASIC to have the following:

    Source MCU sending I2C (Master) for SSD1306  GLCD
                                    |                   |
                                    | DATA              | Clock
                                    |                   |
    Converter MCU (written in Great Cow BASIC) 
    1. Initialising ILI9341 on SPI
    2. Accept I2C ( as Slave) on address 0x78 in memory
    3. Sending data/command sequences to SPI output to target ILI9341
    

    I cannot think how the Converter MCU would cater for the resolution differences.

    • SSD1306 - 128 x 64 = display ratio is 2:1
    • ILI9341 - 320 x 240 = display ratio is 1,33:1

    So, this is Converter MCU would could by some magic upscale the 128x64 to 256x128 therefore not using the full 320x240 screen but the magic would be hard to implement.


    So, now I have written all that.... we can assume the ILI9341 is not a practical solution. But, a NT7108C could be.

    NT7108C is 128x64 and 2.9inches. NO SCALE-UP!!

    Source MCU sending I2C (Master) for SSD1306  GLCD
                                    |                   |
                                    | DATA              | Clock
                                    |                   |
    Converter MCU (written in Great Cow BASIC) 
    1. Initialising NT7108C on the 8 bit bus.
    2. Accept I2C ( as Slave) on address 0x78 in memory
    3. Sending data/command sequences to the 8 bit bus output to the target NT7108C 
    

    So, a NT7108C could work.

     
  • stan cartwright

    stan cartwright - 2020-11-20

    I realise the ssd1306 is "unique". Why dose it need a 1Kb buffer?
    I was thinking before how to write the buffer to composite video.
    Anyway,Keith's board is made for ssd1306 so searching for i2c to spi converter is pointless.
    The board says clock temp module and look like a programmable pic by the clk,data,mclr.
    Where does gcb come into this? Is the board running gcb code?

     
  • Keith

    Keith - 2020-11-20

    Yes Stan, it is running a version of your's and Evans Clock code, with the TinyBootloader connections. I have also brought five I/O ports away of the board for switching purposes. I have also put a DS18B20 port and 512kB eeprom. I would like to think it is a versatile little module with a powerful 32mHz 16F18326

    That display Evan pointed me to, I already have some of these from when I upgraded the controller on our Reflow Oven.

    An added bonus is that it is pin for pin compatible with the two and four line LCD Displays from the stone age. And, And, And. (There's more.) Those PCF8574T i2c adaptors fit without any major issues. Now, it looks like the only thing I need to square the circle is some code.

    I have just taken a look in the GCB Demos and the Reference information in the i2c Solutions is an image called 'lcd_2004_back_type_10.jpg' which is exactly what I have.

    It looks like Evan has already written a demo code which I am going to try out now.

    If you think anyone would a version of module I will post it all up on the projects board. I also have the PCB's available at cost, they are SMT (SMD) but if you feel it is more than you can handle then I can supply the board fully populated.

     
  • Anobium

    Anobium - 2020-11-21

    Looks like the way to go. :-)

     
  • Keith

    Keith - 2020-11-21

    It is up and running with the code Evan wrote in 2015. The font is enormous with about 12 characters per line. It is very erratic when processing text,, doesn't seem to want to follow any set pattern when displaying text.
    To make this usable I really need to acquire a smaller Font or find out how to generate and display bitmap font characters.

     
    • Anobium

      Anobium - 2020-11-21

      Try the OLED fonts. See the Help - you just need to set the constants.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.