COG LCD using ST7565R driver and its interfacing with SPI to Leonardo - problems

Hello, I have Arduino Leonardo and my problem concerns SPI together with COG LCD with a ST7565R controller. It's made by AV-Display and here is the connection schematic (at the bottom of the page) Wyświetlacze graficzne znakowe LCD OLED UART MONO TFT VFD LED - Artronic OPTOELEKTRONIKA

My questions:

  1. Do I have to connect ALL the pins? I have only one device on SPI, so is it necessary to connect SS? It is problematic in Leonardo, because it doesn't have SS output pin on board, as presented here http://www.instructables.com/id/Step-by-Step-Guide-to-the-Arduino-Leonardo/?ALLSTEPS
    If it is essential to use SS - can I use any Leonardo pin to act as a SS?

  2. Am I right that A0 can be connected to any Leonardo pin? http://edeca.net/downloads/electronics/ST7565R_V17_960601.pdf page 20: "This is connect to the least significant bit of the normal MPU address bus, and it
    determines whether the data bits are data or command.
    A0 = “H”: Indicates that D0 to D7 are display data.
    A0 = “L”: Indicates that D0 to D7 are control data."

  3. RESET - on http://edeca.net/wp/electronics/the-st7565-display-controller/ it is written that "It is necessary to connect RESET to the microcontroller as the initialisation procedure involves toggling this pin. This pin should not be tied high or low or it may not be possible to reset the screen correctly."

However on a scheamtic I found on the web it is clearly drawn that RESET is connected to 3V3 by a 10k resistor and to ground by 100nF capacitor: http://gembcior.pl/wp-content/uploads/2014/09/LCD_schemat.jpg

Which approach is correct?

Thank You in advance for any help and suggestions!

  1. Do I have to connect ALL the pins? I have only one device on SPI, so is it necessary to connect SS?

Yes, but - depending on the library - it might be any GPIO pin. The CS (chip select) which should be connected to Slave Select (or any other GPIO pin) is required for the communication. It is also used to reset the communication if SPI is out of sync.

  1. Am I right that A0 can be connected to any Leonardo pin?

Yes, but for all pins: You need either a level shifter or the Leonardo must be a 3.3V version.

  1. RESET

Both approaches are fine and i would call them equivalent. Infact in many cases you even do not need the RC network and just applying 3.3V to the reset pin will also work.

How will you controll the display? You decided for a library already?

You did not wrote about level shifters. They are mandatory to come down from the 5V of the Leonardo to the 3.3V of the display. Level shifters are required for all lines, which go to the display (SPI Clock and Data, A0 and CS, optionally the reset signal)

Without level shifters you may destroy the display.

Oliver