Arduino ST7789 Display Tutorial
Вставка
- Опубліковано 27 сер 2024
- In this Arduino Tutorial, we are going to learn how to use the 1.3" ST7789 display.
🛒 ST7789 Display: ebay.us/Jj36Ji
💻 Code & Parts: educ8s.tv/ardu...
Want to learn to program?
👨💻 Check my new UA-cam channel: bit.ly/3tku2n0
🎮 My Android Game: bit.ly/QuizOfKn...
I hope you took away lots from this video and you managed to get your display to work. Let me know below!
PS. WANT TO LEARN CODING? CHECK MY NEW UA-cam CHANNEL!
bit.ly/3tku2n0
Make sure you use voltage shifter if you are using 5 volts arduino otherwise display goes crazzzzzzzzzzzzy. #include "RREFont.h"
#include "rre_chicago_20x24.h" is another good library to use if you want even better .effects.
One of my fave channels. Could listen to your accent all day. Love the content and presentation. Please continue the great work
Thanks! Good to hear some good feedback about ny accent! 😀
As a long time follower, I still think you make some of the best tutorials with all necessary details, but still a strait to it approach. Big thank you for keeping up the good work.
Dude you’re back!
Mr. Meticulous where is my car?
Welcome back Nikola, great to see a new video.
Love your accent man 😍
Nice!! Hey doode welcome back we missed your videos :-)
It's been a long time since I played with my Arduino I got to get back into it. My whole work bench is so disorganized, hehe!
I have been missing your videos all along.
Thank you for this
Very simple product that can be very useful for a lot of everyday temperature reading projects. For expect temperature inside a computer case.
I used my ST7789 display with an ESP32 and a DHT22 sensor. That gives me the temperature in Celcius or Fahrenheit plus humidity. Since the ESP32 is a 3.3 volt device there is little chance of damaging the display and with proper coding can have the information available over WIFI. Now I can monitor the temperature and humidity outdoors without leaving my desk.
he's back and the video is related to one of these displays i have laying around, awsome btw i got mine for 2.5bucks on ali in 2019
Yeah banggood double the price for alot of products sadly :(
I also recommend this display. I made my own breakoutboard, as the displays without breakout are even cheaper. There is also a 240x300 version, but I have not tried it yet.
For those interested, I made the schematics and PCBs for both the 1.3 inch 240x240 and the 2 inch 240x300 ST7789 available at easyEDA:
easyeda.com/peut/oogjes (1.3 inch) and easyeda.com/peut/st7789-240x320board (2 inch). Public domain license.
I want to build a project around this display however I have one extra SPI device (sd card reader) I need as well. Is it possible to connect them so they coexist. This part does not seem to have CS
It is not true that this display is fast - actually it is slow because of very high resolution :) Reasonable speed is possible thanks to high optimization (low level) for AVR chips and on 16MHz Arduino allows to transfer data via SPI at almost 7MB/s. Much better display for AVR, in my opinion, is 1.8" ST7735, which has lower resolution 128x160 pixels (20480 pixels instead of 57600 = almost 3x faster), its size is little bigger and has builtin SD card slot. Using cheap STM32 boards ($1.4-1.5) instead of more expensive Arduino Nano or Pro Mini it is possible to play realtime videos directly from SD.
true nano is outdated :)
@@pramagetable cheap STM32 is outdated too + i cannot get any official..
Finally! Please upload more!
Your stuff are amazing
do I need to put a voltage divider on the "SPI" pins?
I am using this display for a time now and i am very satisfied with it. I am using mostly for Esp8266/32.
I always enjoy your videos.
Thank you!
VERY good video!!!im going to build something that uses that screen, i was looking for a youtube video that would show me how to use one, and i found this video, thanks :)
Hi can I use bigger lcd tft spi ili9341, what's the pin required?
Did u manage to use a bigger display? Mine is 240x320 and it doesnt show anything.
Great display. Thank you. Will order a couple ASAP.
To see something i have to connect the dispaly directly with 5V. If i connect to 3.3V i can't see nothing. Is normal? my disly is not damaged with 5V but it works better.
Good dispay!
Nice I may have to revisit my Arduino boost guage fitted in my VW with this display.
As always after connecting everything, it does not work. On 3.3v it barely shows any pixels, and on 5v its working perfectly but only for a minute! All pins are connected correctly, what could i've done wrong?
Hi, can you recommend some tutorial to understand how display works with arduino? SO I can try to display some random simple stuff? Many thanks!
Hello, please make a project of a GPS tracker that could transmit coordinates by SMS, also with a buzer that can be activated by an SMS command and turned off with a button on the device and a small display that would display the number of satellites and a cellular signal, many owners of quadcopters and other flying models would be very grateful to you!
Could you post the code that is used for such a display as in the video at 2:34''?
You can diy an oscilloscope with this LCD. I have been built one.
Cool!
Can you please make a tutorial how to program a display to show whatever we want from a Raspberry Pi Zero (I can send a link of the 0.96' screen I have)
sweet display, thanks for the video.
wondering just one thing, you said be careful with to not connect display 5 volts, ok with voltage input for display to go to 3v3 pin, however what is with all other display pins which goes to Arduino digital pins, as I know digital pins also delivery 5 volts out?
My display doesnt show anything. The display is 240x320 SPI and has a CS pin also and in the Amiga code it says in comment: "ST7789 240x240 IPS (without CS pin) connections (only 6 wires required)". So what is wrong?
Is there an I2C version?
Thanks for a very useful video. I see you are driving the display with 3.3 volts but the signal pins from the Arduino are still 5 Volts ? Would it be safer to use a voltage divider on the signal pins ?
Thank you very much for this great tutorial. I am working on this project for many days. What I am searching to do, without success is to use a custom REEfont and get rid of max-min temperature. Can you help me?
Did u manage to show something with a font? Maybe u can share code?
@@djsirprice7959 sorry I dropped the project
On such a display, the image on the screen is inverted horizontally by 180 degrees (that is, the entire display screen) on ESP8266. I have tried many libraries, but there is no result. Advise me where to dig?????
Looks like you could __easily__ stream video to it with an ESP8266 or ESP32
can we make rtc clock with it , most modules have that dual color oled with i2c interface & this one uses spi , have one lying around & am trying to make one since long time.
I have a screen from a similar model, it's the ST7789V, 240x280, what code do I use to put it to work? I'm really lost about this
ili spi displays much better and cheaper .. also faster (with good libs) (2.8 + 3.2 the same but larger, both with 320x240) and 3.5 with 480x320
between 7 and 13 $ with touch function and sd slot.
Sure, I have used the 3.2 "ili9341 display in that past with Arduino. Even though I really like it, it is slow using an Arduino uno. Maybe I was not using a fast library?
@@Educ8s well, testing fast libs with uno or nano are incredible .. now i use ili displays with esp32 .. all graphics tests are near the same speed as nano or uno with fast lib.
What you're not seeing is the quality of that display, it's an IPS display, colors are perfect, screen is extremely bright and viewing angles are way, way better than all the ILI displays I have tried. It's just another league in terms of picture quality.
And it's 3$ on Ali, if you buy LCD panel only (without adapter PCB) it's 2$ or less...
And for 5$ you can get the 2.0'' version with adapter. No touch and SD, but depending on your needs it can be a great option if you want a high quality display.
@@NicolasCambier With these small screen sizes, no arduino user will find anything better than the multifunction ili. what do most of them want? show data (numbers) or roughly graphs. if i have pc monitors with high resolution now i'm available for ips.
it's all a matter of application. .. i run my ili with 5v on the background lighting, but have 100k resistance in the line to get a brilliant color and black value
@@spielautomat9751 I use one on an air quality sensor based on ESP32, I use a background photography, and display data on top with partial transparency and it's gorgeous in addition to be fast for a SPI LCD.
Whichever angle I look at it the colours are accurate, which is pretty useful to know the air quality with a quick glimpse. With all the ILI, ST7735 etc I tried the colors get washed out if you are not right in front.
Just got this a few days ago. 😁
Me salvaste la vida, you are awesome, it help me a lot, ❤❤❤
I can't see any backlight, is it also the case in real life ? I'm searching for a screen that has minimal backlight bleed when displaying white on black, would this display be suitable or do I have to go with oled screen ?
Display worked perfect with Arduino UNO, Thanks!
Should I will be concerned for damage to display without voltage divider or level shifter from 5v to 3.3v?
Why does the display have SDA and SLC pins?
Can it also be used on I2C bus?
As always excellent!!!! Still waiting for the robot with Openmv.
I will build one, it is a promise. Do you have an openmv board already?
@@Educ8s Yes, I have one it is very powerful, I am waiting for your amazing guidance to take it to the new level. I would like to see it used in a line tracking and recognizing toys traffic signals together. It could be the video of the year. Anyway, you are the best!
Do you also have a l298n board to drive the motors? If not, get one to be ready ;-)
Hi! Do you know (or can estimate) how many resources are taken by st7789 + Adafruit GFX libraries from the available RAM/FLASH?
Hello y connect these display and check connections but do not display anything, in serial monitor the output is normal no errors, Whats wrong? Help please
hello, I am using LCD ST7789, micro Arduino Mega 2560 to show the data MAX6675 Thermocouple 12 Channel. But I missing code to show the data in LCD ST7789. Any suggestion for me?
i have followed throughouly your tutorial but when i upload i need to hold the reset button to make it display. can u help me. what should i do if i do not need to hold the reset button
The backlight comes on, but no image. :(
I own esp32 dev 30pins and 1.69" TFT 240X280 SPI ST7789. It doesn't work no matter how much I compile it for three hours. Do you have this lcd and esp32 connection diagram?
Larger, and full color, at about the same price as an ordinary mono OLED ... looks intriguing.
ST7789 current price is about $2.5-$2.6
@@cbm80amiga Was looking at this one. Maybe order a few to overcome the shipping charge.
www.aliexpress.com/item/32859772356.html
really thank you but can I run software on it?
I couldn't make it work without 3.3V voltage divider circuit on every pins. Otherwise it is not working correctly.
Same here, while connecting the signal pins directly the image was distorted, after using a logic level converter it worked perfectly!
@@gabrielveloso1325 facing the same problem as yours. And I also used the voltage divider and 3.3 V on VCC. But unfortunately I didn't make it work. I was thinking as it is malfunctioned, but it worked once correctly then again having distorted view. Can you help?
Interesting as always
Thanks for sharing :-)
incredible this lcd
heyyy can you do the same thing, but instead of making it temperature, make it a speedometer, with gps module.
Also include the minimum and max speed
does this display not have a voltage regulator
Keeping making videos
Hi sir, and hi everyone. Can anyone give me advise? With any example I upload I got my screen full of vertical lines! And when I keep pressing the reset buton the screen shows a nice and clear view. Thanks for any help.
I have exactly the same issue? Any ideas?
mmm..after MUCH messing about the answer is simple. The device has an onboard 3.3V regulator so needs powering from 5V. Changed VCC to 5V and everything works fine now!
@@WhoCaresWinsAgain Are you sure? I don't see any voltage regulator on mine. And the specs from aliexpress mention 3.3V pwr supply. Can you tell me what is the component on your display that makes you think it works on 5V?
The small three pin surface mounted device on the back. I'm pretty sure it's a voltage regulator plus the proof is it works fine on 5v and the effect we were seeing appeared to be that the data wasn't being correctly clocked into the device. I'll do some more research but 90% sure. Willing to be proved wrong and there is no sign of localised heating on the board. I'll try and probe the board and measure the voltage.
@@WhoCaresWinsAgain Hi sir, I wish you are right, but on my board the 3 pin component is marked "J3Y" and that's a transistor. Info I've found on this is that it's used to control the backlight! I still didn't try to connect the display on the 5V as I'm affraid to damage it. Another possibility (also didn't try it out yet) could be that the other pins (outputs from the arduino) are 5V outputs! I've seen vids where resistances were used to lower the voltage level on the inputs from the display.
Well, if yours is working with 5V pwr supply, you should keep track of the temperature of the display.
Hola me pone este error RREFont.h No such file or directory , como lo puedo solucionar
Super.
I like your site but REFUSE to turn OFF my Add Blocker
What's the current consumption of this display?
Can I use to play videos?
DO NOT WIRE UP LIKE THIS! The Display is 3.3V, Arduino Uno (and Nano, etc.) is 5V. This way your display may get damaged. In my case it gave strange results. You need to step down to 5V, use a voltage divider or board to communicate in 3.3V, not with 5V. The voltage divider option can be found at: ua-cam.com/video/9GBPSj3IJBs/v-deo.html
This kit doesn’t have a CS pin for SPI.
Yes, it is connected to GND and this is a problem if you are using CircuitPython. So, please avoid this display, buy something that has an CS pin available.
@@Educ8s I have a 240x320 SPI display which has CS pin, but it doesnt show any data on the screen. Its only dark dimmed blue all the time. Do I need to connect the CS pin to something? If yes, to what? I use Mega 2560.
I’ve followed your tutorial and a few others but I’m left with the same result. The two st7789 that I’ve attempted to use only display the backlight and completely unresponsive to any sketch I feed into my Arduino mega. I checked the wiring multiple times and even tried a various configurations from other tutorials. Nothing seems to work. I even modify the TFT_CS but had no success.
any luck?
@@UmutErhan
I gave up and got some gc9a01’s. They work perfectly
Working on Arduino uno, promini, nano,esp32... I have checked all of them. Remember to connect 3v3 pin as VCC and 2k2//3k3 voltage divider on all other pins. BLK will be connected to pin10 on Arduino as mosi and select spi2 configuration
The problem I have, that the image is only displayed when I press the reset-button of the arduino, otherwise the screen stays dark, any suggestion?
You need to add 220k resisters on the pins to bring logic level down from 5v to 3.3v then the screen will stay on :)
The arduino pins give 5V output, too much for the display. The pins of the display are probably protected by (zener)diodes against overvoltage, but the current through them causes problems for the rest of the display circuit. When the reset button is pressed, the arduino pins go into high impedance mode, so the overvoltage is no longer present, and the image becomes visible. Use voltage dividers between the arduino and the four display pins (SDA, SCL, RES, DC) to fix this (for example 2.2 kohm to the arduino pins and 3.3 kohm to ground, or 1.8k to arduino and 3k to ground)
hello, can you help me fix my display?
"smart pants" lol
👍👍👍
Smart pants??
Hi
Hey there love your videos, after trying to load the example i keep getting the below message coming up
please tell me what im doing wrong
Thanks!
Arduino: 1.8.12 (Mac OS X), Board: "Arduino Uno"
In file included from /Users/arildsonvieira/Documents/Arduino/libraries/Adafruit_GFX_Library/Adafruit_GrayOLED.cpp:20:0:
/Users/arildsonvieira/Documents/Arduino/libraries/Adafruit_GFX_Library/Adafruit_GrayOLED.h:30:10: fatal error: Adafruit_I2CDevice.h: No such file or directory
#include
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Error compiling for board Arduino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I paid €15 for it 😑🔫
This display is not 5v tolerant, your feeding 5v logic into it, this is a dreadful idea.
Thank you, I was looking for such a reply or info! I did not trust is since he feeds it with 3.3 Volt. Lucky for me I got some nice level shifters in the mail today :)
@@rolandberendonck3900 can someone explain to me what is all this about? Im new to Arduiono world, so when the pin says 3,3v, why are so many talking about that its 5v? And what is a level shifter? What do I miss to buy? And did I now burn my display?
first!