Graphics LCD 2-wire serial interface

Posted on Tuesday, March 12th, 2013 in how-to, LCD, open source by the machinegeek

In this video Debraj demonstrates his 2-wire serial interface for use with a 128×64 graphics LCD. This design reduces the pin requirement from 14 to 2.

Check in at hobbydebraj for schematic and source code links.

Via the contact form.

This entry was posted on Tuesday, March 12th, 2013 at 4:02 am and is filed under how-to, LCD, open source. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

8 Responses to “Graphics LCD 2-wire serial interface”

  1. arhi says:

    I don’t get it, he’s using latching shift (595) as non-latching (164)?! Why ?! If he don’t want to latch it, using a non latching 74hc164 is cheaper if you don’t want latching to happen …

    • James says:


      I havn’t looked at his schema, but I’m assuming he’s using the a 2-wire-latched setup for a shift register. 1 wire handles data and clock, the other the latch.

      The data/clock wire is pulsed low quickly to clock in a 1, dropped low for a longer time to clock in a zero (by way of an RC time constant on the data input to the shift register, and lack of one on the clock input, thereby a short drop of the clock will still end up with a high on the data when the clock rises, while a long drop on the clock results in the data cap discharging and presenting a zero when the clock rises).

      The latch, just latches.

      You can do a 1-wire setup with clock, data and latch all controlled by different length drops on the line, short drop clocks a 1, medium drop clocks a 0, and a long drop (heh) clocks a zero AND latches to the outputs.

      Google for “Shift1” for a better explanation.

      • arhi says:

        He has STCP and SHCP (latch clock and shift clock) shorted and connected to clock line. I know how “shift1” works ( is one of my favorite sites) but he ain’t using it, he’s using 595 as 164.

  2. hardcorefs says:

    Maybe he was short of parts and used what he had for speed.
    It’s like when you get the urge to hack something and you don’t want to break the line of thought, so you end up using what you have…

  3. eLLi says:

    Debraj’s interface has the advantage to use either the 595, or 164 with just little modification to the circuit without needing to change anything on the input side.

    However, i still fail to understand how he is driving the LCD’s Enable pin reliably with the Data line. Me thinks, that the Enable pin would toggle uncontrollably while clocking bits into the shift register. Maybe Debraj is exploiting some timing characteristics of the LCD or is using some other smart trick. I don’t know…

  4. Josef van Niekerk says:


    Just the other day I asked for ways on for ways to maximize the amount of LCD displays that can be connected to a Raspberry PI or any other ARM Cortex M4 evaluation board for that matter.

    I have a STM32F4, and need to connect multiple LCD displays to the board, and this seems like an awesome solution for optimising the use of pins on an ARM MPU.

  5. Manasi says:

    hello, we’re doing a project in which we are using CD3418 IC (CVSD). we want to interface the output to FPGA kit so that we can encrypt the data. Will u pls tell me how the interfacing is possible or how to do it???

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Recent Comments

  • KH: Yeah, it's an end-user thing. Very few people would spend hundreds of hours on this kind of project and sustain it. It's more or less...
  • Max: Not quite a dinosaur if you've seen Big Hero 6 though... wait. You've watched it with your kids, didn't you? That's cheating...! ;) One of...
  • Edward Mallon: A visiting researcher dropped by our humble basement workshop with questions about the physical skill level students would need if they added one of our...
  • KH: And that looks really expensive... Only browsed the vid though, I'm an dinosaur so I had the sound off too. Nice of him to open-source...
  • Anton: I really need bus pirate!! Thanks