NEW PRODUCT – RA8875 Driver Board for 40-pin TFT Touch Displays – 480×800 Max – Have you gazed longingly at large TFT displays – you know what I’m talking about here, 4″, 5″ or 7″ TFTs with up to 800×480 pixels. Then you look at your Arduino. You love your Arduino (you really do!) but there’s no way it can control a display like that, one that requires 60Hz refresh and 4 MHz pixel clocking. Heck, it doesn’t even have enough pins. I suppose you could move to ARM core processors with TTL display drivers built in but you’ve already got all these shields working and anyways you like small micros you’ve got.
What if I told you there was a driver chip that could fulfill those longings? A chip that can control up to 800×480 displays, and heck, a resistive touchscreen as well. All you need to give up is 5 or so SPI pins. Would you even believe me? Well, sit down because this product may shock you.
The RA8875 is a powerful TFT driver chip. It is a perfect match for any chip that wants to draw on a big TFT screen but doesn’t quite have the oomph (whether it be hardware or speed). Inside is 768KB of RAM, so it can buffer the display (and depending on the screen size also have double overlaying). The interface is SPI with a very basic register read/write method of communication (no strange and convoluted packets). The chip has a range of hardware-accelerated shapes such as lines, rectangles, triangles, ellipses, built in and round-rects. There is also a built in English/European font set (see the datasheet section 7-4-1 for the font table) This makes it possible to draw fast even over SPI.
The RA8875 can also handle standard 4-wire resistive touchscreens over the same SPI interface to save you pins. There’s an IRQ pin that you can use to help manage touch interrupts. The touchscreen handler isn’t the most precise driver we’ve used, so we broke out the X/Y pins so you can connect them up to something like the STMPE610 which is a very classy touchscreen controller.
On the PCB we have the main chip, level shifting so you can use safely with 3-5V logic. There is also a 3V regulator to provide clean power to the chip and the display. For the backlight, we put a constant-current booster that can provide 25mA or 50mA at up to 24V. The connector to the screen is a classic ’40 pin’ connector. All the 40-pin TFT’s in the Adafruit shop are known to work well. There are other 40-pin displays that have different pinouts or backlight management and these may not work – they may even damage the driver or TFT if the boost converter pushes 24V into the display logic pins! For that reason, we only recommend the displays we’ve tested and sell here.
To get you started we’ve written a graphics library that handles the basic interfacing, drawing and reading functions. Download the Adafruit RA8875 library from github and install as described in our tutorial. Connect a 40 pin TFT to the FPC port and wire up the SPI interface to an Arduino as described in the example code. Once started you’ll be able to see the graphic/text demo and then touch the screen to ‘paint’. For more advanced details on what the RA8875 can do (and it can do a lot) check the datasheet.
Each order comes with an assembled, tested RA8875 breakout and a stick of header. You’ll also need to purchase a 40-pin TFT screen. We currently have 4.3″ and 5.0″ screens available (see below).
NEW PRODUCTS – 4.3″ 480×272 & 5.0″ 800×480 40-pin TFT Displays with Touchscreen – These 4.3″ and 5.0″ TFT screen have lots of pixels (the 4.3″ has 480×272 and the 5.0″ has 800×480 to be exact) an LED backlight and a resistive touchscreen overlay. They’re great for when you need a lot of space for graphics or a user interface. These screens are commonly seen in consumer electronics, such as miniature TV’s, GPS’s, handheld games car displays, etc. A 40-pin connector has 8 red, 8 green, and 8 blue parallel pins, for 24 bit color capability.
These are “raw pixel-dot-clock” displays and do not have an SPI/parallel type controller or any kind of RAM. The displays are supposed to be constantly refreshed, at 60Hz, with a pixel clock, V sync, H sync, etc. There are some high end processors such as that used in the BeagleBone that can natively support such RGB TTL displays. However, it is extremely rare for a small microcontroller to support it, as you need dedicated hardware or a very fast processor such as an FPGA. Not only that, but the backlight requires a constant-current mode boost converter that can go as high as 24V instead of our other small displays that can run the backlight off of 5V.
For that reason, we are carrying these only as a companion to the Adafruit RA8875 driver board in the store, which is a chip that can handle the huge video RAM and timing requirements, all in the background. That’s the best way to interface these displays to just about any microcontroller (including Arduino & friends). If you are an advanced electronics enthusiast you can try wiring these directly to your processor, but we don’t have any support or tutorials for that purpose.