How to reduce the number of wires to a TFT display?


I'm using a 1.44" TFT display by Adafruit with satisfaction. Question is: there is no other alternative to that bunch of wires running from Arduino to the display?

Accordingly to this Adafruit tutorial one has to use 7 wires (8 wires if you want to control the backlight too). I would like to know if there is on the market some kind of "tiny" board that can drive the TFT by using less wires.

p.s: Please, don't laugh but I'm seriously thinking to a second Arduino Pro Mini placed under the display and communicating via SPI with the first one by using the simple Wire library... I'm crazy?

There are PCF8547 port expanders. They will allow you to control 8 extra wires, using 2 power lines, and 2 datalines. They are well known to the 1602 and 2004 character LCD's. You'll have to adopt the libraries available to use them with your product if there isn't a suiting library available yet. You might loose some speed by using this, but perhaps that can be overcome by controlling the contents of the screen in a smart and efficient way.

You aren't crazy because of that idea. Something like that has been done before, and similar solutions are available commercially.

Any SPI device is going to use 4 wires for the interface plus VCC and GND. Displays often have a separate data/instruction line. 7 wires in all.

The controller chips can often use 16 bit or 8 bit paraļlel, SPI, I2C, ... However modules seldom make the different modes available to the user.

You sacrifice speed for ease of use. Mind you, a 1.44" display is pretty small. So I2C is not unreasonable. There are intelligent controllers that can do simple graphics. Then the I2C bus speed is less of an issue.

If you want to use an I2C bus expander for a colour TFT, you will be horrified by the performance.

Thanks guys for your posts.

The PCF8547-port-expander solution is intriguing (I’ve also found the a 16 bit component, wow!) but I’m bit confused by the software part. I mean…, at the moment I’m using the graphics libraries developed by Adafruit itself so I should introduce big changes in their code to “convince” the library in using the two SPI pins in place of the 7 pins used before. This is a big effort!

do you mean that I will see everything drawn slowly on the TFT? I mean… If I want to fill a 20x10 pixels rectangle I will see it clearly filled line by line? :slightly_frowning_face:

gimpo: This is a big effort!

What do you expect ? Would it be real easy to do this without any trouble ? Why wouldn't that be already in the product then.

If you decide to do it, keep us informed (keep us informed of whatever you come up with).

If you decide to do it, keep us informed (keep us informed of whatever you come up with).

At the moment the idea of using two communicating Arduino seems the one more attractive to me.