2.4" transflective display with SPI and ST7789V controller

Hi guys,

I try to get a combination of Teensy 3.2 board and a TFT from DAS Technology (chinese manufacturer) run. The display has a ST7789V controller and only 3wire SPI is available as an interface.

Did anyone has experience with this comibnation? I find libraries for ST7789 (thanks David), but with 8bit parrallel interface or many libraries for SPI, but not for this TFT controller.

The TFT is a 2.4" transflective display for outdoor use, with 320 x 240 pixel. Data sheet of the dispplay attached.


DT24032024-55.PDF (482 KB)

Seriously. Why did you get this device?

The interface seems to say: NOTE:1.IM0~3=1011 (which is 80-9bit parallel I/F Ⅱ DB[17:9])

Elsewhere it implies 3-line SPI: e.g. IM = 0b0101 which is 3-line 9bit serial I/F SDA: in/out e.g. IM = 0b1101 which is 3-line 9bit serial I/F Ⅱ SDA: in/ SDO: out

Any of these interfaces is painful for an AVR. Probably possible with Teensy.

Of course, the IM0~3=1011 might mean bit#0=1, bit#1=0, bit#2=1, bit#3=1 i.e. 3-line 9bit serial I/F Ⅱ

How many products are you intending to make? I don't feel very keen on wasting several hours for a one-off that is never used.


Hi David,

I agree with you. I got this display cause I thought "well, let's compete this transflective display against my newhaven transmissive display with 1.000 cd in the sunlight and decide later, what display I'll chose".

I was not expecting so much trouble, connecting this display to a Teensy board. I guess, I'll not build more than five pcs. if some friends will ask me to do so...

Thanks Peter

So you own one display. Have you seen it working at any time?

How have you wired it to your Teensy3.2? i.e. Arduino Digital#s. (or Port pin name)


I might be interested in this display. Could you provide a link to where you got it? Thanks.

@David: I have 5 pcs. of this display at my hand. I havn't seen one of them working. As I noticed my mistake, wiring it as a 8 bit parallel, I started searching for a library support SPI and ST7789. There is a precursor of this display, named DT24032024-50. This display has an ILI9325C controller AND pins IM0 to IM3 routed to the fpc cable. So I planned with this display, but when I ordered, I got the info "Oh, sorry. We don't make this TFT anymore. We have an successor DT24032024-55. So I ordered this but wasn't aware that the successor offers SPI only and has another controller...

@ZingglM: I bought this TFT directly from DAS Technology. You can get my 5 pcs with two breakout boards if you want. I don't want to make profit. I paid USD76 without shipping from China to Germany. If you give me 100 Euros + shipping to you, I'll be more than happy to give you the 5 pcs....

Thanks Peter

Ah-ha. If you have 5 of these displays, it is worthwhile getting them going.

If and when I finish what I intended to do last night, I will put a project on GitHub.

I have just realised that I can configure an ILI9488 in 3-wire SPI. And my shield can connect directly to a Teensy3.2 (or more likely an STM32L476) The pixel write sequence is different to your ST7789 but at least I am not completely in the dark.

I hope that you have a display hooked up to your Teensy3.2 for testing.


Hi David,

that sounds great. Of course, I can hookup the display to the Teensy for testing...

Thanks Peter


Thank you for the offer. My interest is for learning and because we see repeatedly questions for sunlight readable displays in this forum. So my interest is more for displays that are easily available. I did not find DAS Technology or their website.

I am happy that David will provide a solution, so this will be available to all interested users.

If you have one spare that you could send me, you could send me a personal message with the price including postage and pay destination, and I send the money, thank you.


I resurrect this thread for a question.
I’ve found another TFT claiming “Interface: 3-wire SPI”.

David made any progress in adjusting the libs for such type of displays?

I bought this 240x240 display from Ebay.

It does not have a /CS pin. This makes the interface a little awkward.

There are two libraries that are available through the Library Manager. Arduino_ST7789 Adafruit_ST7735_and_ST7789

Your module has a /CS pin. So it should work out of the box. With either SPI mode#0 or mode#3

My module does not have a /CS pin. This means it only works with SPI mode#3.

I have an unofficial library on GitHub. It does not read GRAM at the moment.


Hi david,

so why they write "3-wire SPI?" There is some missing pin that I didn't notice in the their pin-list?

Just for curiosity: why you don't buy one of the ST7789-1.3" listed here?

I already have bought the one from Ebay.

Most TFT controllers have different interfaces. e.g. 3-wire SPI, 4-wire SPI, ...

It is a little confusing. 3-wire tends to mean SDI, SDO, SCK. 4-wire means SDI, SDO, SCK, DC. Of course the /CS pin is an "extra" wire.

Note that SDI, SDO can be combined on a single bidirectional pin called SDA. (do not confuse with I2C)

I have an ILI9481 display with SDA, SCK (and CS). Commands and Data are sent as 9-bit SPI. And reads are 8-bit on the bidirectional SDA pin.

Your common ST7735 modules are SDA, SCK, DC (and CS). Commands are 8-bit SPI, Reads are 8-bit on the bidirectional SDA pin. Life is much easier with the DC pin.

AVR hardware can not do bidirectional SPI on one SDA pin. Most ARM hardware can do bidirectional SPI on one SDA pin. Most microcontrollers can only do 8-bit SPI.

A recent thread had 9-bit SPI on a single bidirectional SDA pin. I think it was ST7789.