In a previous post I used a 7″ capacitive touch display together with a ft810 graphics controller (using FTDI VM810C development board) and ESP8266 processor. This time I’ll try to run the same software using a 5″ LCD from Thaoyu (cost $38 + shipping) with a built-in FT811 graphics controller. While it’s a smaller display it cheaper and less complex to put together. You only need the display and a main processor.
The difference between FT810 and FT811 is that the latter has capacitive touch display instead of resistive. The capacitive touch controller can be configured from registers in FT811. No extra IO port is needed. I havn’t tested that out yet.
I’m now starting to get a good selection of capacitive touch graphics displays to use in various projects. This 5″ with built in graphics controller is currently the easiest to get up’n running without soldering of 0.5mm pitch pins.
The picture below shows the 5″ Graphical LCD capacitive touch screen, 800×480, SPI, FT811unit out-of-the-box. The actual LCD display is located inside a frame. On the top of the frame there is a 1mm thick “front frame” that is 12mm wide on the short side and 10mm wide on the long side. I would have prefered a thinner border.
The combination of “front frame” and rest of the frame is 8mm thick. Inclucing PCB adds 2-3mm extra. Total size is 134mm x 8mm according to the specs.
The “front frame” is fastened to the main frame with four screws. The controller PCB is screwed on the other side.
Removing the frame screws reveals the actual LCD display inside the frame. When the “front frame” is taken off, the LCD display itself is more or less flush with the frame around it. Note the plastic on top of the LCD which protects the capacitive touch overlay. The plastic should be removed before use.
The display can now be “removed” from the frame.
On the actual PCB we can se connectors for the LCD, capacitive touch overlay and connections for SPI bus and power. The touch controller is a ft5602 which I know from other projects. There is also a backlight controller and buffers for the SPI bus. The actual graphics controller FT811 is located on the other side of the PCB. More details can be found in the schematics.
I hooked up the ESP8266 to the display using the SPI interface. I used more or less the same code that I’ve used in a previous project, except some added experimental code for fetching NTP time.
Sometimes I need to power it up a few times before it starts. Might have to do with timing issues. Maybe I should control the graphics processor reset pin from a dedicated output pin on the processor.
I’m using a Wemos controller as shown in the picture below
The Wemos also power the display/controller combo. Due to the current consumption of the backlight, the voltage regulator gets hot. A “production” version of this project should probably have a separate voltage controllers for the Wemos and the display.
I’ve also verified that the capacitive multitouch works without any modifications to the library. Code is on github: https://github.com/hellange/weatherNG. The graphics library is based on a slightly modified Gameduino2 library.
The plan was that this code should serve as “basis” for a new weatherstation. It is, however, probably about time to get rid of the minified and modified Gameduino2 library and use the (new) Gameduino3 library instead.
Update jan 2018: I’ve also successfully used this screen with Arduino UNO in another project. That project also demonstrates the capacitive touch. Ref https://github.com/hellange/easysmu