elegoo tft lcd library brands

I need help understanding how the 2.8inch touch tft lcd shield works so I can modify this code to work with my brand lcd. The code I"m using is designed for a Adafruit 2.8 inch tft lcd shield. I know to change the libraries to the libraries that come with my elegoo tft lcd shield. I"m not sure how to change the code to work with the slightly different pinouts. I was able to successfully upload test codes for the elegoo lcd to make sure it"s working. The code I attached is the origianl unaltered code. If someone could help me change it to work with my elegoo lcd that"d be great.

elegoo tft lcd library brands

/*==============================================================* Created by Ing. Piero Cimule Troise* Contact Info: piero.cimule@gmail.com* IG: @skylinkCE* Weather Station Components:* ELEGO 2.8" TFT Tounch Screen Shield* Arduino Mega 2560 Board* Jumpers & Wires* DTH11 Temperture & Humidity Sensor* BreadBoard*// IMPORTANT: Elegoo_TFTLCD LIBRARY MUST BE SPECIFICALLY// CONFIGURED FOR EITHER THE TFT SHIELD OR THE BREAKOUT BOARD.*==============================================================*/// Libraries Declaration#include // Core graphics library#include // Hardware-specific library#include // Touch Screen Library//#include //Adafruit Library Sensor#include //DTH Library#include //DTH Library// The control pins for the LCD can be assigned to any digital or// analog pins...but we"ll use the analog pins as this allows us to// double up the pins with the touch screen (see the TFT paint example).#define LCD_CS A3 // Chip Select goes to Analog 3#define LCD_CD A2 // Command/Data goes to Analog 2#define LCD_WR A1 // LCD Write goes to Analog 1#define LCD_RD A0 // LCD Read goes to Analog 0#define LCD_RESET A4 // Can alternately just connect to Arduino"s reset pin// Color definitions#define BLACK 0x0000 /* 0, 0, 0 */#define NAVY 0x000F /* 0, 0, 128 */#define DARKGREEN 0x03E0 /* 0, 128, 0 */#define DARKCYAN 0x03EF /* 0, 128, 128 */#define MAROON 0x7800 /* 128, 0, 0 */#define PURPLE 0x780F /* 128, 0, 128 */#define OLIVE 0x7BE0 /* 128, 128, 0 */#define LIGHTGREY 0xC618 /* 192, 192, 192 */#define DARKGREY 0x7BEF /* 128, 128, 128 */#define BLUE 0x001F /* 0, 0, 255 */#define GREEN 0x07E0 /* 0, 255, 0 */#define CYAN 0x07FF /* 0, 255, 255 */#define RED 0xF800 /* 255, 0, 0 */#define MAGENTA 0xF81F /* 255, 0, 255 */#define YELLOW 0xFFE0 /* 255, 255, 0 */#define WHITE 0xFFFF /* 255, 255, 255 */#define ORANGE 0xFD20 /* 255, 165, 0 */#define GREENYELLOW 0xAFE5 /* 173, 255, 47 */#define PINK 0xF81F#define YP A3 // must be an analog pin, use "An" notation!#define XM A2 // must be an analog pin, use "An" notation!#define YM 9 // can be a digital pin#define XP 8 // can be a digital pin//Touch For New ILI9341 TP#define TS_MINX 120#define TS_MAXX 900#define TS_MINY 70#define TS_MAXY 920#define MINPRESSURE 10#define MAXPRESSURE 1000//Screen DeclarationElegoo_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);//TouchScreen Area DeclarationTouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);//Button object declarationElegoo_GFX_Button buttons;//Custiom Variablesuint16_t identifier; //Store Screen Identifier#define DHTPIN 52 //what pin we"re connected to DTH Sensor#define DHTTYPE DHT11 //DHT 11DHT dht(DHTPIN, DHTTYPE); //DTH Object Declaration//Variablesunsigned long startMillis; //some global variables available anywhere in the programunsigned long currentMillis;const unsigned long period = 5000; //the value is a number of millisecondsint tempUnit; //Temperature Unit "1" Celsius "2" Farenheitint currentPage; //Current Page indicator "1" First Page, "2" Second Pagevoid setup(void) {dht.begin();Serial.begin(9600);Serial.println(F("WEATHER Station"));Serial.print("TFT size is "); Serial.print(tft.width()); Serial.print("x"); Serial.println(tft.height());drawInitialScreen();// TEMP UNIT BOXtempUnit = 0; // Celsius DefaultcurrentPage = 1; // First Page DefaultdrawTempetarure(); // Draw Temperature BoxreadTempSensor(); // Read DHT11 SensorstartMillis = millis(); //initial start time}void loop() {//Start Timing to next temperature readcurrentMillis = millis();if (currentMillis - startMillis >= period){readTempSensor();startMillis = currentMillis; //IMPORTANT to save the start time of the current .}//TouchScreen DefinitionTSPoint p = ts.getPoint();//if sharing pins, you"ll need to fix the directions of the touchscreen pinspinMode(XP, OUTPUT);pinMode(XM, OUTPUT);pinMode(YP, OUTPUT);//Touch Screen Reviewif (p.z > MINPRESSURE && p.z < MAXPRESSURE) {Serial.print("PRESSURE: "); Serial.println(p.z);// scale from 0->1023 to tft.widthp.x = map(p.x, TS_MINX, TS_MAXX, tft.width(), 0);p.y = (tft.height() - map(p.y, TS_MINY, TS_MAXY, tft.height(), 0));//Print TouchScreen area seletedSerial.print("P X"); Serial.print(p.x);Serial.print("P Y"); Serial.print(p.y);if (p.x >= 145 && p.x <= 245 && p.y >= 110 && p.y <= 220 && currentPage == 1) {Serial.println("Change Temperature Unit Box"); Serial.println(tempUnit);if (tempUnit == 0) {tempUnit = 1;drawTempetarure();}else {tempUnit = 0;drawTempetarure();}readTempSensor();}else if (p.x >= 15 && p.x <= 40 && p.y >= 80 && p.y <= 220 && currentPage == 1) {Serial.println("Next Page Selected");currentPage = 2;drawDetailScreen();readTempSensor(); // Read DHT11 Sensor}else if (p.x >= 5 && p.x <= 30 && p.y >= 12 && p.y <= 55 && currentPage == 2) {Serial.println("Next Page Selected");tempUnit = 0; // Celsius DefaultcurrentPage = 1; // First Page DefaultdrawInitialScreen();drawTempetarure(); // Draw Temperature BoxreadTempSensor(); // Read DHT11 Sensor}}}void drawInitialScreen() {tft.reset();getIdentifierScreen();tft.begin(identifier);tft.setRotation(3);tft.fillScreen(BLACK);tft.setCursor(30, 10);tft.setTextColor(RED); tft.setTextSize(3);tft.println("WEATHER Station");tft.drawLine(10, 40, 310, 40, CYAN);// TEMP & HUMD Boxtft.drawRect(10, 45, 125, 185, BLUE);tft.setCursor(15, 50);tft.setTextColor(CYAN); tft.setTextSize(2);tft.println("TEMP:");tft.setCursor(15, 140);tft.println("HUMIDITY:");// DIVIDERS LINEStft.drawLine(140, 45, 140, 230, CYAN);tft.drawLine(145, 130, 310, 130, BLUE);tft.drawLine(145, 135, 310, 135, CYAN);//BUTTON NEXT PAGE// create buttons//CLASSBUTTON[index].initButton( &tft, BUTON_X_pos, BUTTON_Y_pos, X_WIDTH, Y_LARGE, BORDER_COLOR, TEXT_COLOR, BUTTON_COLOR, TEXT, FONT_SIZE );buttons.initButton( &tft, 275, 210, 70, 30, DARKGREY, WHITE, DARKGREY, "Detail", 1 );buttons.drawButton(true);}void drawDetailScreen() {tft.reset();getIdentifierScreen();tft.begin(identifier);tft.setRotation(3);tft.fillScreen(BLACK);tft.setCursor(50, 10);tft.setTextColor(RED); tft.setTextSize(3);tft.println("Weather Detail");tft.drawLine(10, 40, 310, 40, CYAN);tft.setCursor(100, 50);tft.setTextColor(GREEN); tft.setTextSize(2); tft.println("Temperature");// DIVIDERS LINEStft.drawLine(160, 70, 160, 230, CYAN);tft.drawLine(10, 135, 310, 135, CYAN);tft.setCursor(40, 140);tft.setTextSize(2); tft.println("Humidity");tft.setCursor(180, 140); tft.println("Heat Index");//BUTTON PREVIOUS PAGE// create buttons//CLASSBUTTON[index].initButton( &tft, BUTON_X_pos, BUTTON_Y_pos, X_WIDTH, Y_LARGE, BORDER_COLOR, TEXT_COLOR, BUTTON_COLOR, TEXT, FONT_SIZE );buttons.initButton( &tft, 50, 220, 70, 30, DARKGREY, WHITE, DARKGREY, "Previous", 1 );buttons.drawButton(true);}void getIdentifierScreen() {identifier = tft.readID();if (identifier == 0x9325) {Serial.println(F("Found ILI9325 LCD driver"));} else if (identifier == 0x9328) {Serial.println(F("Found ILI9328 LCD driver"));} else if (identifier == 0x4535) {Serial.println(F("Found LGDP4535 LCD driver"));} else if (identifier == 0x7575) {Serial.println(F("Found HX8347G LCD driver"));} else if (identifier == 0x9341) {Serial.println(F("Found ILI9341 LCD driver"));} else if (identifier == 0x8357) {Serial.println(F("Found HX8357D LCD driver"));} else if (identifier == 0x0101){identifier = 0x9341;Serial.println(F("Found 0x9341 LCD driver"));} else {identifier = 0x9341;}}void drawTempetarure() {tft.fillRect(145, 45, 166, 85, BLUE);tft.setCursor(210, 50);tft.setTextColor(RED); tft.setTextSize(7);Serial.println(tempUnit);if (tempUnit == 0) {tft.println("C");tft.setCursor(205, 120);tft.setTextSize(1);tft.println("Celsius");}else {tft.println("F");tft.setCursor(195, 120);tft.setTextSize(1);tft.println("Fahrenheit");}tft.setCursor(190, 50);tft.setTextSize(2);tft.println("o");}void readTempSensor() {// Reading temperature or humidity takes about 250 milliseconds!// Sensor readings may also be up to 2 seconds "old" (its a very slow sensor)float h = dht.readHumidity();// Read temperature as Celsius (the default)float t = dht.readTemperature();// Read temperature as Fahrenheit (isFahrenheit = true)float f = dht.readTemperature(true);// Check if any reads failed and exit early (to try again).if (isnan(h) || isnan(t) || isnan(f)) {Serial.println(F("Failed to read from DHT sensor!"));return;}// Compute heat index in Fahrenheit (the default)float hif = dht.computeHeatIndex(f, h);// Compute heat index in Celsius (isFahreheit = false)float hic = dht.computeHeatIndex(t, h, false);if (currentPage == 1) {//Draw blue window for Temptft.drawRect(10, 45, 125, 185, BLUE);tft.setTextColor(CYAN); tft.setTextSize(3);if (tempUnit == 0) {//Shows Temperature in Celsiustft.setCursor(15, 70);tft.fillRect(15, 70, 110, 70, BLACK);tft.println(t);}else {//Shows Temperature in Farenheittft.setCursor(15, 70);tft.fillRect(15, 70, 110, 70, BLACK);tft.println(f);}tft.setCursor(15, 160);tft.fillRect(15, 160, 110, 50, BLACK);tft.println(h);tft.setCursor(110, 160);tft.println("%");} else {tft.setTextColor(CYAN); tft.setTextSize(3);//Shows Temperature in Celsiustft.setCursor(30, 80);tft.fillRect(30, 80, 120, 30, BLACK);tft.println(t);tft.setCursor(130, 80); tft.println("C");//Shows Temperature in Farenheittft.setCursor(190, 80);tft.fillRect(190, 80, 120, 30, BLACK);tft.println(f);tft.setCursor(290, 80); tft.println("F");//Shows Humiditytft.setCursor(30, 170);tft.fillRect(30, 170, 120, 30, BLACK);tft.println(h);tft.setCursor(130, 170); tft.println("%");//Shows Heat Indextft.setTextColor(ORANGE); tft.setTextSize(2);tft.setCursor(210, 170);tft.fillRect(210, 170, 100, 30, BLACK);tft.println(hif); tft.setCursor(280, 170); tft.println("F");tft.setCursor(210, 200);tft.fillRect(210, 200, 100, 30, BLACK);tft.println(hic); tft.setCursor(280, 200); tft.println("C");}/*//Print DTH11 ValuesSerial.print(F("Humidity: "));Serial.print(h);Serial.print(F("% Temperature: "));Serial.print(t);Serial.print(F("°C "));Serial.print(f);Serial.print(F("°F Heat index: "));Serial.print(hic);Serial.print(F("°C "));Serial.print(hif);Serial.println(F("°F"));*/}

elegoo tft lcd library brands

I developed this game a long time ago for an Arduino UNO board but without using sound. I just adapted it for this new screen and the Elegoo Mega 2560 R3 board and added sounds produced by a passive buzzer to enhance the gaming experience.

You have to calibrate the display so that the position information is correct when you touch the display. MCUFriend_kbv library provides an example with the name "TouchScreen_Calibr_native". The example send the results to the serial port. Start the serial monitor of the Arduino IDE so you can copy the code generated by the example.

elegoo tft lcd library brands

ALL THE CODES AND LIBRARIES THAT ELEGOO USED IN THE FILES ARE CREATED BY ADAFRUIT AND WE REALLY APPRECIATE ALL THE CONTRIBUTION THAT ADAFRUIT HAS MADE TO THE MAKER COMMUNITY.

elegoo tft lcd library brands

I don"t know whether this is possible or not but is there any way that I can run something similar to Android on a normal TFT. I want to make complex graphics but can"t program those complex programs using the Adafruit TFT library.

elegoo tft lcd library brands

I had some success with this. By observing the sketches I decided that at least in the BMP sketch that A5 did not seem to be used. I have another Shield called the Dr Dunio that can redirect most of the GPIO pins to another option by use of a jumper. I placed the Dr D shield in my UNO and then placed the LCD shield on top of it. The Dr D board has 16 jumpers that can be in one of two positions. With the jumper in a position marked with a dot the pin effectively goes straight through to the header where the LCD shield is installed. So with all jumpers in the dot positions, the Dr D shield passes all pins straight through. I determined that the jumper on pin A5 could be placed in the dot position, the non dot position and even removed and the LCD sketch worked properly. I then put the Dr D jumper on the non dot position which connects it to a pot on the Dr D shield. I added in a few lines of code which did an analogRead (A5) and printed it out on the Serial Monitor. I could change the pot of the Dr D board and see a corresponding change in the Serial Monitor. All the while the pictures on the LCD screen were acting as before. This leads me to believe I can use A5 for my own purposes. Unfortunately my choices are somewhat limited with only this pin available.

elegoo tft lcd library brands

Thanks for bringing this to my attention. It appears that the upgrade package overwrites the FBTFT drivers, in particular, the Raspberry Pi bootloader. This seems to solve the problem:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait fbtft_device.custom fbtft_device.name=waveshare32b fbtft_device.gpios=dc:22,reset:27 fbtft_device.bgr=1 fbtft_device.speed=48000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=0

Hello..I tired to interface this lcd “https://www.crazypi.com/raspberry-pi-products/Raspberry-Pi-Accessories/32-TOUCH-DISPLAY-RASPBERRY-PI” to my Raspberry pi model B+.I got a DVD containing image for LCD in the package.I burned it to the SD card and plugged in the display.But my lcd is completly blank.But green inidcation led (ACT LED) in board is blinking.Why my LCD is Blank ?

My Touchscreen is now working fine.The problem was for the ribbon cable on the back side of LCD.It was not connected properly.I just tighted the cable and it worked fine.Hope it will be useful tip.

Just got my Pi2 running Wheezy, working with the Eleduino 3.5 LCD without running the OEMs image… kinda. I didn’t want to rebuild the application environment again, so was avoiding flashing the SD.

[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa21041 bcm2709.serial=0x631a4eae smsc95xx.macaddr=B8:27:EB:1A:4E:AE bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbtft_device.custom fbtft_device.name=flexfb fbtft_device.gpios=dc:22,reset:27 fbtft_device.bgr=1 fbtft_device.speed=48000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=0

thank you for your great tutorial, it got me on the right way. unfortunataly i only see some boot messages on the lcd and then it turns black. maybe you could give me a hint on how to get it working entirely.

Did you check to see if your device is supported yet? The device name should be specific for your screen, as listed in the fbtft file linked to in the beginning of the post

I too have a raspberry pi 2, and a waveshare spotpear 3.2 RPi lcd (v3) and I just can’t get it to work! I suspect I have a faulty LCD, but thought I’ll try this forum for help before I sent it back.

Soon as the pi is powered, the LCD lights up all white, with a few vertical pixels coloured at one of the edges, and nothing else. I don’t think that should happen – not at least before the BOIS has started up.

It seems all appears to be working – just the LCD is still all white with a single line of coloured pixels on edge) and nothing else. Is there a way to output, like jeff G script, of touch points?

I had the same one, I finally found a driver for it here: http://www.waveshare.net/wiki/3.2inch_RPi_LCD_(B) you will need to translate the page, but unpack the driver then run sudo ./LCD-show/LCD32-show. It should reboot and all will be good with the screen :)

My system: Raspberry Pi 2 Model B with Raspian Wheezy from Febuary 2015. LCD display of Sainsmart 3.2 http://www.conrad.de/ce/de/product/1283498/Raspberry-Pi-Display-Modul-Touch-Display-81-cm-32/?ref=home&rt=home&rb=1

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 cgroup_enable=memory elevator=deadline rootwait fbtft_device.custom fbtft_device.name=sainsmart32_spi fbtft_device.gpios=dc:24,reset:25 fbtft_device.bgr=1 fbtft_device.speed=48000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=90

The LCD display shows the raspberry correctly. However, the touch screen input does not work. The mouse pointer can I move correctly with your finger, but I can not select things (function of the left mouse button).

Can someone upload SD card image that works with RBP2 ? My idea is to use Eleduino TFT as additional screen and play movies via HDMI.. is it possible?

Do not follow this article when you don’t know what kind of LCD module. In my case, I follow all of this and my raspberry pi cannot boot anymore. I will try to recover, but I think I should format my SD card and reinstall OS.

Expecting this would builtin driver module within kernel and help with avoiding mistakenly overwriting anything. But with this is cause LCD screen to go blank white and no boot activity. Also noticed on HDMI it get stuck on Initial rainbow screen and stuck on that.

Does anyone tried splash boot screen with waveshare v4 LCD and Rpi2? I tried to follow some example from https://github.com/notro/fbtft/wiki/Bootsplash but no success.

Great tutorial thanks; got an X session working great 1st time. Has anybody managed to get Kodi/XMBC working on the LCD either Kodi standalone, Raspbmc or Xbian?

fbtft_device name=waveshare32b gpios=dc:22,reset:27 speed=48000000 width=320 height=240 buswidth=8 init=-1,0xCB,0x39,0x2C,0x00,0x34,0x02,-1,0xCF,0x00,0XC1,0X30,-1,0xE8,0x85,0x00,0x78,-1,0xEA,0x00,0x00,-1,0xED,0x64,0x03,0X12,0X81,-1,0xF7,0x20,-1,0xC0,0x23,-1,0xC1,0x10,-1,0xC5,0x3e,0x28,-1,0xC7,0x86,-1,0×36,0x28,-1,0x3A,0x55,-1,0xB1,0x00,0x18,-1,0xB6,0x08,0x82,0x27,-1,0xF2,0x00,-1,0×26,0x01,-1,0xE0,0x0F,0x31,0x2B,0x0C,0x0E,0x08,0x4E,0xF1,0x37,0x07,0x10,0x03,0x0E,0x09,0x00,-1,0XE1,0x00,0x0E,0x14,0x03,0x11,0x07,0x31,0xC1,0x48,0x08,0x0F,0x0C,0x31,0x36,0x0F,-1,0×11,-2,120,-1,0×29,-1,0x2c,-3

I have exactly the same problem. I also installed a new version of Raspbian, and the LCD part works fine (except all the windows are way too large), but the touch part doesn’t work at all… I’m using Waveshare Spotpear 3.2″ V4.

I do not think that has anything to do with it. Other than power pins, the rest are communication. If it still works then you are good. No, there is something else. I do suspect it us related to the BCM pin numbering. The real question is… Why isnt the eeveloper responding? I have since abandoned this TFT because of his lack of response.

I am trying to use the sainsmart 2.8″ lcd sold through microcenter, using the sainsmart32_spi … seems to have the same pinouts, should I be able to get this to work? I am stuck at the white out screen on the lcd, doesn’t seem to recognize the module either.

Unfortunately I’ve tried that ( a few times actually) but the file still doesn’t exist. Thanks very much for the assistance anyway. I must be doing something wrong. My Raspian came from a Noobs installation, I’m wondering if I should try installing the OS from somewhere else. My LCD screen didn’t come with a CD or any docs so I’m completely in the dark here.

Well figured out that step 1 was causing my problems. I’m guessing it is shutting off my hdmi feed and trying to switch it over to the SPI, am I guessing right? If so, not sure how I’m suppose to complete the rest of the steps if my hdmi output gets turned off before the LCD is actually set up to work…that sounds kind of smartass-like, which is not my intention, just looking for some clarification on what is going on in that first step as I am fairly new to this stuff. Thanks.

Anyway, I was able to do the rest of the steps with no problem. LCD didn’t work, but I am using a Waveshare 3.5, which doesn’t look to be supported yet. Mostly I am trying to play around and see if I can get it working somehow. Anyone found a way to do this yet?

I am having an issue with getting the GUI back. Every time I use startx my pi just sits there for about two minutes saying “No protocol specified”, and then it just gives up. I went through this tutorial about four times now and am not certain why it is doing this. I have the exact same LCD as is in the tutotial (WaveShare 3.2b). any help would be great.

Thanks for the tutorial. It works, but I get the boot/command line stuff on the HDMI monitor and the LCD only comes on when I do startx. Is there a way to get everything to appear on the LCD screen?

Now the OS freezes at the emulation station loading screen, and if I connect my lcd it gives me a lot of error messages which I can only see on the 3.2 inch screen.

This was an excellent tutorial. I have gotten an output to the screen, but no touchscreen usage . I have the Waveshare SpotPear 3.2 Inch LCD V4 screen, but using Raspberry PI 2 with wheezy. Any ideas?

I filed the steps to calibrate the screen but it did not work.I think because it did not find the TFT pin, because I think the touch problem is the assigned pin to control it changed.

I actually used the driver from here http://www.waveshare.com/wiki/3.2inch_RPi_LCD_(B) , from a new wheezy build, did nothing except enable SPI in config, install driver, and change mmcblk0p2 to mmcblk0p6 in cmdline.txt and it all worked, no drama.

i have raspberry pi 2 with 3.2 inch rpi lcd v4 waveshare spotpear.i have done as per your instructions.the display is working but touch screen not working.error shows waveshare32b module not found as well as touch screen module not found messages.

Unfortunately I have lost the Touch facility on my Waveshare 3.5″ LCD Touchscreen? Can you offer any reasons as to why? I copied the Raspbian image to my Raspberry Pi from the Waveshare website first of all. The Touchscreen displays but is not reactive with any touch

I have purchased a raspberry pi B+ total kit and waveshare 3.2 TFT display online. In the package i have been given a pre-loaded NOOBS installed SD card. I did not even start anything yet. What should i do what r the things needed and how to connect the display i really want to know. I need help as i don’t know anything. Does the above solution help or will u suggest something………………..

Hi great article thanks. I am trying to get a waveshare 7 inch LCD with capacitive touch running it works with the suppled image but if you upgrade it breaks the capacitive touch. I have a sense-hat and GPS which require the latest kernel and RASPIAN image and the install program for the screen replaces the /lib/modules directory and the kernel with older ones. I need to be able to install the touch drivers into a new clean OS can anyone give me some pointers? Thanks

For anyone who have those unbranded cheap TFT touch modules and cannot get it to work with this guide, I had success on my 3.5″ with the following steps: http://pastebin.com/89qmFbPB

I have the WaveShare 3.5 (A) and cannot get it to work with the Kali Linux with TFT for Raspberry Pi. Have anybody gotten the A to work? (Not the B, theres instructions for the B already and dont work with A)

So I have the original image that came with my screen and it works fine with the LCD but my problem is that I want to use my LCD screen with other distros (at this time I am trying to use it with Kali Linux with TFT support by default https://www.offensive-security.com/kali-linux-vmware-arm-image-download/) What do I have to do to transfer the needed files from the original image that WORKS with the screen and use them with another image?

I originally bought this bundle http://www.amazon.com/gp/product/B013E0IJUK?psc=1&redirect=true&ref_=oh_aui_detailpage_o02_s00 with an RPi LCD V3 and no extra documentation on the specifics on the chipset. I tried with the bftft drivers but since I have no idea what to call this screen I just suppose it isn’t supported.

I’m not sure if the Jessie kernel is compatible – can anyone please confirm or not ?? Adafruit states that their setup for TFT screens are Wheezy only ; is this a different setup ??

I am using the same LCD and followed your tutorial. Have your tested the guide lately? Are you certain that it works? I see the boot messages on console but I get white screen as GUI starts.

I have tried to set up waveshare 32b on my Pi B using the latest Raspian download. I learned a lot in the process using Windows Putty, Nano etc. I have repeated the setup process several times from scratch and included the corrections for possible overwriting. My Waveshare SpotPear 3.2 inch RPi LCD V4 just shows a white screen. Any suggestions?

Hi, I am using raspberry pi 2 with raspbian jessie installed. I the waveshare spotpear 3.2 v4. The above instructions are not working. and after completing the steps there was no display from hdmi or lcd. One things to notify is.: the etc/modules files only had i2c-dev and not snd-bcm2835.

I am trying to get this to work with Retro Pie 3.3.1 and the Waveshare3.2″ v4 but I only get the terminal on the lcd and emulation station starts on hdmi. to get it working with retro pie i just replaced startx with emulationstation. how do i get this to work?

Sir, Your post has very useful to me. i am using Tinylcd. but i cant get display. i am performing all the steps in your post. i cant get touch controller information from the product website and also i am using RASPberryPi B+ model. could u please give me best solution to my work. Than you.

i installed android OS in raspberry pi 2. can i use same LCD touch screen set up for android installed raspberry pi 2 which you are used for raspbian.

Is it normal the white back light during the whole process of initializing (I suspect that during the transportation trere is a deffect)? The problem is that I missed the step #1 and I performed it at the end. Unfortunately I don’t have any monitor available right now – neither “normal”, neither LCD :))))). Is it possible turning back the system or the only option is reinstallation of the Raspbian?

I have KeDei 3.5 inch TFT version 4.0 by Osoyoo. (released after January 1 2016) how do i get it working with vanilla Raspbian Jessie (do not want to install the image sent by the seller)

I’m trying to use an original Raspberry Pi model B with a cheap 3.5 inch 320×480 LCD which allegedly was manufactured to work with the Pi and has the correct fittings to fit over the GPIO pins. The operating system is the latest, downloaded yesterday and installed with NOOBS. I can’t get past step 2 of this guidance. When I reboot after using raspi-config I can see text generated as the Pi boots, then the HDMI fed screen goes blank apart from a flashing cursor in the top left hand corner. The LCD just remains white with nothing else on it. I have missed out step 1 and rebooted after step 2 and the screen functions as I would expect. Does anyone have any ideas please?

Thanks for the great tutorial. I do have a question. Once you install the drivers for the lcd are you effectively disabiling the hdmi port or is it still available to use and will the pi function with both displays. I have a pi 3

once you install the drivers it replaces the kernel by disabling hdmi output and enables it for LCD. i don’t think we have a solution to get em both working at the same time. ( you are encouraged to search for it )

I’d like to find the driver software for my 7″ LCD with touch (official Pi unit) so that I can use it in buildroot. I wanted to make sure this kernel is the one before I started digging further.

I started through your tutorial and completed step 3 and rebooted. After the Raspberry screen and some of the boot text on my HDMI monitor, I now have a black HDMI monitor and a white screen on my LCD. Does this mean that the bootloader was overwritten or something else is wrong? How am I supposed to enter in the proposed fixes to the bootloader, when I can’t get the RPi to boot? Do I have to interrupt the boot process at some point to reinstall the bootloader or what?

Its a script. Download and instead of running sudo ./LCD4-show run cat ./LCD4-show to simply display what it does without actually running it. The commands are fairly simple modifying a few files. I actually saved the LCD-show.tar.gz on my own server for faster future download but also for backup as it saved me tons of hours (if that’s a measuring unit for time :) )

I used this link though (smaller file ~ 50 KB, fast download) http://www.waveshare.com/w/upload/4/4b/LCD-show-161112.tar.gz and replaced LCD4-show with LCD32-show in the last line.

i bought a 3.5 inch tft lcd screen from banggood. and i have installed raspian jessie, the latest version, in my sd card. but when i power on my Pi, only a white backlit screen comes. there are no images or graphics whatsoever.

Will your system work with my SainSmart 2.8″ 2.8 inch TFT LCD 240×320 Arduino DUE MEGA2560 R3 Raspberry Pi ? I would like to know before not be able to back out. Thanks, Lee

I ‘m actually using a LCD Waveshare3.2” , I followed your steps to setup the lcd touchscreen for my rpi and it work but I have a problem with the resolution because if I open a repertory I do not see the whole contents on the screen .

I did a 5inch LCD for my raspberry pi. I dont use the touchscreen so i didnt have to install any drivers. It works out of the box but doesnt cover the whole screen unless you open the terminal and do:

In the case of the WaveShare driver, their setup script from their “LCD_show” repository will copy a device-tree overlay to /boot/overlays/ that provides most of the module config etc via boot-time device-tree patch.

After I did the step that “INSTALL THE FBTFT DRIVERS” and then reboot, my raspberry pi couldn’t boot successfully and the green light is always on, could you help me solve this problem? Thank you.

elegoo tft lcd library brands

The demos are developed based on the HAL library. Download the program, find the STM32 program file directory, and open the STM32 with four project folders: DisplayString, DrawGraphic, ShowImage, and Touchscreen.

elegoo tft lcd library brands

So I bought myself another one of the Elegoo 2.8″ touchscreen LCD modules recently, and decided to have a deeper dive into the code. I looked through the examples and I thought “This looks very similar to code from Adafruit.”

You can download the original “tutorial” files from Elegoo directly at https://www.elegoo.com/pages/arduino-kits-support-files if you’d like to take a look for yourself.

The code was the same. The Elegoo_GFX library was an exact copy of the Adafruit GFX library, just with a global find and replace “Adafruit” for Elegoo. You can test this by changing the library definition in the code to use the Adafruit one and everything will still work.

It took me the best part of an afternoon to finally figure out exactly how it worked. They have only made (from what I can tell) a single change to the library under definitions for the Arduino Mega 2560 in the code.

The only other changes you need to make to your code are when you start the tft.begin, you need to specify a fixed identifier, for example the following code (based on the graphicstest example)

I’m waiting for Amazon to publish my product review, as I think this a totally unfair use of Adafruit’s source code and quite a clear ethical violation of the ethos of open source code. They could have easily forked the library and added their changes… Maybe it would have even been accepted up stream if people would find using similar displays with the Adafruit library on the Mega 2650.

You don’t have to do any library edits like above, other than defining #define SPI_DRIVER_SELECT 2 within SdFatConfig.h (in your libraries folder), then you can put your 24bit BMP images on your SD card and load them when using this module without any of the massive amount of effort I went through today