RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Pi in a Super Famicom Build

    Scheduled Pinned Locked Moved Projects and Themes
    super famicomsuper nintendobuildconsoleproject
    187 Posts 23 Posters 144.9k 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.
    • cyperghostC
      cyperghost @obsidianspider
      last edited by cyperghost

      @obsidianspider
      Yes I know, but defintly the length of the USB power cord is also important. You can have a 5 amps power supply but you can't power the Pi with a 20m cord because it may lack of the right voltage. I think the Pi3 got a maximum power of 6W and this are 1,2 amps. And if you got a good power supply with stabilized voltage then 1,5A of supply + some extras are enough.

      So the advantage of this power supply is the very short USB cord :)

      But I tested a portabel 2,5" drive It needs in peak 0,7A and in standby 0,3A I was able to get it started but on playing a PSP title the Pi got down :(
      So with keyboards and controllers there seems no problem :)

      demesauceD 1 Reply Last reply Reply Quote 0
      • demesauceD
        demesauce Banned @cyperghost
        last edited by

        @cyperghost First off the PS3 requires a whole lot more power than 6W, more like 250-380 watts depending on the model. The number of watts is equal to amps multiplied by volts.

        I agree that cheap quality cables cannot carry the "advertised" amperage, but according to Raspberry Pi, 1.5a is not sufficient power. Doesn't matter if the USB portion of the power supply is 1 mm, if you don't start with enough power, you'll never have it.

        rbakerR cyperghostC 2 Replies Last reply Reply Quote 0
        • rbakerR
          rbaker @demesauce
          last edited by

          @demesauce PS3?

          1 Reply Last reply Reply Quote 0
          • demesauceD
            demesauce Banned
            last edited by

            Oops, my bad. cyperghost was talking about a playstation power adapter. And then he brought up 6 watts and low amperage and something about your mom.... kidding.

            Anyways, disregard the PS3

            1 Reply Last reply Reply Quote 0
            • cyperghostC
              cyperghost @demesauce
              last edited by cyperghost

              @demesauce
              Sorry I didn't get you. Where did I talked about a PS power adapter? PSP means Playstation portable so please ask yourself what are you telling.

              Well what else could I say. If you use power hungry USB devices than you need 2.5A but if you run just the Pi3 than 1.5A is more then enough. A 1mm power supply isn't possible because of the male and female plugs - you know. If the voltage is lower than 4.65V the rainbow square will appear and that's just a question of how stable your power supply is. Nothing more nothing less... But please don't get upset - just talk like a mature, okay? It's a great forum here and we no one wants to get this poisoned by a skirmish.

              demesauceD 1 Reply Last reply Reply Quote 0
              • demesauceD
                demesauce Banned @cyperghost
                last edited by demesauce

                @cyperghost What are you talking about? I'm not upset, I was making a joke. And yes, I forgot to add "Portable" when mentioning playstation

                The 1mm cord was to illustrate a point. I'm saying it doesn't matter how long or short the cord is if you don't have sufficient power to begin with.

                This is straight from raspberry pi:

                1. WHAT ARE THE POWER REQUIREMENTS?

                The device is powered by 5V micro-USB. Exactly how much current (mA) the Raspberry Pi requires is dependent on what you hook up to it. We have found that purchasing a 1.2A (1200mA) power supply from a reputable retailer will provide you with ample power to run your Raspberry Pi for most applications, though you may want to get a 2.5A (2500mA) power supply if you want to use all 4 USB ports on the Models B+/2B/3B without using an external powered USB hub. The table below outlines the power requirements of each model.

                Product____________ *Recommended PSU current capacity________ **Maximum total USB peripheral current draw
                Raspberry Pi Model A _____________ 700mA _______________________________ 500mA
                Raspberry Pi Model B _____________ 1.2A _________________________________ 500mA
                Raspberry Pi Model A+ ____________ 700mA _______________________________ 500mA
                Raspberry Pi Model B+ ____________ 1.8A _________________________________ 600mA/1.2A (switchable)
                Raspberry Pi 2 Model B ____________ 1.8A _________________________________ 600mA/1.2A (switchable)
                Raspberry Pi 3 Model B____________ 2.5A __________________________________ 1.2A

                Sorry, graph did format as planned

                1 Reply Last reply Reply Quote 1
                • DarksaviorD
                  Darksavior @obsidianspider
                  last edited by

                  @obsidianspider
                  I'd like to think it did make it less brittle:) Well, I watched a ton of videos of the process and I noticed the ones that used the paste mix and covered it with clear plastic had more tendency to mess up. Blotches. Real ugly ones. I also saw one on ebay with part of the nintendo logo removed due to this.
                  The normal peroxide bottles works but I noticed it wasn't as potent. Luckily, a local salon had the sally vol40 concentrated tub on sale so I was using that. I noticed a change within the first day out in the sun. Changing the water/solution once a day helped. The nintendo logo was intact too. It was my first time so I just did the outside and it became yellowish within 8-9months. This time I did it to both sides and hopefully that'll do. It was so much hassle (2-3 days for any real change but i did this for a week) that I'm looking for an sfc that doesn't that problem. If they're not yellowing now they never will.

                  1 Reply Last reply Reply Quote 1
                  • obsidianspiderO
                    obsidianspider
                    last edited by obsidianspider

                    Woo hoo! My screen showed up today!

                    0_1471729192661_screen-breadboard.jpg

                    Next Steps

                    1. Figure out how to wire it up (This blog looks like a good start, someone linked to it in another post.)
                    2. Get it to display something while still having video working via HDMI
                    3. Figure out how to get a script to show something on it when I'm in EmulationStation (which system's files I'm in would be sweet, but even a static image while in EmulationStation would be better than nothing)
                    4. When I'm playing a game have it show some kind of game info
                    5. Go back to the EmulationStation info when I'm done playing the game

                    I was thinking about maybe having the Reset button on the console act as a trigger to switch display modes for the secondary display, between game art, some kind of stats for the Pi (temperature, uptime, time of day, I dunno) and then another press to just turn it off if it's annoying when playing in a dark room or something. Something to ponder for a later time after I get the first stuff taken care of and I actually have the console here to wire up.

                    πŸ“· @obsidianspider

                    1 Reply Last reply Reply Quote 0
                    • obsidianspiderO
                      obsidianspider
                      last edited by

                      Woo hoo! The Super Famicom has arrived from Japan!

                      0_1472205351005_sfc.jpg

                      It's in really good shape and looks just like it did in the photos on eBay.

                      I still can't get my 2.2" screen to turn on, so I think I'll crack open the Super Famicom and start measuring for cables.

                      πŸ“· @obsidianspider

                      obsidianspiderO 1 Reply Last reply Reply Quote 0
                      • obsidianspiderO
                        obsidianspider @obsidianspider
                        last edited by

                        With the right security screwdriver it was really easy to get the Super Famicom apart. The board is dated 1994, which I am guessing is why the case isn't as brown as others I've seen. (I read somewhere that over time Nintendo got their plastic mix figured out.)

                        0_1472232525673_sfc-bottom-apart.jpg

                        πŸ“· @obsidianspider

                        1 Reply Last reply Reply Quote 0
                        • obsidianspiderO
                          obsidianspider
                          last edited by obsidianspider

                          Progress! I finally got the secondary 2.2" screen working. I figured out how to get the screen to turn on with the Pi, display a default image, then, using runcommand, show an image for each game as it's being played, if the game doesn't have game art, to display a default for the system, and then go back to the default when in EmulationStation.

                          Here's a short video of it working

                          0_1472812171234_22tftworking.png

                          πŸ“· @obsidianspider

                          1 Reply Last reply Reply Quote 4
                          • C
                            Cheeturbo @demesauce
                            last edited by

                            @demesauce Can you tell me where you got those white mounts to hold the Pi in place?

                            1 Reply Last reply Reply Quote 0
                            • L
                              lorc34 @demesauce
                              last edited by

                              @demesauce Thanks for this post, I'm planning on doing the same with a Pi3 and a SNES. Just wondering, what did you use for the USB ports on the front? What does the blue and white cables going onto the mausberry circuit do?

                              1 Reply Last reply Reply Quote 0
                              • demesauceD
                                demesauce Banned
                                last edited by

                                I bought them on eBay. Try a search for standoffs or motherboard standoffs

                                The USB ports on the front are a small 4 port usb hub, also found on ebay (I bought a shit ton of them) The blue and white cables go from the GPIO to a Mausberry Circuits: http://mausberrycircuits.com/collections/frontpage/products/shutdown-circuit-use-your-own-switch

                                It allows you to use the original power and reset buttons to safely turn on/off the system

                                L 1 Reply Last reply Reply Quote 0
                                • Morph-XM
                                  Morph-X
                                  last edited by

                                  @Cheeturbo
                                  With my Super Nintemu build, i reused pieces of the original SNES mounts. I like the idea of using as much as possible of the console i'm working with.

                                  image

                                  image

                                  image

                                  @obsidianspider
                                  I hope this is helpful, i hope you don't mind me posting this in your topic.

                                  obsidianspiderO 1 Reply Last reply Reply Quote 0
                                  • obsidianspiderO
                                    obsidianspider @Morph-X
                                    last edited by

                                    @Morph-X It's very helpful to see how others have done their builds.

                                    πŸ“· @obsidianspider

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      lorc34 @demesauce
                                      last edited by

                                      @demesauce Okay thanks. Would you be able to link the USB hub you used? I can't find any which look like they'll fit as nicely as that one.

                                      demesauceD 1 Reply Last reply Reply Quote 0
                                      • demesauceD
                                        demesauce Banned @lorc34
                                        last edited by demesauce

                                        @lorc34 Here are the ones I use: http://www.ebay.com/itm/Hub-4-Port-USB-2-0-Portable-9-5-cable-HB-MCRM-Sabrent-/162048515762?hash=item25bad81eb2:g:eBkAAOSwjKpXHGQH But they are about a 1/2" too short, so I use some black plastic (mine is from a CarMax license place frame) on either side

                                        1 Reply Last reply Reply Quote 0
                                        • obsidianspiderO
                                          obsidianspider
                                          last edited by obsidianspider

                                          Another baby step:

                                          The Reset switch is functional!

                                          0_1473260265621_reset-switch-still.png

                                          While waiting for some more parts to arrive I decided to work on the Reset switch functionality. I decided that I want to have the Reset switch control the backlight of the secondary screen. One press to turn it off, another press to turn it back on, etc. After some searching I wrote a simple Python script to detect the button press and shut off the backlight. Below is the script, with my comments, in case anyone else wants to do this and learn from how I did it. (If there are better ways to go about doing this, I'm open to hearing about it.)

                                          #!/usr/bin/python
                                          
                                          import RPi.GPIO as GPIO
                                          import time
                                          
                                          # set up BCM GPIO numbering
                                          GPIO.setmode(GPIO.BCM)
                                          
                                          # turn off warnings
                                          GPIO.setwarnings(False)
                                          
                                          # tell the script that we're going to output data on GPIO 23
                                          GPIO.setup(23,GPIO.OUT)
                                          
                                          # tell the script we're going to use GPIO 27 for input and act as a pull up resistor
                                          GPIO.setup(27, GPIO.IN, pull_up_down=GPIO.PUD_UP)
                                          
                                          # the default state of the light is on
                                          light = 1 
                                          
                                          # run this unless there's an exception
                                          try:
                                          	
                                          	# Turn ON Backlight by default
                                          	GPIO.output(23,GPIO.HIGH)
                                          	
                                          	# do this forever
                                          	while True:
                                          		# use interrupt to wait for button to be pressed
                                          		GPIO.wait_for_edge(27, GPIO.FALLING)
                                          		# if the light is on, turn the light off
                                          		if light == 1:
                                          			#Turn OFF Backlight
                                          			GPIO.output(23,GPIO.LOW)
                                          			#change the state of the light variable so the script knows the light is off
                                          			light = 0
                                          			
                                          		# if the light is off, turn the light on
                                          		elif light == 0:
                                          			# Turn ON Backlight
                                          			GPIO.output(23,GPIO.HIGH)
                                          			#change the state of the light variable so the script knows the light is on
                                          			light = 1
                                          		# wait a little while to account for bounce in the button
                                          		time.sleep(0.2)
                                          
                                          # keep running unless you Ctrl+C to break out of it
                                          except KeyboardInterrupt:
                                          	# reset the GPIO pins used in this program
                                          	GPIO.cleanup()
                                          

                                          I soldered up some test wires to the switch and connected it to my breadboard and things seemed to work. That was encouraging. The next step was to cut out just the corner of the board (Tip: tin snips work great for this) because the Pi won't fit with the SNES main board in place. The board was going to have to be taken apart to get the cartridge slot off anyway, so while I didn't like crunching through a little piece of history, it's in the spirit of giving this console new life.

                                          I reconnected the switch to my breadboard and the switch seemed to be malfunctioning. The backlight kept turning on and off and from what I could tell the script was detecting that the switch was constantly being pressed. By this point it was almost 1 AM, so I went to bed to work in it again before work in the morning.

                                          I decided to remove the switch from the remaining piece of the main board to see what was going on. The "top" two pins are just a piece of wire that are there to anchor the switch to the board. The bottom left pin of the switch and bottom right pin are two separate pieces of metal inside that are normally a closed switch and when you press the button the connection is opened. When I connected just the switch, disconnected from the board, up to my breadboard, things were fine. This led me to think I may have damaged the board, or that pins were connected within the board itself.

                                          With the switch still off the board I did a little testing with the multimeter and I found that the "bottom left" pin is the only one that is isolated from the rest of the board. The other three pins are all grounded back to the board, including that big metal band on the perimeter.
                                          0_1473259992933_sfc-reset-board.png
                                          That was really good to know. I think that my problem was that when I connected the switch previously and it went haywire I must have had my wires backwards and connected the input pin to the ground part of the board and something shorted. Now that I know way more about Super Famicom Reset switches than I ever thought I would want to, I put the switch back on the board and connected two wires up, the signal wire (input) to the bottom left and the ground wire to the bottom right.

                                          Connecting it back up to the breadboard worked! I'm sure a lot of my headaches were because I'm inexperienced, but I learned how to troubleshoot a lot during this and also got to work on my soldering skills.

                                          Here's a short video of the switch controlling the backlight.

                                          I'm going to look into a more advanced script that will cycle between the light on or off and also switching between the game art or some Pi information (Temperature or something like that) but I have to learn some more Python…

                                          [Edit: Updated code to use interrupts instead of input state monitoring to be more efficient and use less CPU]
                                          [Edit 2: cleaned up if statement]

                                          πŸ“· @obsidianspider

                                          1 Reply Last reply Reply Quote 1
                                          • J
                                            jackal123uk
                                            last edited by

                                            Good work; especially on the reset switch - I'm on version 2 of my build and I'm yet to get the reset switch functional.

                                            I've only just joined and plan to post full details of my build but this caught my eye so had to comment here first. I used a custom PCB to interface a Pi0 in an effort to avoid the usual mess of wires - here's a taster:

                                            0_1473269562230_snes3 original copy.JPG

                                            My SNES Build
                                            My GameCube Build

                                            obsidianspiderO 1 Reply Last reply Reply Quote 1
                                            • First post
                                              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.