4” TFT Analog-GPS clock on Arduino
Every electronic hobbyist dreams to display his work on display – be it LCD, GLCD (64*128), OLED or TFT . LCDs are the oldest type of displays. If putting your work on LCD or GLCD is great then putting it on OLED is certainly greater but nothing can be compared when you can put your hard work to display on a 4” TFT display. From one end to the other end it's 480*360 pixel to put up with and it's very very impressive.
The latest Chinese TFT displays are very cheap and works perfectly with Arduino & Raspberry Pi. The TFT ILI9488 display costs about $8 on aliexpress.com. There are two varieties available one with 26 pins 13*2 DIL and the other is with pins aligned exactly to sit on an UNO board.
Raspberry Pi style – Good for making compact design. Like my Tambola on Arduino game.
Pic-1: Raspi type display
Pic-2: Raspi type pin position
Pic-3: Arduino type display
Arduino style – Directly sits exactly on an Arduino UNO board. The major disadvantage is that once it sits on an UNO board one can hardly use any other GPIO pins for other usages. Both these styles I've used for creating art works on Arduino & Raspberry Pi. The Arduino type has an extra SDCard attached and gets connected to the SPI (D-10,11,12,13) pins when inserted.
Hurdles: The main hurdles that I faced with these type of displays is that they are not common and all are made by mcufrends.com. Fortunately the mcufriends.com itself has made and freely distributed the MCUFRIEND_kbd.h header files which works out of the box for these displays and many other type of similar displays. The other header file that are required for this displays are Adafruit_GFX.h [both these header files are added in the archieve]
Pin connections of the TFT shield:
While the pin connections of the Arduino type is pretty clear and straight forward the same on Raspberry Pi type is not clear at all. However, here's my hard work for you to make your life easy ! [See the connection diagram for both the types]
TFT Pin (Arduino UNO type shield)
[ 3.5” TFT display ]Arduino Pin
RD -> A0
RS -> A2
3.3 volt ->3.3 volt
Gnd -> Gnd
5 volt ->5 Volt
While the Arduino type shield is fairly easy to connect but difficult to attach other devices , the Raspberry Pi type shield is little difficult to find out the pin details but it has extremely easy & compact interface while fitted up . Here's the 26 pin DIL pin details which will go to the same pins of Arduino.
Raspberry Pi type Shield (pin detail)
These shields are basically for 3.3 volt operations. But upto 5 volt it works , However, prolong operation on 5 volt is not recommended as it gets heated up profusely. In case you want to free some other Arduino pins then you look into the mcufriend_shield.h file and re-write the connections as I shifted some connections to alternate pins.
*The Arduino UNO type shield comes with an SPI connected SDCard too.
Construction: The possibilities are limitless when you can tie up the display so easily. Here's a GPS ana-digital clock with temperature indicator built with the following Bill Of Materials.
01. 3.5” TFT display – (mcufriend.com): $8
02. Arduino UNO (clone) - $3
03. GPS receiver - $9
04. LM35/TMP36 - - $1
The connections are easy as shown in the schematic diagrams. Since all the top portion of the UNO is covered by the TFT shield, the connections for the LM-35, GPS receiver is taken from the bottom side of the UNO shield.
Software: This is real fun ! With small strokes of code the TFT behaves differently and opens up many different ways of displaying the output. Creating a thick line, making the hands move smoothly was real challenge as the Adafruit_GFX is not so much developed but a look back to the high school trigonometry is all that you need to make it all happen for you.
Operation: The present GPS receivers which have a built in patch antenna on top ,can locate the LEO GPS satellite very easily if you have your windows are open or glass covered. The moment it locates 2 such satellites ,the time starts ticking on the analog dial. At the same time the time is shown digitally on the right side with the temperature display at the bottom. For temperature sensor I've used a TMP36 sensor which works on 3.3 volt. However, an LM35 can also be used but you have to have 5volt supply for that.
Find a small video here:
- Labs project
4” TFT Analog-GPS clock on Arduino
May 31, 2016
Read the full post
- arduino_clock.zip (3.32 KB )Program sketch
- display-arduino.doc (33 KB )
- header_files.zip (301.74 KB )
- A small video of the display while in operation
- Small video (3.2 MB )Another small video of the display while in operation