in reply to ST7789V2 LCD Controller

Some notes on connecting a display to the Raspi. The Raspi has three (or four) conventional display interfaces:

The ST7789V2 is controlled via SPI, using a custom protocol (that I seem to remember from similar displays at work). The Raspi graphics hardware won't help you with that. You could write a frame buffer driver for the Linux kernel, or a "graphics card" driver for X11 or Wayland to support this display. Or you directly write pixel from your application via SPI to the ST7789V2, like you would do on an Arduino or any other microcontroller.

<Update>

Looking at the website once more, it seems soneone actually has implemented a kernel mode framebuffer driver for that display, using several tricks (DMA, partial refresh) to get reasonable frame rates over an inadequate interface.

</Update>

Having an independent display may be useful (no bluescreen on that display), but on a Raspi, I would use DSI or HDMI. There are tons of well-tested code to handle everything to draw on a DSI or HDMI display, including 2D and 3D acceleration, font rendering, and so on. No need to reinvent the wheel.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Replies are listed 'Best First'.
Re^2: ST7789V2 LCD Controller
by Bod (Parson) on Sep 28, 2024 at 20:50 UTC
    The most obvious one is HDMI

    I'm using a RaspberryPi Zero which, unlike it's bigger brothers, doesn't have HDMI :(

    Space is a bit limited on this project, hence the Zero and a tiny display.

      "I'm using a RaspberryPi Zero which, unlike it's bigger brothers, doesn't have HDMI"

      You should read the specs of what you bought, this is wrong.

        this is wrong

        Care to explain what is wrong and why?

        The RaspberryPi and the display work together...the C demo program shows this to be the case. There are Python examples that drive the display (I haven't tried these but I've not seen lots of people complaining they don't work).

        If it can be done in Python, surely it can be done in Perl...

        Or did you mean something else is wrong? Perhaps you feel I am using the wrong language?

        BTW - I didn't set out to use this device. I was gifted one and felt it could be an interesting challenge to use it for a useful project.