Go Down

Topic: 2 TFT displays in arduino (Read 1 time) previous topic - next topic


It is possible to use two TFT displays like this http://www.adafruit.com/products/358
in an arduino using the high speed SPI in both?


I wondered about doing this. The SPI is simple enough and it is probably just a matter of addressing individual CS pins for the displays. I have not pursued this as, with the Mega 2560, it is simpler and cheaper to use a single screen that is a lot larger. 


Well I was searching for a large screen, but I did not find it. Using a mux do you think it will work?

Thanks for the reply.


Dec 17, 2012, 01:03 am Last Edit: Dec 17, 2012, 01:05 am by NickPyner Reason: 1
I can only speculate, I'm a newbie. If, by mux, you mean additional hardware, I would need a lot of convincing. I'm sure the Arduino can mux  by itself.  Chip selection against a clock should be all you need.  I am looking at the Sainsmart 3.2" 320x240 TFT here


It is for a Mega. I have seen it advertised for UNO too, but I don't believe it. Even for UNO, I'm sure there are better alternatives than two Adafruits.
And don't be fooled by the larger-than-life pictures either. The screens are what they say they are - 1.8" diagonal. That is really small. I don't know what you want to do but you might try using 2x Nokia 5110s as a test. They are dirt cheap and the same size. They are good for six lines of text.

I am expecting a second 5110, and you have inspired me to try running a pair of them - with different data!


It is possible to use two TFT displays like this http://www.adafruit.com/products/358
in an arduino using the high speed SPI in both?

It ought to - you have identical devices so the SPI mode is guaranteed to be identical - just use two different pins for the CS I think.  But
read the documentation carefully to check it really does do the right thing (ie totally ignore all other pins with relevant CS is high).
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


I read about SPI pins in Arduino UNO and I found this in the Arduinio page

When a device's Slave Select pin is low, it communicates with the master. When it's high, it ignores the master. This allows you to have multiple SPI devices sharing the same MISO, MOSI, and CLK lines.

But if I share the same lines I could control the displays separately?

Has someone tried to do this?


I think you are missing that an SPI device uses four lines. Typically MISO, MOSI and CLK are the SPI bus lines on, say, pins 11,12,13 but the select CE is a separate pin and can be anything. The whole intention with SPI is that you do just that - share the same lines.  Just make sure you don't share the same CE pin, particularly if you want different information on each screen simultaneously.   

The matter may have been further confusing in that you are not likely to be using MISO with a display, hence three lines only, but the CE is still separate.

Further, at the risk of more confusion, you probably have no actual obligation to use the SPI bus anyway, but it probably makes more sense that you do.

I suspect that running two screens is only a matter of ensuring the CEs are properly organised, i.e. all-software, and the main problem with this is that finding somebody that already done this might be hard.


I will research more, thanks for your replies.

Go Up