- richParticipant05/21/2015 at 00:36Post count: 10
So yeah! It’s finally complete, thanks to retropie and the controlblock! Took me a lot of hard work, but I’m happy as hell with it.
My goal was to create a SNES pi console that retained the clean look and gave me functionality above and beyond what I would get if I bought a similar console pre-made from the store.
– Runs the Retropie/Emulationstation OS
– Bluetooth integrated. Programmed to support PS3, PS4, HID and Wii/U controllers natively.
– Wireless N integrated for remote control and file transfer. Can be operated via phone or SSH.
– 16GB internal storage, NAS functionality via WLAN for external storage, streaming video, films and music.
– Support for NES, SNES, GBA, PSX, Megadrive/Genesis, GB, GBC, Arcade, Neo Geo, CPS1/2/3, Amiga and more all at full speed, all navigated through purely with a SNES pad or supported controller.
– Support for two real SNES pads via the front ports, up to 4 controllers configured at once.
– SNES Console (bought one with a broken motherboard)
– Raspberry Pi B 2
– 16GB Micro SD
– OEM Bluetooth dongle
– TP-Link WiFi N dongle
– HDMI Extension lead
– Micro USB extension lead
– ControlBlock circuitry for polling the real SNES ports and controlling the LED and power switch
– Solder, wire and a new LED.
I firstly started by installing Retropie and getting everything set up correctly, using the great guide at https://github.com/retropie/RetroPie-Setup/wiki – for a lot of people some of the more advanced settings may seem daunting, but I have enough linux experience to have a grasp on it all. Kinda.
The next step was to work out where everything went. I disassembled the console, and installed the USB and HDMI extension cables on the rear plate for power and video in/out. The adapters fitted into the slots with minimal filing/sanding, only requiring a bit of glue to keep them firmly in place. My plan to not alter the casing itself (apart from that removable plate) paid off in the end. The entire console is seamless and looks no different to a stock SNES (which was the point) and if the ports do break somehow in the future, the plate is easily replaceable and the Pi is not compromised in any way.
The next step was to solder the connections for the controller ports ready for installation into the controlblock for polling inputs. I de-soldered the original control PCB from the ports and attached wires. I wasn’t sure how many I would use until I got the circuitry to test them out – I ended up getting rid of half! Four of the pins didn’t even need to be used – I only needed 5v, clock, data, ground and latch.
And here is the image of how the wiring ended up when connected and installed to the control unit, along with the new LED and power switch connection:
As for mounting the Pi, I used four plastic spacers, glued to the base.
So really, that was it for the install. I made all the wires and components fit, plugged in the bluetooth and WiFi dongles and put the case back together again. After installing the controlblock service via sudo get-apt via the github repository, the console switched on and off as it was intended to via the power switch and the LED worked fine. However, there was a serious issue with polling the data for the SNES pads. Whilst it worked fine on the lowest clock setting, having it even close to Pi2 overclock (1ghz, 0 overvolt) resulted in random button presses and eventually a failure of the controller to be recognised at all….so I brought it up as an issue with the retropie team, and it was identified as a clock issue and fixed within a day. Awesome.
And like that, my console was finished:
But something was missing – yes, even more crazy extras that I probably neednt have bothered with. I bought this controller by 8bitdo – it’s a fantastic replica of the SNES original pad, and works via Bluetooth:
A little bit of coding later, and I had written a driver and set it up to work automatically upon boot!
As mentioned, it is configured to work and connect at boot automatically and then the front ports are set to player 2 and 3 for multiplayer. A PS3 or Wii U Pro Controller can be added for player 4 if I want some bomberman action!
So yeah. everything is controlled via the SNES pad. Quitting a game is a case of pressing SELECT+START together, or in the case of Game Boy games, I have set it to SELECT+L (because of the crazy Link’s Awakening save system).
What do you all think? good?goobatroopaParticipant05/31/2015 at 16:47Post count: 12
This is fantastic. Going to start my project this week but it will not be as smooth as I have little to no idea what I’m doing, but that’s the beauty of it. Learning as you go along. Way to go man.
On a side note, did you consider using the reset switch at all during the project? Would the control block facilitate this?
- You must be logged in to reply to this topic.