ive figured out 240 by 240 eyes , if anyone is interested? if you change this line in the eye_ functions tft.setAddrWindow(eye[e].xposition, 0, 240, 240);//both the 240 were 128 then you can use the default_large.h from dalori esp32 uncanny eyes then i just changed the position of the eye and the amount it moved
I have been trying for weeks to get “Uncanny Eyes” working on the 240x240 display and I finally found your channel. Excellent presentation and it works!. I’m anxiously waiting for your update on making the eyes bigger and centered. Then I’ll be able to incorporate them into a plastic skull for my grand nephews. Thanks again.
thank you very much bro! I had a big choice between "Chinese copy" and "Waveshare" display. I can't afford an expensive display from Waveshare and I was worried that the Chinese display would be worse, but thanks to your video, I realized that this is not the case and that the Chinese display is fine for me. Thanks again, this is the only video that helped me
See my other videos: Master Animated GIF on the Round Display & ESP32: th-cam.com/video/mqSe_uMpxIs/w-d-xo.html Real-Time Display Design With the Serial Monitor - No Upload, Instant Display Prototyping - Magic: th-cam.com/video/09negq9Zk_c/w-d-xo.html Create a Star Wars Tactical Display with the round Display: th-cam.com/video/HzHRJd7rihE/w-d-xo.html
Good morning my dear friend: it is with great satisfaction and joy that I comment that following your tutorial and file I managed to make an eye work. There was a video from another youtuber that I followed all the steps but I never managed. Fortunately your video is complete, didactic and simply sensational. Congratulations. I already subscribed to your channel and I wish you a lot of success here. I'm Brazilian and I didn't find any tutorial in Portuguese and yours is easy to follow. I used the subtitle to translate. Thanks Note: I'll see if I can get both eyes working and use a joystick.
Fun Halloween project. Got a little lost regarding everywhere the "CS" value needed to be commented out, but got it figured out. Thanks for another fun video.
@andrewh.8890 - yes. I used a collar from a kitchen sink joint which the eye fitted snugly. Put a strap on it and powered it from a usb block. It is really effective
8:19 - Hello, Super Video - Question: I am looking for a tutorial for the very interesting 40x160 display with the GC9d01 driver - is there any information on this? Thanks very much
Had this same question today and was able to figure it out. Line 114 of eye_functions.ino, in the drawEye function, you'll find this code: tft.setAddrWindow(eye[e].xposition, 0, 128, 128); Change the 0 to update the position of the drawing window. I found that somewhere around 50 got the eyes fairly well centered. So the changed line will look like this: tft.setAddrWindow(eye[e].xposition, 50, 128, 128);
ok so ive built this but getting the following error message when i compile the code.. exit status 1 'NUM_EYES' was not declared in this scope Anyone any ideas how to sort this??
Hello, I would like to know how to adjust the height of the eyes and reverse the right eye in relation to the left eye so that it is more realistic Best regards
Hi! How did you change the PIN number, my ESP32-S3-WROOM-1 does not have the PIN 23, so I can not use the script. I guess it should be somewher on the TF_eSPI directory. Thanks!
@@thelastoutpostworkshop thanks for the quick reply. It took 2 trys but I loaded 2.5.43. I managed to go to TFT_eSPI.h and try clicking on User_Setup on line 68 but it says no definition. I noticed the TFT_eSPI tab is locked not sure if that matters.
Hello Sir.... thank you for your video tutorial. Very interesting project. I have question : how to change the eyes type by switch? I think it would be very cool to change the eyes type animation by using a switch.
Hey! I managed to get it working, really informative video, thanks for helping on my previous comment. Are you able to list the video where you increased the eye size? my eyes are small on the screen (I'd like them abit bigger) thanks!
thank you for your great tutorial. everything works well I just have a question for the position of the eyes in the center of the screen on the X axis no problem but impossible to adjust the Y axis
Hi! Does anyone knows how to change the PIN number, my ESP32-S3-WROOM-1 does not have the PIN 23, so I can not use the script. I guess it should be somewhere on the TF_eSPI directory, but I do not know which specific file I need to change.Thanks!
You can't really change the size of the eyes because they are binary images, but someone found something here : github.com/thelastoutpostworkshop/ESP32LCDRound240x240Eyes/issues/3
@@thelastoutpostworkshop i'Ve try it but it gave me error with the eyes parameter (sclera ). I've check the other eyes script and I've try to copy the same varaible but in vain. Also i'm a Linux user, so I can't user convert to C but i've found an online tool and task which format I need my picture (RGBA888 and others) ... I dont know if you could help me on that. Maybe I should use the code of Bring GIFs to Life: Animating with Round Displays & ESP32. I will hit a wall when I'll need to do a rotation for the right eye. thanks :)
Hello, great video. I got my display working but i would also like to control the backlight. I am using an esp32 to generate a PWM wave, it is 8 bits and on channel 0. I have tried varying frequencies but they all do the same thing, after a couple of minutes the display just turns off. Do you have any idea on what I can do or point me in the right direction? Thank you!
Hola muchas gracias por explicar paso a paso como lograr replicar el proyecto, despues de ver tantos videos gracias al tuyo logre hacerlo. Y aprovechando crees que pudieras ahora hacer un video donde solo sea una sola pantalla y aparesca un solo ojo que abarque toda la pantalla? O como podria modificar este mismo para que el ojo quede en medio de la pantalla? De ante mano muchas gracias por dedicar tu tiempo para quienes no sabemos de programación y podamos lograr hacer proyectos. Saludos!
I added a yposition to the eyeInfo_t typedef and duplicated a y for every x in config.h and eye_functions.ino and moved the eyes down about 40. I little bigger would be better but we might have to regen the images.
I'm currently mangling the code to try and make the joystickswork. @@dmitriycreations but try this: Add Yposition // This struct is populated in config.h typedef struct { // Struct is defined before including config.h -- int8_t select; // pin numbers for each eye's screen select line int8_t wink; // and wink button (or -1 if none) specified there, uint8_t rotation; // also display rotation and the x offset int16_t xposition; // position of eye on the screen int16_t yposition; // position of eye on the screen } eyeInfo_t; in the main program. ... then in the config.h #define EYE_1_YPOSITION 40 // y shift for eye 1 image on display #define EYE_2_YPOSITION 40 // y shift for eye 2 image on display ... and set with new arg .. eyeInfo_t eyeInfo[] = { { TFT1_CS, LH_WINK_PIN, TFT_1_ROT, EYE_1_XPOSITION,EYE_1_YPOSITION }, // LEFT EYE chip select and wink pins, rotation and offset { TFT2_CS, RH_WINK_PIN, TFT_2_ROT, EYE_2_XPOSITION,EYE_2_YPOSITION }, // RIGHT EYE chip select and wink pins, rotation and offset }; ... in the eye functions code add line eye[e].xposition = eyeInfo[e].xposition; > eye[e].yposition = eyeInfo[e].yposition; ... and finally call the method adding ypos tft.setAddrWindow(eye[e].xposition, eye[e].yposition, SCREEN_SIZE, SCREEN_SIZE); hope this helps.
I can't get it to compile. 'split' was not declared in this scope - in the eye_functions.ino Any idea? Apparently, it's a windows/linux thing - it ran perfectly on win11, won't compile on linux.
great video! thanks! there is an X_offset function but not a Y_offset function. it would be nice to have the eyes in the middle of the screen. is that possible?
Useful and interesting video, thank you. A quick question if I may - do you see any noticeable difference in display quality between the one bought from AliExpress vs the Waveshare?
Hey! I'm buying the kit to copy this but what power supply would you recommend? I'm a little confused, once its all soldered together, each screen does 3.3v? so would I need like a 7v battery with a 3v regulator? as above, what should I do about powering it via battery?
Most ESP32 dev boards have regulators, so you can power them with a battery via the VIN pin (do not use the USB at the same time). You can use an 5v external battery, I think you can go up to 7v, but check the specifications of your ESP32 dev board. You may also have to add a capacitor to stabilize the power input.
Hello, I followed this tutorial, but i have a custom esp32 s3 mini board. It displays the eye for me, but it is not moving at all. Just wondering what could I be possibly doing wrong. I tested the x wing GIF tutorial you have and that works perfectly fine.
Love the Step By Step however I keep getting an error on line 80 of the Sketch when I try to upload. I'm using 2 each 1.5 inch RGB OLED Modules for the eyes with Driver SSD1351; which I've made sure to update accordingly. I followed the video instructions all the way and updated the Config.h file to show 2 displays however I just can't get it to upload onto my ESP32 board. Any suggestions are welcome!
@@thelastoutpostworkshop "Compilation error: 'NUM_EYES' was not declared in this scope" It jumps to line 80 of the .ini sketch. I did update the Config.h file as well as all of the other steps.
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:80:7: error: 'NUM_EYES' was not declared in this scope 80 | } eye[NUM_EYES]; | ^~~~~~~~ /Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino: In function 'void setup()': /Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:101:3: error: 'initEyes' was not declared in this scope 101 | initEyes(); | ^~~~~~~~ /Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:112:16: error: 'eye' was not declared in this scope 112 | digitalWrite(eye[0].tft_cs, HIGH); | ^~~ /Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:113:7: error: 'NUM_EYES' was not declared in this scope 113 | if (NUM_EYES > 1) digitalWrite(eye[1].tft_cs, HIGH); | ^~~~~~~~ /Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:115:27: error: 'NUM_EYES' was not declared in this scope 115 | for (uint8_t e = 0; e < NUM_EYES; e++) { | ^~~~~~~~ /Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:117:21: error: 'eyeInfo' was not declared in this scope; did you mean 'eyeInfo_t'? 117 | tft.setRotation(eyeInfo[e].rotation); | ^~~~~~~ | eyeInfo_t /Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino: In function 'void loop()': /Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:132:3: error: 'updateEye' was not declared in this scope 132 | updateEye(); | ^~~~~~~~~ exit status 1 Compilation error: 'NUM_EYES' was not declared in this scope
Do you have any videos or posts on how to configure two IR temperature sensors like the MLX90614? I'm trying to use a multiplexer but I'm a little stressed trying to get the temperature from each sensor. I want to make a tire sensor for my race car. I'm good with mechanics but bad with programming. Thank you. Nice tutorial.
A great video. You managed to help me get these eyes to work! Subscribed and many thanks. As a few other people on here have asked, is there a way you know of to increase the size of the eye to better fill the display? Or at least a way to centre the eye on the display instead of having at the top of it?
@@thelastoutpostworkshop I spent some time trying to find a way to reverse engineer the eyes from a C code array back to an image so I could resize it. Or at least understand how the image looked in the first place. No luck. Thanks for replying.
Thanks for sharing great work. It works perfectly, I'm looking for a way to remove the eyelids but I don't know how to do it. Do you know how to do it? Thank you
Can you transmit video from a runcam3 with these? If so is it as easy as just connecting the run cam and 1.28 lcd screen together ? It’s for a digital night vision build
@@thelastoutpostworkshop thanks for the quick reply.last question though what about transmitting video at all? Are these 1.28 lcd screens capable of doing that besides animations or clock viewing?
I successfully completed this project and I was very happy. I bought a mask and found that the iris was too small for that mask. I tried to modify certain parameters, thinking that if it didn't work, I would recreate the data. I changed EYE_1_XPOSITION in config.h from 50 to 75. After uploading, the eyes disappeared. I returned to the value 50, but nothing appears on the display. I didn't change anything else, so, unfortunately it doesn't work anymore, can you give me some advice on how to recreate the project?
Thank you. Look at this video, I show how to sync sound with LEDs, it's the same for a display. I will release a video soon demonstrating sync with sound and display.
Small suggestion... When I started working w/ config files many years ago I was told that MS notepad can corrupt them. Notepad++ has always been at the top of recommended editors. 👍
I was following your tutorial and where you say go to definition User_Setup_Select.h. It Says no definition found for "User_Setup_Select". Is there a file missing?
@@thelastoutpostworkshop I have uninstalled and reinstalled and still keep getting the same error message. I even uninstalled the latest version and installed the 2.50 version like you have and still keeps telling me it doesn't exist. What could I be doing wrong? Could it be the ESP32 Module?
@@bsshsesports6598 Unfortunately no. I had to go a different route. I decide to with Raspberry Pi 4 and I got it working much faster. But I will return to this one in the future. I was also able to change the Eyes where he says on another question that you cannot change the eyes. which I have done.
@@npdjrick1 Figured it out. Both the installed library in this case TFT_eSPI but be in the same location as your Sketch. I changed my Sketch folder to a primary location on my drive and then reinstalled the libraries and it worked!
Thank you for this video, it is really helpful! I have a question please, how to increase the position and the size of the eyes? I know these are small displays, but the eyes are up there in the upper "corner" and they could be in the middle and a tiny bit bigger. I need them bigger for a project... Also, is there a way to create custom eyes? Could you do a tutorial on that?
@@thelastoutpostworkshop I am sure it would make other people happy too, I was trying for hours yesterday, but I am bad at programming..... ^^ The initial build works like a charm! Your tutorial is really great!
Very nice work and a cool project. Nice job on the instructions as well. Got mine working the first try! Just wondering why you put the eyes so far to the top of the screen and not centered?
super vidéo au top manque juste les yeux rouge globuleux pour halloween sinon j'ai du changer le CS:15 en CS:5 car l'oeil faisait des scintillement sur ESP32 would it be possible to make a code to have red bulging eyes for halloween it would be wonderful
Thanks for the nice project discription. I am not that experienced with Arduino so it is a good practice. I build it using your latest software. Loading without problems. I connected one of my 240x240 tft display with pins as seen in your video. Now get an error gpio: gpio_set_level (227): GPIO output gpio_num error. Can you help me solving this?
Thanks got this to work! I too am trying to figure out how to make the eyes bigger are you still putting out a video on that? I did see another video where a guy found a github file for uncanny eyes that had a bigger bitmap to fit a 240x240 display and somehow plopped it into the smaller sketch files to get bigger eyes. I say somehow because I dont know arduino very well and it was in indonesian so i couldnt follow what he actually did.
@@thelastoutpostworkshop i am using nodemcu board, and spi 1.4inch display, while compiling the code i am getting error related to : TFT_eSPI methods initDMA and pushPixelsDMA
@@thelastoutpostworkshop thanks it worked, uploaded the code successfully, but i am not able to see animation... only lines kind of things.... in the TFT_eSPI/User_Setup.h i am using #define ST7735_DRIVER as the display i have has ic ST7735 similary in User_setup_select.h i am using #include
I had a problem with uploading the code, which I eventualy traced to the display's DC pin being connected to GPIO2 on the ESP32; a common problem apparently. I could upload the code with the DC disconnected and then by re-connecting DC and resetting the ESP32 the "eye" appeared on the display - not ideal. I then edited User_Setup.h file as follows to move the display pins to safer GPIOs. On line 45 comment out (i.e. add “//” in front of the text) the line defining the ILI9341 driver. On line 65 uncomment (i.e. remove the “//”) the line defining the GC9A01 driver. On lines 212 through 218 comment out all the SPI definitions for the ILI9341. On line 223 set MOSI to 23 //DIN On line 224 set SCLK to 18 //CLK On line 225 set CS to 22 //CS On line 226 set DC to 16 //DC On line 227 set RST to 4 //RST In User_Setup_Select.h make sure that line 80 is commented out i.e. //#include // Setup file for ESP32 and GC9A01 SPI bus TFT 240x240 Otherwise the changes to User_Setup.h will be ignored and the display won't work. I think another approach could be to edit Setup46_GC9A01_ESP32.h and change the GPIOs to the safe numbers shown above and then uncomment User_Setup_Select.h line 80i.e. #include Hope this helps anyone having the same problem. Anyone using PlatformIO and an ESP-PROG JTAG programmer probably won't see this potential problem.
I have uploaded the code as instructed I ven downloaded tft_espi@2.5.0 version but the ye does not show up, I et E (40662) gpio: gpio_set_level(227): GPIO output gpio_num error in the terminal
It keeps coming up with this error message what have i done wrong? C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:80:9: error: 'NUM_EYES' was not declared in this scope 80 | } eye [NUM_EYES]; | ^~~~~~~~ C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino: In function 'void setup()': C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:101:3: error: 'initEyes' was not declared in this scope 101 | initEyes(); | ^~~~~~~~ C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:112:16: error: 'eye' was not declared in this scope 112 | digitalWrite(eye[0].tft_cs, HIGH); | ^~~ C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:113:7: error: 'NUM_EYES' was not declared in this scope 113 | if (NUM_EYES > 1) digitalWrite(eye[1].tft_cs, HIGH); | ^~~~~~~~ C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:115:27: error: 'NUM_EYES' was not declared in this scope 115 | for (uint8_t e = 0; e < NUM_EYES; e++) { | ^~~~~~~~ C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:117:21: error: 'eyeInfo' was not declared in this scope; did you mean 'eyeInfo_t'? 117 | tft.setRotation(eyeInfo[e].rotation); | ^~~~~~~ | eyeInfo_t C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino: In function 'void loop()': C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:132:3: error: 'updateEye' was not declared in this scope 132 | updateEye(); | ^~~~~~~~~ exit status 1 Compilation error: 'NUM_EYES' was not declared in this scope
ive figured out 240 by 240 eyes , if anyone is interested?
if you change this line in the eye_ functions
tft.setAddrWindow(eye[e].xposition, 0, 240, 240);//both the 240 were 128
then you can use the default_large.h from dalori esp32 uncanny eyes
then i just changed the position of the eye and the amount it moved
What lines did you change for these?
I have been trying for weeks to get “Uncanny Eyes” working on the 240x240 display and I finally found your channel. Excellent presentation and it works!. I’m anxiously waiting for your update on making the eyes bigger and centered. Then I’ll be able to incorporate them into a plastic skull for my grand nephews. Thanks again.
Did you get this figured out?
@@RandyRasmussen No I gave up and bought the lower resolution displays.
@@squeezer04
You are the best men, i tried so much tutorials and yours is the first one working, I was already despairing. Thanks!
thank you very much bro! I had a big choice between "Chinese copy" and "Waveshare" display. I can't afford an expensive display from Waveshare and I was worried that the Chinese display would be worse, but thanks to your video, I realized that this is not the case and that the Chinese display is fine for me. Thanks again, this is the only video that helped me
See my other videos:
Master Animated GIF on the Round Display & ESP32:
th-cam.com/video/mqSe_uMpxIs/w-d-xo.html
Real-Time Display Design With the Serial Monitor - No Upload, Instant Display Prototyping - Magic:
th-cam.com/video/09negq9Zk_c/w-d-xo.html
Create a Star Wars Tactical Display with the round Display:
th-cam.com/video/HzHRJd7rihE/w-d-xo.html
How do I change the eye animation to make it bigger? so that the LCD can be full? Thank you, I have subscribed to you
Please, How do change the eyes animation to full screen for my TFT round display and change my gift animation from smartphone.
Good morning my dear friend: it is with great satisfaction and joy that I comment that following your tutorial and file I managed to make an eye work. There was a video from another youtuber that I followed all the steps but I never managed. Fortunately your video is complete, didactic and simply sensational. Congratulations. I already subscribed to your channel and I wish you a lot of success here. I'm Brazilian and I didn't find any tutorial in Portuguese and yours is easy to follow. I used the subtitle to translate. Thanks
Note: I'll see if I can get both eyes working and use a joystick.
Thanks a lot!
How do I change the size of the eyes, sir? so that it can be maximized with the TFT LCD@@thelastoutpostworkshop
Fun Halloween project. Got a little lost regarding everywhere the "CS" value needed to be commented out, but got it figured out. Thanks for another fun video.
How do I change the size of the eyes, sir? so that it can be maximized with the TFT LCD
How about thermal cam to track movement ?
you're the best!!! TYSM, great tutorial, so easy to follow and very helpful
Thanks!
Thank you, it's appreciated!
This is sooo cool. I managed to run it on my ESP32-2432S028 module
Thanks for this very nice and clear video!! My next quest will be finding out more about designing and implementing other bitmapped eyes 👀
can the eye display bigger ? seems like a waste of monitor size?
Merci ! Après avoir loupé un 1er essai, ça fait du bien de voir une image sur l'écran !!
Just found this and will watch it all with interest as I want a moving eye for my Mad Eye Moody cosplay.
@andrewh.8890 - yes. I used a collar from a kitchen sink joint which the eye fitted snugly. Put a strap on it and powered it from a usb block. It is really effective
@@andrewh.8890 - feel free
@@therealeggmanthis is exactly what im trying to do. Did you make a video of the project?
8:19 - Hello, Super Video - Question: I am looking for a tutorial for the very interesting 40x160 display with the GC9d01 driver - is there any information on this? Thanks very much
Interesting, I don't know this display, do you have a link to it ?
How can you make the eyes bigger?
Very good work
Thanks
I tried with no success!
how to change the position of the image so that it fills the screen?
Any way to center the eyes to middle of the displays ?
Had this same question today and was able to figure it out. Line 114 of eye_functions.ino, in the drawEye function, you'll find this code:
tft.setAddrWindow(eye[e].xposition, 0, 128, 128);
Change the 0 to update the position of the drawing window. I found that somewhere around 50 got the eyes fairly well centered. So the changed line will look like this:
tft.setAddrWindow(eye[e].xposition, 50, 128, 128);
@@johnnymmcneil Thanks! That's much better!
Excellent video. It worked perfectly for me. Thank you very much.
You're welcome!
@@thelastoutpostworkshop
How do I change the size of the eyes, sir? so that it can be maximized with the TFT LCD
Sjc electronic send me here. Thanks for your amazing project
Thanks! This worked Great!
ok so ive built this but getting the following error message when i compile the code..
exit status 1
'NUM_EYES' was not declared in this scope
Anyone any ideas how to sort this??
Remove "-main" from the folder name after unzipping
I have the issue with the eye thats is blinking like in your video, I look in the code what you told to solve it. Did not find it. Can you please help
Hello,
I would like to know how to adjust the height of the eyes and reverse the right eye in relation to the left eye so that it is more realistic
Best regards
i would also love to know how to adjust the height of the eyes
Do you know any other round display of no more tan 2.1" that does not have that anoying notch at the bottom? Like those in commercial smartwatches
Merci beaucoup pour l'aide. Très bien expliqué.
I have the flickering issue with the CS pin, i changed the CS pin d15 to pinD5 and everything worked perfectly.
Hi! How did you change the PIN number, my ESP32-S3-WROOM-1 does not have the PIN 23, so I can not use the script. I guess it should be somewher on the TF_eSPI directory. Thanks!
J`'ai fait la même chose et ça marche très bien .
Thanks for the video, I am having an issue with the Go to Definition. The TFT_eSPI.h isn't there. I downloaded the library.
You have to install the TFT_eSPI librayr from the library manager
@@thelastoutpostworkshop thanks for the quick reply. It took 2 trys but I loaded 2.5.43. I managed to go to TFT_eSPI.h and try clicking on User_Setup on line 68 but it says no definition. I noticed the TFT_eSPI tab is locked not sure if that matters.
How do you make the Eyes use the full Display?
Any chance you make a video on how to make different eyes for the display
Yes I will do it
Thanks
Hello Sir.... thank you for your video tutorial. Very interesting project.
I have question :
how to change the eyes type by switch? I think it would be very cool to change the eyes type animation by using a switch.
Hey! I managed to get it working, really informative video, thanks for helping on my previous comment.
Are you able to list the video where you increased the eye size? my eyes are small on the screen (I'd like them abit bigger)
thanks!
See here : github.com/thelastoutpostworkshop/ESP32LCDRound240x240Eyes/issues
thank you for your great tutorial. everything works well I just have a question for the position of the eyes in the center of the screen on the X axis no problem but impossible to adjust the Y axis
#define EYE_1_XPOSITION 90 // x shift for eye 1 image on display ORIGINE 50
#define EYE_2_XPOSITION 90 / ORIGINE 50
Hi! Does anyone knows how to change the PIN number, my ESP32-S3-WROOM-1 does not have the PIN 23, so I can not use the script. I guess it should be somewhere on the TF_eSPI directory, but I do not know which specific file I need to change.Thanks!
hello. can you change the eyes to make them a little bigger? or are they really cool. very good video guide you have made..
You can't really change the size of the eyes because they are binary images, but someone found something here : github.com/thelastoutpostworkshop/ESP32LCDRound240x240Eyes/issues/3
hi, great project! how can i change the y position? to center the eye on the screen????!!!!
See here : github.com/thelastoutpostworkshop/ESP32LCDRound240x240Eyes/issues
Спасибо друг, сэкономил кучу времени, кто же знал что настройки так далеко спрятаны
I have a question, is it possible to add other types of eyes ? What do I need to create the want I would like to use ?
You could create them using animated gif, this tutorial should give you a good starting point : th-cam.com/video/mqSe_uMpxIs/w-d-xo.html
@@thelastoutpostworkshop thanks 👍
@@thelastoutpostworkshop i'Ve try it but it gave me error with the eyes parameter (sclera ). I've check the other eyes script and I've try to copy the same varaible but in vain. Also i'm a Linux user, so I can't user convert to C but i've found an online tool and task which format I need my picture (RGBA888 and others) ... I dont know if you could help me on that. Maybe I should use the code of Bring GIFs to Life: Animating with Round Displays & ESP32. I will hit a wall when I'll need to do a rotation for the right eye.
thanks :)
hi, great video thank you! can you tell me how to change the size and center it please?
I am going to release a video on it soon
Hello, great video. I got my display working but i would also like to control the backlight. I am using an esp32 to generate a PWM wave, it is 8 bits and on channel 0. I have tried varying frequencies but they all do the same thing, after a couple of minutes the display just turns off. Do you have any idea on what I can do or point me in the right direction? Thank you!
I never tried to control the backlight of the display, I am not sure you can control it the way you intend to, but I may be wrong.
Hola muchas gracias por explicar paso a paso como lograr replicar el proyecto, despues de ver tantos videos gracias al tuyo logre hacerlo. Y aprovechando crees que pudieras ahora hacer un video donde solo sea una sola pantalla y aparesca un solo ojo que abarque toda la pantalla? O como podria modificar este mismo para que el ojo quede en medio de la pantalla? De ante mano muchas gracias por dedicar tu tiempo para quienes no sabemos de programación y podamos lograr hacer proyectos. Saludos!
Gracias, mira este vídeo, hay un ojo llenando toda la pantalla.
th-cam.com/video/6lLlKY5U77w/w-d-xo.html
Excellent video. It worked perfectly. Thank you very much. One question is how can I get the eyes more centered onto the screen?
I have tried with no success!
Thank you for the response. I fumble around as well and had no luck. It's still an awesome project. @@thelastoutpostworkshop
I added a yposition to the eyeInfo_t typedef and duplicated a y for every x in config.h and eye_functions.ino and moved the eyes down about 40. I little bigger would be better but we might have to regen the images.
@@Ron_Rhodes can you share you updated code please?
really appreciated!
I'm currently mangling the code to try and make the joystickswork. @@dmitriycreations
but try this:
Add Yposition
// This struct is populated in config.h
typedef struct { // Struct is defined before including config.h --
int8_t select; // pin numbers for each eye's screen select line
int8_t wink; // and wink button (or -1 if none) specified there,
uint8_t rotation; // also display rotation and the x offset
int16_t xposition; // position of eye on the screen
int16_t yposition; // position of eye on the screen
} eyeInfo_t;
in the main program.
... then in the config.h
#define EYE_1_YPOSITION 40 // y shift for eye 1 image on display
#define EYE_2_YPOSITION 40 // y shift for eye 2 image on display
...
and set with new arg ..
eyeInfo_t eyeInfo[] = {
{ TFT1_CS, LH_WINK_PIN, TFT_1_ROT, EYE_1_XPOSITION,EYE_1_YPOSITION }, // LEFT EYE chip select and wink pins, rotation and offset
{ TFT2_CS, RH_WINK_PIN, TFT_2_ROT, EYE_2_XPOSITION,EYE_2_YPOSITION }, // RIGHT EYE chip select and wink pins, rotation and offset
};
... in the eye functions code add line
eye[e].xposition = eyeInfo[e].xposition;
> eye[e].yposition = eyeInfo[e].yposition;
... and finally call the method adding ypos
tft.setAddrWindow(eye[e].xposition, eye[e].yposition, SCREEN_SIZE, SCREEN_SIZE);
hope this helps.
I can't get it to compile. 'split' was not declared in this scope - in the eye_functions.ino
Any idea? Apparently, it's a windows/linux thing - it ran perfectly on win11, won't compile on linux.
How to use this display conected a camera micro HDMI output ????
great video! thanks!
there is an X_offset function but not a Y_offset function. it would be nice to have the eyes in the middle of the screen. is that possible?
Thanks. I never tried to move the eyes, I am pretty sure it is possible
Where i can find that?
Useful and interesting video, thank you. A quick question if I may - do you see any noticeable difference in display quality between the one bought from AliExpress vs the Waveshare?
Absolutely no difference
@@thelastoutpostworkshop cool, thanks.
Hey! I'm buying the kit to copy this but what power supply would you recommend? I'm a little confused, once its all soldered together, each screen does 3.3v? so would I need like a 7v battery with a 3v regulator?
as above, what should I do about powering it via battery?
Most ESP32 dev boards have regulators, so you can power them with a battery via the VIN pin (do not use the USB at the same time). You can use an 5v external battery, I think you can go up to 7v, but check the specifications of your ESP32 dev board. You may also have to add a capacitor to stabilize the power input.
Hello, I followed this tutorial, but i have a custom esp32 s3 mini board. It displays the eye for me, but it is not moving at all. Just wondering what could I be possibly doing wrong. I tested the x wing GIF tutorial you have and that works perfectly fine.
Try disabling the DMA by comenting this line #define USE_DMA
Love the Step By Step however I keep getting an error on line 80 of the Sketch when I try to upload. I'm using 2 each 1.5 inch RGB OLED Modules for the eyes with Driver SSD1351; which I've made sure to update accordingly. I followed the video instructions all the way and updated the Config.h file to show 2 displays however I just can't get it to upload onto my ESP32 board. Any suggestions are welcome!
What is the error you are getting ?
@@thelastoutpostworkshop "Compilation error: 'NUM_EYES' was not declared in this scope" It jumps to line 80 of the .ini sketch. I did update the Config.h file as well as all of the other steps.
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:80:7: error: 'NUM_EYES' was not declared in this scope
80 | } eye[NUM_EYES];
| ^~~~~~~~
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino: In function 'void setup()':
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:101:3: error: 'initEyes' was not declared in this scope
101 | initEyes();
| ^~~~~~~~
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:112:16: error: 'eye' was not declared in this scope
112 | digitalWrite(eye[0].tft_cs, HIGH);
| ^~~
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:113:7: error: 'NUM_EYES' was not declared in this scope
113 | if (NUM_EYES > 1) digitalWrite(eye[1].tft_cs, HIGH);
| ^~~~~~~~
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:115:27: error: 'NUM_EYES' was not declared in this scope
115 | for (uint8_t e = 0; e < NUM_EYES; e++) {
| ^~~~~~~~
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:117:21: error: 'eyeInfo' was not declared in this scope; did you mean 'eyeInfo_t'?
117 | tft.setRotation(eyeInfo[e].rotation);
| ^~~~~~~
| eyeInfo_t
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino: In function 'void loop()':
/Users/deborahortiz/Downloads/ESP32LCDRound240x240Eyes-main/ESP32LCDRound240x240Eyes/ESP32LCDRound240x240Eyes.ino:132:3: error: 'updateEye' was not declared in this scope
132 | updateEye();
| ^~~~~~~~~
exit status 1
Compilation error: 'NUM_EYES' was not declared in this scope
I was able to get the eyes working. But they do not fill the screen. How do you make them Bigger?
It's not possible they are fixed bitmap images
search for ESP32-uncanny-eyes-halloween-skull. He uses larger eyes.
hello, How can you make the eyes bigger and centered?
You can't since the eyes images are fixed
Do you have any videos or posts on how to configure two IR temperature sensors like the MLX90614? I'm trying to use a multiplexer but I'm a little stressed trying to get the temperature from each sensor. I want to make a tire sensor for my race car. I'm good with mechanics but bad with programming. Thank you. Nice tutorial.
Sadly I do not have a video on this
A great video. You managed to help me get these eyes to work! Subscribed and many thanks.
As a few other people on here have asked, is there a way you know of to increase the size of the eye to better fill the display? Or at least a way to centre the eye on the display instead of having at the top of it?
Thanks. The eyes are fixed image, so there is no easy way to make them bigger.
@@thelastoutpostworkshop
I spent some time trying to find a way to reverse engineer the eyes from a C code array back to an image so I could resize it. Or at least understand how the image looked in the first place. No luck. Thanks for replying.
I have zero knowledge about this but wondering how you powering that testing board? Does it use the power of from esp32 usb supply?
Yes it is powered through the usb cable connected to your computer
With a realsence point cloud camera you can send OSC coordinates to the esp and track a human then have the eyes follow a human
Thanks for sharing great work. It works perfectly, I'm looking for a way to remove the eyelids but I don't know how to do it. Do you know how to do it? Thank you
Thanks! I don't know how to do remove the eyelids
this is a great toturial
can you tell me how to large the size of the eyes?
You can't because the eyes are bitmap images
@@thelastoutpostworkshop and how can i center it?
Can you transmit video from a runcam3 with these? If so is it as easy as just connecting the run cam and 1.28 lcd screen together ? It’s for a digital night vision build
I don't really know, I have never used a runcam3
@@thelastoutpostworkshop thanks for the quick reply.last question though what about transmitting video at all? Are these 1.28 lcd screens capable of doing that besides animations or clock viewing?
May transmitting video over wifi
I successfully completed this project and I was very happy. I bought a mask and found that the iris was too small for that mask. I tried to modify certain parameters, thinking that if it didn't work, I would recreate the data. I changed EYE_1_XPOSITION in config.h from 50 to 75. After uploading, the eyes disappeared. I returned to the value 50, but nothing appears on the display. I didn't change anything else, so, unfortunately it doesn't work anymore, can you give me some advice on how to recreate the project?
This appears like a wiring issue, change the eye position does not cause this behavior
@@thelastoutpostworkshop I tried. Could be arduino updates the cause?
@ It worked in any condition, until today, when I tried to change something.
yes it could be an update, look at this tutorial : th-cam.com/video/6lLlKY5U77w/w-d-xo.html
Hi friend, I loved your video, and it helped me a lot. I have a question, is it possible to place the eye more centered on the screen?
No these are binary files and they cannot be enlarged or centered
Thank you. Look at this video, I show how to sync sound with LEDs, it's the same for a display. I will release a video soon demonstrating sync with sound and display.
Small suggestion... When I started working w/ config files many years ago I was told that MS notepad can corrupt them. Notepad++ has always been at the top of recommended editors. 👍
Never had a corrupt issue with notepad from Windows
However I also have never had any issues with MS Notepad, I prefer using Notepad++ to edit code with it.
Interesting project, did you manage to make the eyes bigger?
Thanks for your videos.
No the images are fixed size
I was following your tutorial and where you say go to definition User_Setup_Select.h. It Says no definition found for "User_Setup_Select". Is there a file missing?
It comes with the TFT_eSPI library, make sure you have it installed
@@thelastoutpostworkshop I have uninstalled and reinstalled and still keep getting the same error message. I even uninstalled the latest version and installed the 2.50 version like you have and still keeps telling me it doesn't exist. What could I be doing wrong? Could it be the ESP32 Module?
@@npdjrick1 Curious if you ever found out how to fix this? I am having the same issue.
@@bsshsesports6598 Unfortunately no. I had to go a different route. I decide to with Raspberry Pi 4 and I got it working much faster. But I will return to this one in the future. I was also able to change the Eyes where he says on another question that you cannot change the eyes. which I have done.
@@npdjrick1 Figured it out. Both the installed library in this case TFT_eSPI but be in the same location as your Sketch. I changed my Sketch folder to a primary location on my drive and then reinstalled the libraries and it worked!
hi i have a question the ling yuo share are need to edit..? or ready to uplode on arduino. thank you 😊
You will need at least configure the TFT_eSPI library like explained in the video
Hey w do I load other animations
Thank you for this video, it is really helpful! I have a question please, how to increase the position and the size of the eyes? I know these are small displays, but the eyes are up there in the upper "corner" and they could be in the middle and a tiny bit bigger. I need them bigger for a project... Also, is there a way to create custom eyes? Could you do a tutorial on that?
I never tried to change the eyes size and position, good idea for a future video.
@@thelastoutpostworkshop I am sure it would make other people happy too, I was trying for hours yesterday, but I am bad at programming..... ^^ The initial build works like a charm! Your tutorial is really great!
Very nice work and a cool project. Nice job on the instructions as well. Got mine working the first try! Just wondering why you put the eyes so far to the top of the screen and not centered?
I have tried without success!
By any chance, is there someone who has a STL or CAD file of a skull with the eye socket with the round display size.
I have seen some screens with ESP32 board, its like one module. will this project on that screen??
which module ?
ESP32 GL For Arduino Development Board 1.28 Inch 240*240 IPS Smart Display Screen LCD TFT Module WiFi & Bluetooth With Touch
Best detailed video I found, congratulations. Would it be possible to implement eye control with joystick? Thanks
Yes, absolutely
Is there any support for micropython?
How can you make the eyes bigger?
Very good work
Thanks
I am going to release a video on it soon
@@thelastoutpostworkshop Thank you for the response, I will wait for your video
iya iya
super vidéo au top manque juste les yeux rouge globuleux pour halloween
sinon j'ai du changer le CS:15 en CS:5 car l'oeil faisait des scintillement sur ESP32
would it be possible to make a code to have red bulging eyes for halloween it would be wonderful
thank you, it worked;) and you can enlarge the eyes for the whole TFT ?;)
Thanks, no they are fixed images
@@thelastoutpostworkshopToo bad, I wanted the eye to be on the entire display :) 😊
Hi, can I use this display with a camera? I'm trying to made a digital nigth vision. Thank's
I am not sure, this could be complex because you would have to stream the video from the camera to the display through the ESP32. This is worth a try!
Good video mate helped a lot!
Saludos amigo!!!
i need linke eye's video fur display
Will it work with esp8366??
Never tried it
Thanks for the nice project discription. I am not that experienced with Arduino so it is a good practice. I build it using your latest software. Loading without problems. I connected one of my 240x240 tft display with pins as seen in your video. Now get an error gpio: gpio_set_level (227): GPIO output gpio_num error. Can you help me solving this?
how to increase eye size?
search for ESP32-uncanny-eyes-halloween-skull. That GIT uses larger eyes. Also uses other CS pins. Uses 21 and 22.
Love the video but I wanna add another type of eyes can you help
hello the code is ready to use or need modifications
Ready to used!
can i get bigger than this monitor pls and where i can get
Oled Display:
amzn.to/3CJjbHy
Thanks got this to work! I too am trying to figure out how to make the eyes bigger are you still putting out a video on that?
I did see another video where a guy found a github file for uncanny eyes that had a bigger bitmap to fit a 240x240 display and somehow plopped it into the smaller sketch files to get bigger eyes. I say somehow because I dont know arduino very well and it was in indonesian so i couldnt follow what he actually did.
Thanks, yes it is on my to-do list, but I don't know when I will do it yet!
Thank you
i have successfully uploaded but TFT does not light up
Double check your wiring, make sure the TFT receives power
Thank you very much for your help. After I checked, it was indeed the cable that was disconnected😊😊
Thank you. It turns out the cable was disconnected
Sorry, I want to ask, the eyes are too small, where can they be changed so that the eyes are a little bigger?
worked for me when i first tried now my display just turns on
having issue, can you help ?
sure what issues do you have ?
@@thelastoutpostworkshop i am using nodemcu board, and spi 1.4inch display, while compiling the code i am getting error related to : TFT_eSPI methods initDMA and pushPixelsDMA
Try by commenting this line in the sketch : //#define USE_DMA
@@thelastoutpostworkshop thanks it worked, uploaded the code successfully, but i am not able to see animation... only lines kind of things....
in the TFT_eSPI/User_Setup.h
i am using #define ST7735_DRIVER
as the display i have has ic ST7735
similary in User_setup_select.h
i am using
#include
If you see garbage on the screen, it is your pins configuration or wiring
Tolong cara ubah ukuran nya sir..
I had a problem with uploading the code, which I eventualy traced to the display's DC pin being connected to GPIO2 on the ESP32; a common problem apparently. I could upload the code with the DC disconnected and then by re-connecting DC and resetting the ESP32 the "eye" appeared on the display - not ideal. I then edited User_Setup.h file as follows to move the display pins to safer GPIOs.
On line 45 comment out (i.e. add “//” in front of the text) the line defining the ILI9341 driver.
On line 65 uncomment (i.e. remove the “//”) the line defining the GC9A01 driver.
On lines 212 through 218 comment out all the SPI definitions for the ILI9341.
On line 223 set MOSI to 23 //DIN
On line 224 set SCLK to 18 //CLK
On line 225 set CS to 22 //CS
On line 226 set DC to 16 //DC
On line 227 set RST to 4 //RST
In User_Setup_Select.h make sure that line 80 is commented out i.e. //#include // Setup file for ESP32 and GC9A01 SPI bus TFT 240x240
Otherwise the changes to User_Setup.h will be ignored and the display won't work.
I think another approach could be to edit Setup46_GC9A01_ESP32.h and change the GPIOs to the safe numbers shown above and then uncomment User_Setup_Select.h line 80i.e. #include
Hope this helps anyone having the same problem. Anyone using PlatformIO and an ESP-PROG JTAG programmer probably won't see this potential problem.
Как на ваших дисплеях увеличить размер глаз?
I am not sure how do it, but some day I will give it a try
@@thelastoutpostworkshop 🤝🤝🤝✊️
Sir, may I request to send a .gif image of defaultEye. thanks
You want to replace the eyes with GIF images ?
No, but I need trouble max image for defaultEyes is not full screen. What can I full screen image to GUI for 240*240? Or replace image ?
On est d’accord que t’es québécois right?
On est d'accord
hey
I have uploaded the code as instructed I ven downloaded tft_espi@2.5.0 version but the ye does not show up, I et
E (40662) gpio: gpio_set_level(227): GPIO output gpio_num error in the terminal
This error is raised by ESP32 core library when setting a value to the wrong pin, this is probably due to an error in your wiring
@@thelastoutpostworkshop , you’re right! I misplaced 23 pin 🤦🏾♂️ my bad.
Everything works now
@DBOSS Project
It keeps coming up with this error message what have i done wrong?
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:80:9: error: 'NUM_EYES' was not declared in this scope
80 | } eye [NUM_EYES];
| ^~~~~~~~
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino: In function 'void setup()':
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:101:3: error: 'initEyes' was not declared in this scope
101 | initEyes();
| ^~~~~~~~
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:112:16: error: 'eye' was not declared in this scope
112 | digitalWrite(eye[0].tft_cs, HIGH);
| ^~~
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:113:7: error: 'NUM_EYES' was not declared in this scope
113 | if (NUM_EYES > 1) digitalWrite(eye[1].tft_cs, HIGH);
| ^~~~~~~~
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:115:27: error: 'NUM_EYES' was not declared in this scope
115 | for (uint8_t e = 0; e < NUM_EYES; e++) {
| ^~~~~~~~
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:117:21: error: 'eyeInfo' was not declared in this scope; did you mean 'eyeInfo_t'?
117 | tft.setRotation(eyeInfo[e].rotation);
| ^~~~~~~
| eyeInfo_t
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino: In function 'void loop()':
C:\Users\zoefa\Documents\Arduino\ESP32LCDRound240x240Eyes\ESP32LCDRound240x240Eyes.ino:132:3: error: 'updateEye' was not declared in this scope
132 | updateEye();
| ^~~~~~~~~
exit status 1
Compilation error: 'NUM_EYES' was not declared in this scope
Open an issue here : github.com/thelastoutpostworkshop/ESP32LCDRound240x240Eyes
i have the same issue, did you solve your issue?