element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Ben Heck Featured Content
  • Challenges & Projects
  • element14 presents
  • element14's The Ben Heck Show
  • Ben Heck Featured Content
  • More
  • Cancel
Ben Heck Featured Content
Documents Rasp Pi No HDMI - Portable MAME Part 1 -- Episode 322
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Ben Heck Featured Content to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Engagement
  • Author Author: tariq.ahmad
  • Date Created: 7 Dec 2017 5:47 PM Date Created
  • Last Updated Last Updated: 22 Dec 2017 8:24 AM
  • Views 2198 views
  • Likes 8 likes
  • Comments 10 comments
Related
Recommended

Rasp Pi No HDMI - Portable MAME Part 1 -- Episode 322

image

element14's The Ben Heck Show

Join the Ben Heck team every week for amazing hacks! Watch them build and mod community-inspired projects using electronics!

Back to The Ben Heck Show homepage image

The Learning Circuit
sudo Sergeant
See All Episodes

 

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Ben shows you a better way to retro game without miniaturizing an SNES mini. In this episode he shows you how to attach an LCD screen directly to your Raspberry Pi using the I/O.  No HDMI adapter required.  Meanwhile, Felix removes the GPIO header, camera port, DSI port, HDMI, USB, and AV jack from the Pi.  Also, Ben goes over creating a RetroPie disc image and what you'll need to tweak in order to drive a TFT-LCD screen similar to the one on the original PlayStation Portable. 

 

Community Feedback 07: Raspberry Pi Hacks

 

Community Feedback 09: Portable Rasberry Pi Tips

 

 

Product NameManufacturer Part Number
Quantity
Part Link
Raspberry Pi Model A, BCM2835RASPBRRY-MODA+-512M1Buy NowBuy Now
PCB, No Holes, Single Clad12X12WEC112X12WEC11Buy NowBuy Now
Display Panel, Capacitive Touchscreen, TFT, 480 x 272RK043FN02H-CT1Buy NowBuy Now
EVQ-Q2W03WEVQ-Q2W03WTactile Switch
EVQ-Q2W03WEVQ-Q2W03W16Buy NowBuy Now
Micro SD Card, 16 GB
TSRASPI10-16GTSRASPI10-16G1Buy NowBuy Now
SMD Chip Resistor, 33 ohmMC0805S8F330JT5EMC0805S8F330JT5E21Buy NowBuy Now
USB Hub, Bus Powered, USB 3.0, 4 PortsU3-4HUB1Buy NowBuy Now
Ribbon Cable, 40 Conductor, 30 AWGHF447/40 100'10"Buy NowBuy Now
Ribbon Cable, 50 Conductor, 28 AWGR2651DTSY50SC8510"Buy NowBuy Now
Speaker, Buzzer, Piezo, 8 ohm, 83 dB, 0 Hz to 3 kHzMCKP2644SP1F-4748MCKP2644SP1F-47482Buy NowBuy Now


Get the Full Bom, Datasheets, Design Files, and Schematics on Github

 

Ben’s got a 480x272 TFT-LCD screen, pretty much the same screen that was in the original PlayStation Portable.  He’s going to wire it up into 16-bit color which would be 5 bits of red, 6 bits of green, and 5 bits of blue.  Ben insulates the screen with a piece of plastic. He bends the ribbon cable back so that he can attach the breakout board into position.  He can then see how to fit on the Raspberry Pi A module.  Felix is desoldering some parts and should have that for Ben very soon. The plan is to manually wire from the Raspberry Pi over to the module.  The 50 pin TFT breakout that he’s using is from Adafruit.  It gives you a bunch of solder points so you can attach things to a TFT screen.  There is also a voltage booster on this board.  It’s for the LED backlight.  The LED backlight on this runs at 21 volts and they’re going to power this off 5. They will need a booster circuit to take the 5 volts this runs at and bump it up to a higher voltage that’s just 21. There’s a chip and a coil that will give them their higher voltage. Ben pulls out the header and inserts the flat flex ribbon cable into it.  Once he knows it’s in place he can lay it down and that tells him optimum position to place this board.  Ben puts the LCD breakout board in place and puts the depopulated Raspberry Pi board in place. Felix removed the GPIO header, camera port, DSI port, HDMI, USB, and AV jack from the Pi. Ben takes a look at a super useful document he found at  https://elinux.org/RPi_BCM2835_GPIOs. It’s a list of all the modes the Raspberry Pi GPIO can go into.  The thing to look at here is the alt versions.  If you go to https://www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/README.md  you can find a depiction of how the GPIO can be mapped to an RGB color space or RGB pixels.  Using both sheets, Ben can cross-reference how to do the breakout board.  That will give him all the colors and then there’s also the signal pulses, data sync, vsync, etc, and that is listed as well.

Next, Ben shows you how to setup retropie using win32diskimager.  You can get a RetroPie disk image from https://retropie.org.uk/.  He’ll test to make sure everything is working on another Raspberry Pi A.  That way he can make sure everything is working and compile the DTS file, then bring it over to the board he’s working on.  Once the image is complete, Ben shows you what’s on the SD card. He opens up the config text file and shows you what the DTD file looks like. The DTD file is a device tree overlay blob file which basically defines a lot of the functions of the Broadcom system on a chip processor.    When the system boots up it looks at the config file and the DTB files and it tells it what it should do.  They can modify these files in such a way as to use the new interface. Ben finds the config file for the 4.3 inch TFT on the Adafruit site https://learn.adafruit.com/adafruit-dpi-display-kippah-ttl-tft/installation  , although they’ll probably have to modify it a little bit.  He copies the config file for the 4.3” TFT file and adds it to the bottom of the confi g file on the SD card.  Next, he takes the DT blob file that he found at Adafruit, and copies over the code for the Raspberry Pi A plus.  He sets up the Raspberry Pi with ‘sudo raspi-config’, configuring localization and enabling SSH.  He installs a compiler for DTS file:

$ sudo apt-get install device-tree-compiler

And uses the following command to compile:

$ sudo dtc –l dts -0 dtb –o dt-blob.bin dt-blob.dts

The DTS file has been compiled into a bin file and it’s now time to tweak the config file. Ben connects a Raspbery Pi A+ directly to an LCD and then used a blob file along with the config text file to drive it.

 

Disclaimer

  • dts file
  • portable mame
  • tft breakout
  • hack
  • episode 322: rasp pi no hdmi - portable mame
  • portable_mame
  • raspberry pi a+
  • raspberry_pi
  • raspberry pi
  • retropie
  • pi tablet
  • heck
  • ben
  • tbhs_ep
  • Share
  • History
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • mippen
    mippen over 7 years ago +1
    Was the Raspberry unit changed? Looks like a Raspberry Zero (w?) Om the wrapup?? Or is it edited ?
  • leejsmith
    leejsmith over 7 years ago in reply to makerkaren +1
    Thanks, It was a lot of sanding and painting. I do have a SLS print of the case that I was going to use for a silicone mould and then resin cast, but I never got around to it as I am not that good at making…
  • dkulinski
    dkulinski over 7 years ago in reply to makerkaren +1
    Hey Karen, sorry for my delayed response. The reason for suggesting breaking the changes into files is two-fold. This way you contain your changes to a specific set of pins in an appropriately named file…
  • rivera82falcon
    rivera82falcon over 7 years ago

    You mention what the "IN" pins are and show how you located it, however, at 19:00 you are saying pin 25 as an in but is it actually pointed to pin 26. Did you actually use 25 or 26? I just want to be sure as I take notes on how to correctly read/recreate this. Thank you!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • makerkaren
    makerkaren over 7 years ago in reply to dkulinski

    That makes so much sense. Thanks for the input and explanation.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dkulinski
    dkulinski over 7 years ago in reply to makerkaren

    Hey Karen, sorry for my delayed response.  The reason for suggesting breaking the changes into files is two-fold.  This way you contain your changes to a specific set of pins in an appropriately named file and it makes debugging easier.  In the video Ben made a bunch of changes to most of the GPIO pins.  If you later decide to go back and change the function of the GPIO again you have to recall that the base Raspberry PI A file was edited and then try to revert it to the original settings.  If you create a file to override only the pins you need for a specific function you retain that original file with the original settings so you can revert easily.  This modular method allows changes to be more methodical, better organized and most importantly more easily read by others.  Thanks for getting back to me and hopefully my explanation cleared up my previous statement.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • leejsmith
    leejsmith over 7 years ago in reply to makerkaren

    Thanks, It was a lot of sanding and painting. I do have a SLS print of the case that I was going to use for a silicone mould and then resin cast, but I never got around to it as I am not that good at making the moulds or resin casting and it's quite expensive to waste while you learn.I wanted to use a pi zero, but this screen I am using takes up every GPIO so I have nothing free to use a digial audio device and the A+ makes this easy.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • makerkaren
    makerkaren over 7 years ago in reply to dkulinski

    Hi Daniel,

     

    What is the benefit of creating your own file? You said you can break it up so that you have separate files for screen, GPIO, and driver. What does that improve?

     

    Thanks!

    ~Karen

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • makerkaren
    makerkaren over 7 years ago in reply to leejsmith

    Whoa! The finished product looks great! The case almost looks injection molded. Well done!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mippen
    mippen over 7 years ago

    Was the Raspberry unit changed?

    Looks like a Raspberry Zero (w?) Om the wrapup??

    Or is it edited ?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dkulinski
    dkulinski over 7 years ago

    One suggestion on the device tree files.  Rather than modifying an existing file, you should create your own file and explicitly load it through the config.txt file.  You can have a separate file for the LCD screen, the GPIO input and the matrix driver.  In fact if you have enough GPIOs free you could actually run them directly as keyboard events, although with 8 you are stuck with a 4 way joystick and 4 buttons. 

     

    Excited to see where this goes as I have started something similar with a Pi Zero, 2.2" SPI TFT screen and the aforementioned keyboard presses on the GPIO buttons. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • leejsmith
    leejsmith over 7 years ago

    Hi All,

    I made a 3d printed case and used a geekroo display with my a+ handheld device.

    https://www.youtube.com/watch?v=MsTZHeu71ZU

     

    you can see my development of this project in these albums

     

    https://imgur.com/a/9Rvfd

     

    https://imgur.com/a/JIZws

     

    https://imgur.com/a/mCaXl

     

    https://imgur.com/a/lAZLj

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 7 years ago

    Very nice episode.

     

    Ben did a good job looking into the configuration file and showing how you can directly edit the text information and turn it into a binary file.

     

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube