• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

[SOLVED] Help With 2.2" ILI9341 Display Not Working

Scheduled Pinned Locked Moved Help and Support
gpioscreentft
15 Posts 2 Posters 8.2k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • O
    obsidianspider
    last edited by obsidianspider 9 Feb 2016, 15:26 21 Aug 2016, 00:01

    I don't want to hijack @moosepr's post with me trying to figure out this display, but can someone get me some tips on what to check for on why my display isn't working?

    I tried to use this blog post to wire it up. The pins aren't labeled exactly the same as the Adafruit display, but I think I have them connected properly.

    This is a photo of the display's pins.

    0_1471735960872_pinout.jpg

    This is how I think they translated to the chart on the aforementioned blog post.

    0_1471737032375_crosswalk.png

    I connected it up to my T-board to what I think are the right pins.

    0_1471737126551_connected-screen.jpg

    I tried running the commands from here

    if i remember right, you need to go into the raspiconfig, and enable spi, disable overscan, and enable device tree, then you should be able to run the command "sudo modprobe fbtft_device pitft22" to actually get the screen active (the backlight should light). You can test it with the command "con2fbmap 1 1" which should pop your terminal session onto the tft screen (run "con2fbmap 1 0" to get it back)

    And I'm getting an error

    pi@retropie:~ $ sudo modprobe fbtft_device pitft22
    modprobe: ERROR: could not insert 'fbtft_device': Invalid argument
    

    The display does nothing. On the good side nothing sizzled, popped, created a weird smell, or lit on fire.

    I've tried Googling that error and I've not found anything helpful, so if anyone has any insight or can point me to somewhere with some good troubleshooting I'd really appreciate it. I may have it hooked up wrong (very possible) or I have to run a command/install something (very possible) or my display is a dud (I have no way to know).

    📷 @obsidianspider

    1 Reply Last reply Reply Quote 1
    • O
      obsidianspider
      last edited by obsidianspider 21 Aug 2016, 22:19

      This article from Adafruit seems helpful, but can anyone confirm my pinout translation? I think I have something hooked up wrong.

      📷 @obsidianspider

      M 2 Replies Last reply 22 Aug 2016, 13:42 Reply Quote 0
      • M
        moosepr @obsidianspider
        last edited by 22 Aug 2016, 13:42

        @obsidianspider the only thing to check is your green cable. It looks to be into gnd rather than pin 25 on the pi side.

        Have you enabled the SPI in the raspiconfig?

        want to get a tft into your project, look no further than here https://retropie.org.uk/forum/topic/7464/ili9341-tft-screen-guide

        O 1 Reply Last reply 25 Aug 2016, 14:48 Reply Quote 1
        • M
          moosepr @obsidianspider
          last edited by 22 Aug 2016, 13:45

          @obsidianspider also I may have got the command wrong! My memory is failing me

          Try this

          Sudo modprobe fbtft_device name=adafruit22

          want to get a tft into your project, look no further than here https://retropie.org.uk/forum/topic/7464/ili9341-tft-screen-guide

          1 Reply Last reply Reply Quote 1
          • O
            obsidianspider @moosepr
            last edited by 25 Aug 2016, 14:48

            @moosepr Thanks for the tips. The green wire is hooked up to Pin 25. I'm going to have to check into the SPI configuration. I thought I enabled it, but I've been away for work for the past few days and haven't had a chance to fool with it. Once I get everything working I'll be sure to write it up so future people don't struggle like I am.

            📷 @obsidianspider

            1 Reply Last reply Reply Quote 0
            • O
              obsidianspider
              last edited by 1 Sept 2016, 12:39

              After installing the dependencies from the Adafruit article and running
              sudo python image.py

              I got the screen to light up! But there was no cat image. I tried re-running the command and now I get

              pi@retropie:~/Adafruit_Python_ILI9341/examples $ sudo python image.py
              Traceback (most recent call last):
                File "image.py", line 41, in <module>
                  disp = TFT.ILI9341(DC, rst=RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=64000000))
                File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/SPI.py", line 42, in __init__
              IOError: [Errno 2] No such file or directory
              

              It lit up once, so that's a good sign. Now I just need to figure out why that error is showing up and why the cat image didn't display intitially.

              Baby steps…

              📷 @obsidianspider

              M 1 Reply Last reply 1 Sept 2016, 12:57 Reply Quote 0
              • M
                moosepr @obsidianspider
                last edited by 1 Sept 2016, 12:57

                @obsidianspider that adafruit bit you found is using python to talk to the screen (which is fine) but im not sure how that would cope with being able to load different images at different times (maybe you could pass the path to the image when calling the python?)

                did you try the other command i sent?

                Sudo modprobe fbtft_device name=adafruit22

                this should make the backlight fire up, then you can type

                con2fbmap 1 1

                to get your terminal onto the little tft

                want to get a tft into your project, look no further than here https://retropie.org.uk/forum/topic/7464/ili9341-tft-screen-guide

                1 Reply Last reply Reply Quote 0
                • O
                  obsidianspider
                  last edited by 1 Sept 2016, 13:14

                  pi@retropie:~ $ sudo modprobe fbtft_device name=adafruit22
                  doesn't seem to do anything

                  But I think I may be on to part of the problem

                  When I do

                  ls /dev/*spi*

                  when I'm first booting I get

                  /dev/spidev0.0  /dev/spidev0.1
                  

                  Which is what Adafruit and some other articles say that I should see if SPI is working

                  but later (once EmulationStation is fully loaded) I get

                  pi@retropie:~ $ ls /dev/*spi*
                  /dev/spidev0.1
                  

                  📷 @obsidianspider

                  1 Reply Last reply Reply Quote 0
                  • O
                    obsidianspider
                    last edited by 1 Sept 2016, 15:48

                    0_1472743488965_screen-lit-up.jpg

                    I got it to work… kind of.

                    The first thing I did was update to RetroPie 4.0.2

                    But I still think there's something wrong with how I have it connected.

                    When I boot up the pi, both SPI ports are showing.

                    pi@retropie:~ $ ls /dev/*spi*
                    /dev/spidev0.0 /dev/spidev0.1

                    but when I try to fire up the command from @moosepr the screen doesn't fire up and that first SPI port is gone, and I can't get it back until I reboot

                    pi@retropie:~ $ sudo modprobe fbtft_device name=adafruit22
                    pi@retropie:~ $ ls /dev/*spi*
                    /dev/spidev0.1
                    

                    After a reboot I have mixed success with the Adafruit Python script.

                    They have DC=18 and RST=23 and when I run the image.py file like that, the display turns on, but nothing displays at all, or it's garbled.

                    0_1472744540769_garbled.jpg

                    If I change the script to have DC=24 and RST=25 to match how I have things wired up, I get the image to display properly.

                    BUT

                    When I reboot the Pi, if I run the script with the "right" pins selected, the display will never start up in the first place. I have to start it with 18 and 23 and then run it again with 24 and 25. I'm missing something, but at least the darn thing turns on and I can display something

                    Onward…

                    📷 @obsidianspider

                    1 Reply Last reply Reply Quote 0
                    • O
                      obsidianspider
                      last edited by 1 Sept 2016, 21:20

                      I got a little script working to display game art based on the game you're playing, failing over to an image for the system if no game art is found, and showing a default image while in EmulationStation, but I still can't get this thing to turn on properly. Here's a video of it working. @moosepr would you be able to tell me what pins on your display you have connected to which pins on your Pi? I'd like to compare with how mine is set up.

                      📷 @obsidianspider

                      1 Reply Last reply Reply Quote 0
                      • O
                        obsidianspider
                        last edited by 2 Sept 2016, 01:16

                        I wired the backlight pin to 3.3V and now the display lights up properly when the Pi is powered on, and things seem to work with DC on pin 24 and RST on pin 25. It seems like having the backlight on all the time is how these displays are designed to work.

                        📷 @obsidianspider

                        1 Reply Last reply Reply Quote 0
                        • O
                          obsidianspider
                          last edited by 2 Sept 2016, 01:42

                          It looks like by using the pin 18 initially with the default adafruit script that was sending power to the backlight. I wrote a script to turn on the backlight (and another one to turn it off)

                          backlighton.py

                          import RPi.GPIO as GPIO
                          
                          # Turn on Backlight
                          GPIO.setmode(GPIO.BCM)
                          GPIO.setwarnings(False)
                          GPIO.setup(18,GPIO.OUT)
                          GPIO.output(18,GPIO.HIGH)
                          

                          backlightoff.py

                          import RPi.GPIO as GPIO
                          
                          # Turn off Backlight
                          GPIO.setmode(GPIO.BCM)
                          GPIO.setwarnings(False)
                          GPIO.setup(18,GPIO.OUT)
                          GPIO.output(18,GPIO.LOW)
                          

                          📷 @obsidianspider

                          1 Reply Last reply Reply Quote 0
                          • O
                            obsidianspider
                            last edited by 2 Sept 2016, 02:23

                            Huzzah!

                            I wrote a script to load an image and then turn on the backlight when the Pi Boots up. (I realize that for some of you this is trivial, but right now I feel like some kind of secret ninja wizard. )

                            I still can't get that whole "modprobe" thing working, at all, but I'm happy with my progress and for what I want this display to do, I don't know that I need it.

                            📷 @obsidianspider

                            1 Reply Last reply Reply Quote 0
                            • M
                              moosepr
                              last edited by 2 Sept 2016, 08:41

                              looking good man!!! the python will be sending the commands direct to the screen, negating the need for the modprobe and a such annoyances

                              I cant get to my lil device at the moment, its in the loft somewhere buried under a big old pile of stuff, but here is the second best thing

                              screen end

                              pi end

                              other side of pi

                              hope this helps

                              want to get a tft into your project, look no further than here https://retropie.org.uk/forum/topic/7464/ili9341-tft-screen-guide

                              O 1 Reply Last reply 2 Sept 2016, 10:00 Reply Quote 0
                              • O
                                obsidianspider @moosepr
                                last edited by 2 Sept 2016, 10:00

                                @moosepr That does help! Thanks! This has been quite an educational experience.

                                📷 @obsidianspider

                                1 Reply Last reply Reply Quote 0
                                5 out of 15
                                • First post
                                  5/15
                                  Last post

                                Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                                  This community forum collects and processes your personal information.
                                  consent.not_received