Hi!
I have just got an Adafruit 1.14'' 240x135 TFT display working on a Teensy 4.1 using the T3/4 optimised library. Thanks team for the easy examples! It still took me 2 days to get it working, but it turned out I just had a faulty Adafruit display.
My goal is to be able to drive 3 of these ST7789 displays from the same Teensy 4.1, which I understand is doable from KurtE's example in the ST7789_t3 repo, using one display per SPI buss. The catch is I also want to use the on-board SD card reader for loading some data into memory and also loading some bitmaps for the displays here and there. Given that the SPI2 buss on Teensy 4.1 is already taken up by the on-board SD card reader, I am hoping someone can offer some advice on how I might achieve my goal? I'm new to this but my current thinking is that my options might be:
1) Share the SPI2 buss between the SD card and the third display. Can this be achieved by just using a separate CS pin for the display?
2) Drive two of the displays from SPI or SPI1, then leave the SPI2 buss alone for the SD card. If I run two instances of the ST7789_t3 object with the same MOSI/SCLK pins but differing CS/DC/RST pins, will that work or will it conflict somehow?
3) Run some kind of purely bit-banging SPI on any random digital pins for one of the devices?
Does anyone have any thoughts on whether one of these strategies might work, or reasons why one or more can be ruled out, or perhaps another even better option? I am aware there are going to be speed considerations with sharing SPI busses for two devices. The displays will generally just be holding static images for a while, not constantly updating, so I'm not too concerned. The processor will be doing almost nothing else.
Thanks in advance for your thoughts!
- Josh
I have just got an Adafruit 1.14'' 240x135 TFT display working on a Teensy 4.1 using the T3/4 optimised library. Thanks team for the easy examples! It still took me 2 days to get it working, but it turned out I just had a faulty Adafruit display.
My goal is to be able to drive 3 of these ST7789 displays from the same Teensy 4.1, which I understand is doable from KurtE's example in the ST7789_t3 repo, using one display per SPI buss. The catch is I also want to use the on-board SD card reader for loading some data into memory and also loading some bitmaps for the displays here and there. Given that the SPI2 buss on Teensy 4.1 is already taken up by the on-board SD card reader, I am hoping someone can offer some advice on how I might achieve my goal? I'm new to this but my current thinking is that my options might be:
1) Share the SPI2 buss between the SD card and the third display. Can this be achieved by just using a separate CS pin for the display?
2) Drive two of the displays from SPI or SPI1, then leave the SPI2 buss alone for the SD card. If I run two instances of the ST7789_t3 object with the same MOSI/SCLK pins but differing CS/DC/RST pins, will that work or will it conflict somehow?
3) Run some kind of purely bit-banging SPI on any random digital pins for one of the devices?
Does anyone have any thoughts on whether one of these strategies might work, or reasons why one or more can be ruled out, or perhaps another even better option? I am aware there are going to be speed considerations with sharing SPI busses for two devices. The displays will generally just be holding static images for a while, not constantly updating, so I'm not too concerned. The processor will be doing almost nothing else.
Thanks in advance for your thoughts!
- Josh
Last edited: