Introduction: Assembling an Arduino Nano / LCD Projects Platform

The "Arduino Nano / 1.8" TFT LCD Projects Platform" consists of a 3D printed case that wraps a custom designed PCB on which is mounted an Arduino Nano, a 1.8" TFT LCD with an SD Card Reader, and three push buttons which are exposed to the front of the enclosure.

This instructable describes the building of this kit as well as covering some aspects of the software that could be developed for the platform.

This kit is intended for someone that already has an Arduino based project in mind or underway that can benefit from a compact and flexible package that provides a small LCD, a user input capability, an SD Card Reader, and access to the Arduino's pins (of course). It could also serve as a platform for a new Arduino user to experiment with the LCD display and SD functionality. The PCB is designed such that headers can be used to access all of the pins of the Arduino Nano for jumpers. Alternatively the solder points for the header can be used to directly connect leads. The enclosure is designed to allow for either a six pin header through the case or the void for that header can be used for a ribbon cable. There is also a port for a power connector. There is a sketch available (presented later by this instructable) that demonstrates the use of the TFT LCD, the SD Card Reader, the three buttons connected to a single analog pin, and a Temperature Sensor that is provided with the kit for purposes of this example (as well as to illustrate general capabilities of the enclosure).

Step 1: Gather the Needed Parts

Picture of Gather the Needed Parts
  1. Two layer Printed CIrcuit Board (PCB)
  2. 1.8" TFT LCD with SD Card Reader/Writer
  3. Power Socket
  4. Arduino Nano
  5. Pushbuttons
  6. TFT LCD Backlight Jumper
  7. Six Pin Header (can be used to exposing connections through the case)
  8. DHT-11 Temperature/Humidity Sensor (for demonstration project)
  9. Three Connector Patch Cable (for demonstration project)
  10. Four Sixteen Pin Headers (once broken into pieces, used to mount the Arduino Nano and/or to expose its pins)
  11. Resistors for three buttons on an analog pin
  12. Back of 3D Printed Case
  13. Front of 3D Printed Case
  14. Screws for Case
  15. Nano Reset Button Extender

This project can be purchased on eBay (UK) as a complete kit including the case. Alternatively the electronic parts are also available less the case. Find them by searching for "Arduino Nano / 1.8" TFT LCD Projects Enclosure". The case is available for printing on Thingiverse.

If you choose not to purchase the electronic parts via the above mentioned kit you can search for each part using the below terms:

ITEM --- Search Terms for Items Purchased from eBay

  • 1.8" TFT LCD with SD Card Reader --- 1.8" Serial SPI TFT LCD Display Module +128X160 PCB Adapter Power IC SD Socket
  • Power Socket --- 2.1mm x 5.5mm Round Panel Chasis Mount Female Socket DC Connector Jack Plug
  • Arduino Nano --- USB Nano V3.0 ATmega328P 5V 16M Micro-controller Board For Arduino
  • Pushbuttons --- Quality Momentary Tactile Push Button Switch SPST Miniature/Mini/Micro/Small PCB
  • Six Pin Header --- Stackable Si Pin Header for Arduino
  • Breakable Headers --- Gold Breakable 40 Pin Header Male Female 2.54mm Socket Connector Way SIL Single
  • Resistors --- 0.25W Carbon Film Resistor 10kΩ
  • DHT-11 ---- DHT11 Digital Humidity & Temperature Sensor
  • Screws for Case ---- Stainless Steel No2 x 1/2" Pozi Countersunk Self Tapping Screws M2.2 x 13mm
  • Backlight Jumper ---- 2.54mm Circuit Board Shunts Short Jumper Cap
  • Connector Patch Cable ---- Male to Female Jumper Wire Ribbon Cable Pi Pic Breadboard Arduino

NOTES

  • The "Breakable Headers" are used as the source for the four 16 pin headers for the Arduino -AND- for the three pin Backlight Jumper (female for the former and male for the latter).
  • There are a number of different 1.8" TFT LCD modules out there. The only one that fits the PCB and case are the ones marked with "HY-1.8 SPI" below the display.

Step 2: Cut the Header Strips to the Sizes Needed

Cut the header strips (10) into four segments of 15 pins each. It is easy to cut these strips to size using a small wire cutter. Simply position the jaws of the wire clipper over the pin where the cut is to be made (e.g. 16th pin from end in this case) and squeeze. The cut should be pretty even as it will follow the cavity where the pin was installed.

Step 3: Solder Headers for the Nano

Picture of Solder Headers for the Nano

Carefully solder the four header strips from above to the front of the PCB (side with labels). Make sure that the header strips are flush with the PCB and that the Nano will fit into the inner two strips (see image).

Double check that all the contacts have been cleanly and neatly soldered as the display module will cover these solder points once it is installed!!! Continuity test with a volt ohm meter would be a good thing.

Step 4: Connect 5V Power Plug

Picture of Connect 5V Power Plug

If you are planning on using the 5v power plug (3) then a two pair wire (not provided) should be soldered to the front of the board at this time as the solder points for the power plug will also be covered by the LCD once it has been installed. Note that the power plug can actually be installed after the fact but the ideal case is to do it now.

Step 5: Install LCD Backlight Option Jumper

Picture of Install LCD Backlight Option Jumper

Install the three pin jumper (6) for the LCD power option. The default is to have the jumper on the PWM side but if you need every PWM pin then you can drive the backlight from the 5v power (though without brightness control).

Step 6: Install the TFT LCD, Pushbuttons, and Pushbutton Resistors

Picture of Install the TFT LCD, Pushbuttons, and Pushbutton Resistors

The TFT LCD (2) module should have electrical tape covering the metal underside of the SD card slot. Do not remove this! If the electrical tape is missing then it should be replaced before proceeding as contact between the pins coming through the PCB and the metal SD card slot is bad!

Install the LCD (2) and the three push buttons (5) on the reverse side of the PCB from the headers. Make sure these items are mounted flush to the board and that the buttons are perpendicular to the PCB surface. The bends on the button contacts should be facing long ways relative to the PCBs long dimension (see image). It is important that these buttons be mounted at the same heights so the protroud evenly from the case!

Finally, on the other side of the board from the LCD and the pushbuttons, there are spots where four 10k resistors should be mounted. More about this later but these resistors create a three legged voltage divider, that in tandem with the pushbuttons, allow one input on the Nano to be used for three buttons.

Step 7: Insert PCB Into Case

Picture of Insert PCB Into Case

The PCB can now be inserted into the front of the 3D printed case (13) with the two wires for the power socket exposed through the power socket hole and soldered to the socket (if you are using said socket).

If you are planning on using the six pin header (7) to expose pins to the outside of the case it should be mounted now (a little epoxy does the trick). The left most pin of this header, when looking from the outside of the case, can be bent down and soldered to the PCB ground connector.

Step 8: Attach the Back of the Case

Picture of Attach the Back of the Case

The back of the case can now be attached using the four screws (14). The posts on the back of the case (12) should firmly press the PCB against the front of the case. The reset button extender (15) can be used to make it easier to reset the Nano though this has the disadvantage of making an accidental reset possible

Step 9: Setting Up the Hardware for the Demo Sketch

Picture of Setting Up the Hardware for the Demo Sketch

Once assembled all pins of the Nano are available via the two headers. Note, however, that a number of pins are used by various functions! The pins that are available without caveat are D2, D3, D6, and D7 as well as pins A1 to A7. The serial port pins, D0/Rx and D1/Tx are also available. D5 can be available if you use jumper the Backlight to use constant 5v lighting rather than variable PWM lighting from pin D5. Pins D4 and D12 can also be available but only if the SD Card functionality is sacrificed.

Our demo, using the DHT-11 temperature and humidity sensor, only requires a single input. As shown in the picture I used half of a micro breadboard for the DHT-11 and so was able to mount it within the case. The data line from the sensor runs to D3 and the power line to the 5V and Ground pins on the exposed header.

Equally, patch wires could have been run from the above three pins, to the header that exposes stuff to the world outside of the case.

Step 10: Overview of the Demo Sketch

The demo sketch illustrates the use of the TFT LCD, the SD Card Reader, the three buttons connected to a single analog pin, and a Temperature Sensor that is provided with the kit for purposes of this example (as well as to illustrate general capabilities of the enclosure).

The program displays a menu that allows for selection of four functions:

  • Display Current Temperature and Humidity
  • Display Historical Graph
  • Adjust Backlight (with setting saved to EEProm Memory)
  • Close Log File and Stop

Note that this is a pretty large sketch and that it consumes 97% of the Nano's memory. This is probably (at least partially) due to coding techniques that could be improved, however, more memory can be made available if the bootloader is deleted from the Nano with programming of the Nano then done via the ICSP pins which are exposed through the enclosure. This gets 2K back but is an advanced topic!

Please see the "mouse-over" comments on each of the code snippet screen shots that follow for a brief overview of the functioning of the EEProm memory, SD card, TFT display, buttons, and the DHT-11 temperature sensor.

Step 11: Code Snippets for the SD Card

Picture of Code Snippets for the SD Card

Please see the "mouse over" commentary above.

Step 12: Code Snippets for the LCD Display

Picture of Code Snippets for the LCD Display

Please see the "mouse over" commentary above.

The Adafruit page that presents the graphics library can be found here. A PDF reference for the library can be found here.

Step 13: Code Snippets for the Buttons

Picture of Code Snippets for the Buttons

Please see the "mouse over" commentary above.

Step 14: Code Snippets for the DHT-11 Sensor

Picture of Code Snippets for the DHT-11 Sensor

Please see the "mouse over" commentary above.

Step 15: Code Snippets for the EEProm

Picture of Code Snippets for the EEProm

Please see the "mouse over" commentary above.

Step 16: Where to Buy Stuff

The individual electronic parts for this kit are all available from eBay and can be found using the search terms from Page 1 of this Instructable.

The 3D Printable Case for the kit can be downloaded from Thingiverse.

The printed circuit board (PCB) is available on eBay as are a complete kit, including PCB and the case, and a kit that includes everything but the case (assuming you will print that yourself).

Comments

maxwellmoojw (author)2016-03-13

Well done

akshay.d21 (author)2015-08-18

What a superbbbb Instrctable ! :)
Thanks for sharing.

Could you help me with one part of your Instructable ? I am trying to make a heart rate monitor with display. A display just like yours, but modifications like Current Heart rate and a log of heart rate measured every 2 / 5 minutes.

Can you help me with the programming part of LCD and SD card data logging. ?

thanks ! :)

WisarUK (author)akshay.d212015-08-18

akshay:

It sounds like you just need to change the input and basically you can use the code that I provide as an example. I am not sure what more that I can tell you. If you have a specific question I will try to help.

Will

vovani (author)2015-07-21

Hi! How are connected by buttons?

WisarUK (author)vovani2015-07-21

Sorry, but I am not sure that I understand your question. The buttons are connected to Analog Pin 0. The code to access them is shown on page 13. Please help me to understand what you are asking?

jckelley (author)2015-05-18

Very well done!

About This Instructable

10,741views

119favorites

License:

Bio: I design, and occaisionally even implement, solutions that exploit single board micro-processors crossing the physical interface between the computer and the real world. Chosen platforms ... More »
More by WisarUK:Instrumenting a 3D Printer (or Whatever)Tumbling Polisher for 3D Metalfill PrintsBuilding a Raspberry Pi Zero PoV Wireless Camera
Add instructable to: