Has anyone got these cheap LCD's to work with arduino? (ST7735R)


LCD MISO goes to arduino MISO, MOSI to MOSI, SCK to SCK, CS to CS and there will be one signal left so connect it to any other pin. Like in Adafruit tutorial

The TFT connections are labelled SDA, SCL, CS, AO. The SD card connections are labelled MOSI, MISO, SCK, CS.

At first glance it looks like the TFT is I2C (SDA and SCL) but these actually correspond to he TFT's MOSI and SCK inputs. AO is the DC in the Adafruit tutorial.

There are two CS, but one is clearly marked inside an area labelled 'SD' while the other (TFT) is outside that area.

Hi all. I'm still confused here.

I have now connected 3 data pins as such and it is not working
Pin 10 to TFT CS
Pin 11 to TFT SDA
Pin 13 to TFT SCK

Where do I connect A0 or reset? The adafruit tutorial says "sclk = 13 and sid = 11) and pin 10 must be an output".

// You can use any (4 or) 5 pins
#define sclk 1
#define mosi 5
#define cs   6
#define dc   7
#define rst  8  // you can also connect this to the Arduino reset

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
#include <math.h>

// Option 1: use any pins but a little slower
//Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, mosi, sclk, rst);

// Option 2: must use the hardware SPI pins
// (for UNO thats sclk = 13 and sid = 11) and pin 10 must be
// an output. This is much faster - also required if you want
// to use the microSD card (see the image drawing example)
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);

Will the above work or do I have to change the #define pins, or does something in the library set it up?

Thanks!

Hi
If You want to use hardware SPI use this definition (You can change those pins)
#define cs 10
#define dc 9
#define rst 8
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);

Thanks! it is working now, I didn't have A0 connected to pin 9 :slight_smile:

I am just working on trying to get test to refresh without blanking the entire screen.

I'm trying out the following but the blank line does not appear to be printing and the variable is still getting overwritten constantly?

Just print the old text in white before printong new text :wink: works like charm

That's a good idea, so I guess you would print the old text again to overwrite it (inverted color), then set the cursor position back and print the new?

Yes exactly

thanks I will try that later :slight_smile:

One other thing, I guess this won't work in SPI mode if I want to use a Ethernet shield aswel?

Mmm hard to say I know that w5100 have problems with other devices on spi bus

It should work with other SPI Devices, as the SD card example shows.

As long as each device is assigned to it's own CS pin and the correct confit declared in the constructor or library.

As said above though, there can be issues with Wiznet 5100 based board as there is a bug with it where it doesn't release the SPI bus after use. Some shields have a fix implemented to ensure the CS is switched correctly.

I had an Ethernet shield clone that seemed to work OK alongside an nRF24L01+ transceiver on the same SPI bus, so your mileage an vary.

I just received this LCD on PCB and I think that there is no voltage level conversion ! only 10k ohm resistor on SD card lines!
So I don't think that it's safe to connect this lcd to arduino directly !

Oh really? Do all the LCD signals need to be 3.3v then? Mine has been running fine but only for a few hours I guess?

There is no information in datasheet that input are 5v tolerant (adafruit lcd board contains voltage level converter) so better asume that they need to be 3.3v logic level

oooh interesting. Did you use something on the bare LCD that you bought with no PCB?

That project runs on 3.3v see schematics and pcb in attachment :slight_smile:
Another one

pilot.zip (83.3 KB)

Attachments don't seem to be working on here at the moment :frowning: I noticed earlier but yours seems to be the same.

http://zachwiej.za.pl/pilot.zip here they are

Not working either, I'm getting a No data received page?