I've been watching a few of your videos. Your channel is awesome! With the number of amazing videos you have, I can't believe you don't have >100K subscribers. Please keep posting. Love watching all the microcontroller videos!
Yes! I've also learned the hard way that you should never solder a microcontroller board to your PCB! And that was before I got my desolder gun... :) Also, thanks for sharing this, having more and more examples of using the Pi Pico is useful for everyone!
Thank you so much for your kind words! I really appreciate that you had fun building it! It is definitely possible, because the SD card is connect to the Pico especially for this reason, that people want to make totally different things and might want to use the SD card. However, I don't know about the "easy" part. But there are a few examples of different libraries that might help you: From the TFT_eSPI library: github.com/Bodmer/TFT_eSPI/blob/master/examples/Generic/ESP32_SDcard_jpeg/ESP32_SDcard_jpeg.ino Via Google: randomnerdtutorials.com/esp32-microsd-card-arduino/ If the pictures are not JPEG you off course need to search for another image decoding library.
@@DustinWatts Thank you very much for that info. I purchased your 2 esp32 combiners with the pico and was looking for other ways to utilize them. I was also looking to purchase the other boards listed in TFT_eSPI user setups. Thanks again, I have been taught a lot watching your videos.
So, I'm doing this for a work project since they gave us all a Pico to play with and just got the PCB in the mail today. I was doing some test fitting before i solder everything together tonight and realized there are no pins or anything for the 4 points labeled SD card and don't see anything in the instructions or video specifying. Am I supposed to have something to mount here or is the SD card needed for this to fully function? Just want to be sure before i start so i don't have to redo it all. Great video though, thanks!
Usually the 4 header pins for the SD card don;t come with the screen module. It is not needed so you so not have to solder them. I would recommend it, but in that case just for stability! If you have the pinheaders and sockets I would use them, if not. Not an issue for the functionality! Good luck with your work project!
Thanks for the compliment! I would call both projects intermediate. And both will take some time and a lot of coding. But doable. Have a look at FreeTouchDeck (also by me). That runs on an ESP32 and basically has both things you are wondering about implemented. :)
@@DustinWatts my thought was to go for the freetouchdeck first but it didn't have usb connection. But now when it's not a problem anymore I will go for it again. Thank you for the help.
Hi Cris! Probably yes... in the script there is line: `#define REPEAT_CAL` if that is set to `true` it will run the calibration function each time the Pi boots. If set to false, it will check for a calibration file that is written to the internal flash and only runs the rest of the calibration if the script is not there. So try to upload the sketch with `#define REPEAT_CAL false`. that should do the trick!
In the FreeTouchDeck.ino you can set the width and height of your screen, the rest is calculated from that. Also make sure you select the right screen in the User_Setup.h of the TFT_eSPI library. Should be all!
im sorry but do we have to solder in the sd card slot and if so where can i buy one and which type of sd card slot should it be? Sorry I am new to this and this is the first ever Raspberry project ever for me
Hi Dani, The SD card is not used, but you should solder it for stability on the other side. No problem btw... asking is never a problem! Good luck with your Matrix!
Thanks a lot for this tutorial!! My 13 years kid is excited to make it work but the touch panel is not responding at all. After some days breaking our minds, I found out that we bought a capacitive ILI9488 (not resistive) and it looks that the touch pins have different names and I guess different functions. Do you know if there is any reciprocation between pins? Or do u have any tips to make it work? I tried to search on internet but I didn't find any information about it. Thanks again for sharing this nice project and Merry Christmas!!
@@DustinWatts Hi, at screem the descrption sais : Serial TFT LCD Module Display Screen with Touch Panel Driver IC ILI9488 Support capacitive touch GT911 It's the same that u used but with capacite touch. all pins are the same but in the touch area it appears both pin labels, resistive and capacitive. The pin labels correspondence is this: T_CLK --- C_SCL T_CS --- C_RST T_DIN --- T_DO --- C_SDA T_IRQ --- C_INT Thanks again for your time
@@marcelschreiber3266 Yeah just buy where it is the cheapest for you (with shipping and all). They are all the same. Just make sure it is 480x320 and the driver is the ILI9488. Don't forget to select "With touch", otherwise you do not have a touchscreen and then this project won't work.
Yes. Within a certain limit (to do with the TFT_eSPI library). You can make more buttons, less, different colours, etc. Just have a look a the code, because it is all done in the sketch itself. But if you have a specific change, let me know and I will try to add an example!
@@kevinroach9380 The labels can have text labels. I'm not sure about arrows that are included in the fonts, but you can always use the characters "", "^" and "v" as arrows. You can also adapt the buttons to show images although that is beyond the scope of this demo because that would mean drawing images and not just text on a label.
Compilation error: 'class TFT_eSPI' has no member named 'getTouch' it show touch error and 977 | #warning >>>>------>> TOUCH_CS pin not defined, TFT_eSPI touch functions will not be available!
You need to #define TOUCH_CS in UserSetup.h of the TFT_eSPI library. Even if you don't need it because you are using another library for touch for example, TOUCH_CS is used by the keypad/button class. So must be defined. It does not have to be a pin that is in use. But is has to be defined. Just choose a pin you are not using (just to be safe) and the error/warning goes away. I use 21 (see example) because that is what I use for the resistive touch screen and just left it.
Hello there, I'm using ILI9488 3,5" screen and choosed in the user_setup file. But when i compile the code it gave this error. I can not find the solution over internet and i wanted to write in here in case someone has this same error . Error: #error Touch screen not supported in parallel or SPI PIO mode, use a separate library.
Can anyone direct me to a proper way to blank the screen when I turn the computer off. I have no way to shut off the USB port when my computer goes to sleep or is shut down. the computer is in the same room as a television and the TFT lights up the entire room when the room lights are off and makes glare on the TV. I have tried coding it into the touch pad myself but have only been frustrating myself.
Hmm… difficult. You could code in a sleep function as there is in FreeTouchDeck. We could also look in to the USB Keyboard library to see if there is a way to check for an active USB host and if not, go to sleep…
I've had an ILI9488 kicking about for a while, which I've never actually seen working (due to scarcity of drivers), so I decided to build this in order to test it. There was no touch screen calibration on first boot, and the touch screen didn't appear to work, so I forced a re-calibrate which fixed it. I'd like to utilise the SD card slot to make a music player; does your board support that?
Yes, the SPI and CS of the SD card are also connected. I have to be honest, I haven't tested SD card functionality yet. But I see no reason why it shouldn't work!
Hi I know this is a very old project but I have been using it for a very long time. It looks like some of the libraries have been updated and when I compile I am getting the following error "Arduino15\libraries\TFT\src\utility\glcdfont.c:3:10: fatal error: avr/io.h: No such file or directory" That or I am doing something different this time and I cannot tell what. I liked this project and it was awesome when it was running but the Pico it was on failed and I am now using a Pico W. Hope it is an Easy Answer.
That's annoying. I try to keep my projects up to date, but since I don't use this one myself I rely on users like you to tell me something broke. But just to be sure that it is a library vs. program issue, can you open an issue on Github? Tell me what IDE you are using, what libraries and their versions, the board you are using, post the whole error log, etc. It will avoid a long discussion here on TH-cam. You can also join my Discord server which could be faster. A quick fix maybe: put the file github.com/Bodmer/TFT_eSPI/blob/master/Fonts/glcdfont.c in the folder: Arduino15\libraries\TFT\src\utility\ But I don't think this is the best solution :) l'm also wondering why avr/io.h is involved on an RP2040. DId you select the right board?
Parts have arrived. Assembled the components. I'll let you know how it goes once I've learned how to Arduino/Pi. :) Made it through up to pasting new code but when loading the - Pico Matrix Touch - file hit a "filename, directory name or volume syntax etc" error. any help greatly appreciated.
I've been watching a few of your videos. Your channel is awesome! With the number of amazing videos you have, I can't believe you don't have >100K subscribers. Please keep posting. Love watching all the microcontroller videos!
Thank you so much for your amazing compliment @mtnwildernessfamily ! The subscribers will come ;)
@@DustinWatts It's a well deserved compliment! Yes, they will.
Yes! I've also learned the hard way that you should never solder a microcontroller board to your PCB! And that was before I got my desolder gun... :)
Also, thanks for sharing this, having more and more examples of using the Pi Pico is useful for everyone!
De-soldering all those header pins is not fun indeed! Now I have my Pico, I"m inspired to do more projects with it!
Can confirm, that’s exactly what happens when I open a box from pcbway! :)
Every time! :D
this was great. I enjoyed making it. Is there an easy way to use this same setup or the touchdeck to make a simple camera SD card viewer? Thanks
Thank you so much for your kind words! I really appreciate that you had fun building it!
It is definitely possible, because the SD card is connect to the Pico especially for this reason, that people want to make totally different things and might want to use the SD card.
However, I don't know about the "easy" part. But there are a few examples of different libraries that might help you:
From the TFT_eSPI library: github.com/Bodmer/TFT_eSPI/blob/master/examples/Generic/ESP32_SDcard_jpeg/ESP32_SDcard_jpeg.ino
Via Google: randomnerdtutorials.com/esp32-microsd-card-arduino/
If the pictures are not JPEG you off course need to search for another image decoding library.
@@DustinWatts Thank you very much for that info. I purchased your 2 esp32 combiners with the pico and was looking for other ways to utilize them. I was also looking to purchase the other boards listed in TFT_eSPI user setups. Thanks again, I have been taught a lot watching your videos.
So, I'm doing this for a work project since they gave us all a Pico to play with and just got the PCB in the mail today. I was doing some test fitting before i solder everything together tonight and realized there are no pins or anything for the 4 points labeled SD card and don't see anything in the instructions or video specifying. Am I supposed to have something to mount here or is the SD card needed for this to fully function? Just want to be sure before i start so i don't have to redo it all. Great video though, thanks!
Usually the 4 header pins for the SD card don;t come with the screen module. It is not needed so you so not have to solder them. I would recommend it, but in that case just for stability! If you have the pinheaders and sockets I would use them, if not. Not an issue for the functionality! Good luck with your work project!
Great video and project! I wonder if it would be difficult to add custom icons instead of numbers and have multiple layers?
Thanks for the compliment! I would call both projects intermediate. And both will take some time and a lot of coding. But doable.
Have a look at FreeTouchDeck (also by me). That runs on an ESP32 and basically has both things you are wondering about implemented. :)
@@DustinWatts Do you think it would be easier to implement usb connection with a esp32-s3 to the freetouchdeck?
@@nv7jjo FreeTouchDeck has been updated to support the USB connection from ESP32-S3. So yes...
@@DustinWatts my thought was to go for the freetouchdeck first but it didn't have usb connection. But now when it's not a problem anymore I will go for it again. Thank you for the help.
@@nv7jjo You are welcome!
Hi Dustin, works a treat except every time its powered on, it wants to recalibrate touch screen! Any ideas?
Hi Cris! Probably yes... in the script there is line: `#define REPEAT_CAL` if that is set to `true` it will run the calibration function each time the Pi boots. If set to false, it will check for a calibration file that is written to the internal flash and only runs the rest of the calibration if the script is not there. So try to upload the sketch with `#define REPEAT_CAL false`. that should do the trick!
what changes would you have to make for a 2.8in display?
In the FreeTouchDeck.ino you can set the width and height of your screen, the rest is calculated from that. Also make sure you select the right screen in the User_Setup.h of the TFT_eSPI library. Should be all!
hello can you do this without any sodering
??
You can use a breadboard and jumper wires. But be aware that loose connection can cause weird glitches.
Great job, can you make home control panel (auotomation) with this touch lcd and nodemcu to control other relay wifi, arduoino,sensors,..
I might do that!
im sorry but do we have to solder in the sd card slot and if so where can i buy one and which type of sd card slot should it be? Sorry I am new to this and this is the first ever Raspberry project ever for me
Hi Dani, The SD card is not used, but you should solder it for stability on the other side. No problem btw... asking is never a problem! Good luck with your Matrix!
How does this project compare to the ESP32 Touchdown? It seems to be the same screen but the pico has fewer resources.
It is a bit apples and oranges. The ESP32 has WiFi, BLE etc. But the Pico has USB HID support.
Thanks a lot for this tutorial!!
My 13 years kid is excited to make it work but the touch panel is not responding at all. After some days breaking our minds, I found out that we bought a capacitive ILI9488 (not resistive) and it looks that the touch pins have different names and I guess different functions. Do you know if there is any reciprocation between pins? Or do u have any tips to make it work? I tried to search on internet but I didn't find any information about it.
Thanks again for sharing this nice project and Merry Christmas!!
Hi! What screen exactly did you buy? I can do some research for you and tell you how and if it is possible to still make it work!
@@DustinWatts Hi, at screem the descrption sais : Serial TFT LCD Module Display Screen with Touch Panel Driver IC ILI9488 Support capacitive touch GT911
It's the same that u used but with capacite touch. all pins are the same but in the touch area it appears both pin labels, resistive and capacitive.
The pin labels correspondence is this:
T_CLK --- C_SCL
T_CS --- C_RST
T_DIN ---
T_DO --- C_SDA
T_IRQ --- C_INT
Thanks again for your time
@@JavierRodriguez-yo5jr That is an I2C screen so you would need the drivers for that screen. And possibly alter the code....
@@DustinWatts I'll try to find the drivers for a IC2 screen. I will let you know my advances. Thanks
@@JavierRodriguez-yo5jr Good luck!
The details! Great job
Hi,
I have another question: Which display is the right one?
the 320x480 from ali under the video or the 480×320 from amazon?
I would say they are both the same. 320x480 is vertical and 480x320 is horizontal, but in the software you set the orientation :)
@@DustinWatts
ok thank you than I buy the one from ali.
@@marcelschreiber3266 Yeah just buy where it is the cheapest for you (with shipping and all). They are all the same. Just make sure it is 480x320 and the driver is the ILI9488. Don't forget to select "With touch", otherwise you do not have a touchscreen and then this project won't work.
Ok thankyou
Can the touch screen buttons size and style be changed?
Yes. Within a certain limit (to do with the TFT_eSPI library). You can make more buttons, less, different colours, etc. Just have a look a the code, because it is all done in the sketch itself. But if you have a specific change, let me know and I will try to add an example!
@@DustinWatts what i would like is direction buttons, left, right, up, down. Then seperate up and down. The other buttons are fine.
@@kevinroach9380 The labels can have text labels. I'm not sure about arrows that are included in the fonts, but you can always use the characters "", "^" and "v" as arrows. You can also adapt the buttons to show images although that is beyond the scope of this demo because that would mean drawing images and not just text on a label.
@@DustinWatts THANKS
Compilation error: 'class TFT_eSPI' has no member named 'getTouch' it show touch error and 977 | #warning >>>>------>> TOUCH_CS pin not defined, TFT_eSPI touch functions will not be available!
You need to #define TOUCH_CS in UserSetup.h of the TFT_eSPI library. Even if you don't need it because you are using another library for touch for example, TOUCH_CS is used by the keypad/button class. So must be defined. It does not have to be a pin that is in use. But is has to be defined. Just choose a pin you are not using (just to be safe) and the error/warning goes away. I use 21 (see example) because that is what I use for the resistive touch screen and just left it.
@@DustinWatts when I upload its show no drive to deploy failed uploading uploading error
Hello there,
I'm using ILI9488 3,5" screen and choosed in the user_setup file. But when i compile the code it gave this error.
I can not find the solution over internet and i wanted to write in here in case someone has this same error .
Error: #error Touch screen not supported in parallel or SPI PIO mode, use a separate library.
Sorry for the late response, but I don't have a solution for you. Maybe you can post an issue on the TFT_eSPI or the PICO core by Earl E Phillhower?
Hallo dustin i have a question for you is This still working?
Hi Marcel. Yes this is still working :)
Ok thank you.
Greetings
Can anyone direct me to a proper way to blank the screen when I turn the computer off. I have no way to shut off the USB port when my computer goes to sleep or is shut down. the computer is in the same room as a television and the TFT lights up the entire room when the room lights are off and makes glare on the TV. I have tried coding it into the touch pad myself but have only been frustrating myself.
Hmm… difficult. You could code in a sleep function as there is in FreeTouchDeck. We could also look in to the USB Keyboard library to see if there is a way to check for an active USB host and if not, go to sleep…
@@DustinWatts Thanks! That's a great pointer. I'll look in the appropriate libraries and check out the FreeTouchDeck code.
Hey thank you for this project and video! Is it possible to load images for the buttons from the SDCard?
Yes it is. Have a look a the TFT_eSPI examples on loading images from a filesystem.
@@DustinWatts Will do, awesome, thanks for your fast reply!
I've had an ILI9488 kicking about for a while, which I've never actually seen working (due to scarcity of drivers), so I decided to build this in order to test it. There was no touch screen calibration on first boot, and the touch screen didn't appear to work, so I forced a re-calibrate which fixed it.
I'd like to utilise the SD card slot to make a music player; does your board support that?
Yes, the SPI and CS of the SD card are also connected. I have to be honest, I haven't tested SD card functionality yet. But I see no reason why it shouldn't work!
@@DustinWatts Thanks. I've just ordered 5 boards (China Post), so I'll have spares (eventually), if anyone wants one.
@@andyfraser5876 You might want to post this on my Discord. If someone that lives near you that might be worth it.
The boards arrived today. Just 2 weeks which is much quicker than expected. Please let me know if anyone wants one.
Hi Andy, i have the same problem. At first boot, there is no calibration screen. And touch screen does not respond. How can i re-calibrate it ?
Where can i found all the keyboard code?
Follow the link in the description: github.com/DustinWatts/Pico-Matrix-Touch-Keyboard
@@DustinWatts omg, sorry, i mean the keyword code, like Numpad 1 is NUMPAD_ONE or anything. i've been looking for an hour and still cant find it
Hi I know this is a very old project but I have been using it for a very long time. It looks like some of the libraries have been updated and when I compile I am getting the following error "Arduino15\libraries\TFT\src\utility\glcdfont.c:3:10: fatal error: avr/io.h: No such file or directory" That or I am doing something different this time and I cannot tell what. I liked this project and it was awesome when it was running but the Pico it was on failed and I am now using a Pico W. Hope it is an Easy Answer.
That's annoying. I try to keep my projects up to date, but since I don't use this one myself I rely on users like you to tell me something broke. But just to be sure that it is a library vs. program issue, can you open an issue on Github? Tell me what IDE you are using, what libraries and their versions, the board you are using, post the whole error log, etc. It will avoid a long discussion here on TH-cam. You can also join my Discord server which could be faster.
A quick fix maybe: put the file github.com/Bodmer/TFT_eSPI/blob/master/Fonts/glcdfont.c in the folder: Arduino15\libraries\TFT\src\utility\
But I don't think this is the best solution :)
l'm also wondering why avr/io.h is involved on an RP2040. DId you select the right board?
Thanks)
You are welcome!
Great one, this time I won't have to try and find a USB hub that works with Win8.1 ;-)
Just upgrade! :P
Great job!!
Please test a Waveshare 3.5inch Touch Display Module for Raspberry Pi Pico, 65K Colors, 480×320, SPI .
Thanks!
Hey, the project is amazing. If you wish to feature it, kindly contact us.
Found this because of the ToP Video
Parts have arrived. Assembled the components. I'll let you know how it goes once I've learned how to Arduino/Pi. :)
Made it through up to pasting new code but when loading the - Pico Matrix Touch - file hit a "filename, directory name or volume syntax etc" error. any help greatly appreciated.
What's wrong with breadboards?
Loose and bad connections can make the screen fail.