Jump to content

Time for an Upgrade!

Recommended Posts

I've been dabbling with Raspberry Pi's for probably 3 years or so now.  I'm starting to get more and more comfortable with the environment, and learning how things work with it.  But, alas, I'm starting to become irritated with the hardware limitations of the Pi.  Specifically for Retro gaming.  The Pi 3B+ is only just BARELY capable of running a handful N64 games.  There are lots of games for that system I'd love to play.  Also, there are only a couple of games for the PSP and Dreamcast that the Pi is just remotely capable of playing.  I've given up on the idea that I'll be able to play PS2 and GameCube games.  But it doesn't have to be that way.  Sure, I can build a dedicated gaming machine.  But I'm limited to something in a huge case or spend a ton money on something like ITX.  That's what led me to discover ODROID.  Their XU4 device is a small SOC form factor, only a little larger than the Pi.  They have a C2 model too that is practically identical to the Pi.  The C2 supports 4k output (wow) whereas the XU4 actually has better "under the hood" equipment.  Both are capable of gigabit LAN (Pi is still sitting at 100mb).  Both have eMMC capabilities whereas the Pi only has MicroSD.  Both are superior to the Pi in terms of onboard RAM, CPU speed, etc.  Although not for me, both can run Android as well as Linux (whereas the Pi's are limited to Linux).  The XU4 has 2 USB3.0 slots, Pi's are only USB2.0.  It's a no brainer.  Not to mention there is a growing community of users who swear by XU4 as being nearly perfect for retro gaming!  So I've made my decision and I'm building a new system using the XU4!

ODROID-XU4 - Currently on sale from the manufacturer for only about $10 more than the Pi!
ODROID-C2 - Same form factor as a Pi but with 4k video!  Perfect for Kodi!

I intend to fill this thread with my building progress like I did my "NintendoPi" so it can help other would-be builders.  I've already got an order processing.  But here's a breakdown of what my plans are:

  • Take my time and do it right!  Once I got the ball rolling, it was easy to do rush jobs and hacks to make the system work.  I really want to have a solid piece of quality.  So that means no crappy drilling and sawing unless absolutely necessary.
  • Most likely going in another NES case.  The internal capacity of the case is ideal for hiding cables and things that would otherwise take up too much space inside some other case like a Sega Genesis/Mega Drive.  I also like the nostalgia look of the case, it instantly screams "retro".
  • I'm ditching what I did with the current NES as far as controllers go.  I pulled out all the stops by having the NES controller ports run to a USB encoder as well as installing 2 DB9 plugs in the case so I could have ATARI/SEGA controllers too.  It's nice, but really unnecessary.  I NEVER use them.  So instead, I'm going to keep everything simple with USB and Bluetooth.  The XU4 doesn't have built-in Bluetooth (or wifi, unlike the Pi's, unfortunately) so I ordered a dongle.  I'll just get some inline USB adapters for my other controllers.
  • I'd like to rid myself of having those huge ugly adapters inside the case.  It was a great design idea that did work, but the way the device gets it power is different.  I'll have to experiment and see where I can take this.
  • I plan on running this on Linux with RetroPie again.  I'm familiar with the system now and migrating shouldn't be that difficult.  Still, GameEx would be awesome!! (hint hint).
  • I'm going to stretch this out as my 2019 project.  You know, keep me sane and not depressed, etc.
  • Planned system name: RETROID:)

Step one at taking my time and doing it right is acquiring the hardware.  That requires a few steps too.

  • PHASE ONE - Computer
  • ODROID-XU4 ($49.99) - On Sale!
  • 5V6A Power Supply ($12) - Extra Amps for Hard Drive
  • 16gb eMMC Module ($14.90) - Replaces the MicroSD for up to 7x faster speed!
  • USB eMMC Module Writer ($9.90) - I need this to read/write backups of the eMMC
  • Wifi Module ($7.90) - v5A, Supports dual band
  • Bluetooth Dongle ($3.80) - v2, Supports v4 BLE technology
  • Total: $97.50
  • ----------
  • PHASE TWO - Hard Drive
  • 4tb ($99.99) - Mostly Likely Candidate
  • ----------
  • PHASE THREE - Case
  • NES Classic Case ($??.??) - To Be Determined

At this point, Phase One has been ordered.  Once I receive the device and the other bits, I can start building.  The Hard Drive will come after more money is available.  I might buy it locally rather than online, depends on how the costs look when I'm ready to buy.  I know I want 4tb because I intend on having more systems installed, and the newer systems are much larger in filesize.  My current build with 1tb is reaching max capacity.  I also plan on having a similar setup to my current one, where I have video screenshots, so that eats up a lot of space.  So right now, I'm waiting for delivery!

Stay tuned...

  • Like 3

Share this post

Link to post
Share on other sites

Quick update...

  1. PHASE ONE (Odroid and Parts) - Complete!
  2. PHASE TWO (Hard Drive) - Complete!

I also got an Anker 4-port USB 3.0 hub.  The XU4 has a single USB 2.0 connector, and a double USB3.0 connector.  That severely limits connectivity.  The hard drive is for sure going to take one 3.0 slot, and there's also the need for the wifi, bluetooth, and keyboard/mouse.  Definitely needed more ports.  Now that I have it, I might go back and upgrade this to an even larger capacity hub, since after connecting EVERYTHING (with no controllers), I only have 2 spots left.  I guess that's all I really need.  The XBox dongle can pair 4 controllers, and I can always disconnect it when I want to use something else (like 2 sega controllers).  Plus 8BitDo has been coming out with some pretty sweet bluetooth controllers which might be the best way to go.

I've connected everything up and it works!  I made a backup of the eMMC card using the supplied USB reader.  Damn that thing is fast!  16gb took maybe 3 minutes to backup.  It was chugging along at around 100MB/second.  My MicroSD cards that I use for the Pi's are only reading at 20MB/second if I'm lucky, and take anywhere from 20-30 minutes to backup.  I'm gonna love this!  Boot up is pretty fast too.  I've just been fiddling around with it right now, getting my mind wrapped around the Ubuntu OS.  It's got a nice "Windows-esque" GUI interface, but still provides a terminal for quick access like I'm used to on the Pi.  Gonna be exciting working with it and tweaking it to my needs.

Two things I've done so far.

  1. Remote Desktop - Since my primary display is my TV, and right now my ports are all used up with Xbox's, Kodi Box (Raspberry Pi), BluRay Player, and RetroPie Box (NES!), I needed another way to access the device easily.  I'm already using a Remote Desktop Interface to access my server from my home computer, and I access the home computer now through Remote Desktop on my tablet.  It's amazing! :)  To do this, I had to install the software.  Access the Terminal (CTRL+ALT+T) and enter this:
    sudo apt install xrdp
    sudo systemctl enable xrdp
    If following along step by step, you'll get asked to enter the password for the sudo, unless you've changed anything it should be odroid.  Once that was done, all I had to do was make sure I knew what the IP address was and then create a new profile in my Remote Desktop software.  All good!  There is a small limitation, you can't be logged into the account when you try to access it remotely, so just log out first.  Not a problem if you just reboot (so long as you're not logging in automatically).
  2. Establish Access to Server - This took me forever to figure out.  Turned out it was working like it should, but the makers of Ubuntu had updated the Samba utility and left out a very specific setting in the configuration file!  Opps lol!  So all you have to do is add a single line:
    client max protocol = NT1

    The file you're adding this to is located in /etc/samba/smb.conf.  The easiest way to do this is bring up the Terminal (CTRL+ALT+T) and type sudo nano /etc/samba/smb.conf.  On the screen that opens up, pres ENTER once to drop it a line, go back up and paste.  Then to save the file, press CTRL+X, then Y, then ENTER.  The documentation I read said that should be it, just re-open your file browser and re-establish the connection!  If using the default Ubuntu image, the File Manager is called Caja.  When you create the connection through "File -> Connect to Server...", make sure you tick the box to save it as a bookmark so it is available after reboots.

That's all I've had the time to mess with today.  I have to get ready for bed.  Work tomorrow, then I'm off on Thursday for hernia repair surgery.  Gonna be out for at least a week they said.  Looking forward to the end result but not the downtime recovering.  When I get off work tomorrow I'll take a few pictures of the device so's certain people won't be upset.  :)  Not sure about a case, still leaning on an NES again.  I did check, they don't make an extension cable for the eMMC card, so I have to install the device with access to it for future backups.  If I go with the NES, I can use the secret trap door, as I checked and it fits with enough room to get to the card. 
Later gents!!
  • Like 1

Share this post

Link to post
Share on other sites

Good luck with your surgery!

Share this post

Link to post
Share on other sites

All kidding aside, best wishes to you tomorrow during your procedure.

Can't wait to see what you have in store for us with this build, but I think it's safe to say we are most concerned with your well being!


Share this post

Link to post
Share on other sites

Still down and out from the surgery.  The pain is getting more tolerable, but I'm still laid out on my back with this ridiculously uncomfortable bed.  I mean you have no idea.  Picture a 60 year old bed with a 40 year old mattress.  The springs are no longer springy, and stab you in the back.  The padding protecting you from that has migrated to the edges of the mattress, so you roll into the center, right where the pressure points are.  So if you manage to sleep on your side, by the end of the night you're rolled onto your back in the center again.  Now the surgery pretty much has me on my back already, because it hurts to twist and roll.  The first night home (which was the same day as the surgery) I almost called an ambulance to take me back to the hospital because I had already taken 5 of the 20 pain pills in the first 10 hours (it said I could take 1-2 every 4 so I wasn't OD'ing).  I just felt like my pain could be better managed where I'd have access to stronger stuff as needed (like a morphine drip or something), and I could sleep because I'd be on a comfortable bed.  But, I couldn't even get myself turned around in the bed to pull myself up with my arms.  Dad tried to pull me up but I still had to clench my stomach muscles to pull up too.  Nope, I had to just give up and said forget it.  I emailed my surgeon and they apologized the next morning and said I could take up to 800mg Ibuprofen too.  My brother's wife had surgery a few months ago, and was on that.  They changed her meds though and told her not to take it anymore.  Luckily, she loaned them to me and it's helped a lot.  It's been 4 days and while I still can't roll over or sit up without cringing, I've managed to break free of peeing in a gallon jug (only thing my dad could find) and can make it to the toilet.  I finally pooped for the first time last night, not that you wanted to know.  But it's a good sign things are coming back together.  I'm fearful I'm not where I should be though.  I have a follow up appointment on Thursday to go back to work.  I can't even get out of bed without nearly collapsing.  My gallbladder surgery had me out for 2 weeks, and I was feeling better after 2 days.  This time around I thought it would be even quicker since I only got 1 week, but it seems like that's not the case.  Plus I think I pulled a muscle on the side, it's really swollen and I hope I don't have another hernia over there now.  But I know I'll be back to normal eventually.

On the Retroid progress...  I've started ordering more parts, mostly cables for externally mounting ports.  I have a used (non-working for parts only) NES console bought off eBay on it's way.  And I've started putting together the plans for the hardware side of things once I feel better.  The software part is going to have to wait a lot longer because I'm not coherent enough to make sense of what I need to do, and how to fix what's not working.  I've got a good start though, and plans are coming together.  As I said from the start though, I don't want to rush this build.  I'm going to take my time with it. 

I know I promised pictures.  Since the surgery happened at the same time I started getting plans together, I've not been able to do that yet.  But I will.  In the mean time, I did draw up a little plan today on how the hardware will all work out.


So let me explain what's going on here.  The oDoid has 2 GPIO headers,  I've not marked them for use in the picture, but I've learned that PIN#12 works as a dedicated pin for power buttons.  The way I understand it, I connect a button to it and something like PIN#1 for +5v.  Longpress will poweroff, short press will either reboot or put into sleep (configurable).  I plan on running another wire from the RESET button on the NES to a GPIO pin for easy access to exit a locked up game (I already did this for my NesPI and it works great).  Moving up the left side is the rest of the GPIO and a switch.  The switch tells the oDroid which boot device to use (MicroSD or eMMC).  I'm using the eMMC which is mounted on the bottom.  I checked, and I can mount the oDoid directly over the NES expansion port.  So when I need to make a backup, all I have to do is pop the cover and grab the card!  Moving across the top, the HDMI port is a standard 1.2 generation.  Not 4k capable unfortunately, but I made the choice to go this way for the power!  I just bought my connector for this today so I can mount it to the case.  The next thing is the socket you would attach the MicroSD card to.  The next device is the power barrel jack.  Gone is the microusb plug you see on Pi's.  I got a little extension cable for this coming to mount it to the outside of the case. The thing next to that is vertically mounted USB 2.0 slot.  Right now I have it labeled as Bluetooth but I might need to change that to wifi if the Bluetooth requires USB 3.0.  If not, the way I have it should be fine.  The next one over is the network plug.  It's a full gigabit (compared to the Pi's archaic 10/100).  I just ordered a small extension cord for this too so I can mount a plug on the outside of the case.  Moving down the right side of the oDroid we have an RTC connector.  This is nice, but I don't know if I really need it.  I've got the system booting up and updating the internal clock as soon as the internet connection is established.  Any system settings are store on the eMMC, so it doesn't have anything like a BIOS to keep stored.  It might be nice to have a correct time if I take the console somewhere I can't get internet.  It's only like $3.  But I have no current need for it so I skipped it right now.  The other connector is a USB-UART connector.  From what I understand, I can use this to SSH into the oDroid when I don't have the oDroid connected to the network and I can't use Putty locally.  Again, a nice thing to have if I need it, but I don't so why bother?  The bottom plug is 2 horizontally mounted USB 3.0 connectors, another oDroid advancement!  One of the ports I'm going to have dedicated to the hard drive.  The WD Elements drive I got came with a USB 3.0 connector, and gets it's power through the cable without the need of another external power supply.  I'm not sure what the draw is, but with everything I have connected so far, the system is stable.  The other port I'm going to daisy chain 2 4-port hubs.  I have 1 hub already, and it's got the WIFI dongle connected to it as well as a temporary wireless keyboard/mouse dongle.  As you can see in my "planogram", I plan on having the WIFI connected to it and 2 USB cables that will mount to the NES controller plugs.  I've decided that having different plugs caused more trouble than it's worth.  I rarely use the NES controllers except to test and make sure it worked.  The problem comes with the Raphnet adapter I got to convert those plugs to USB.  They have a bug causing a "northwest drift".  So if you play a game then come back, the system will think you're pressing UP+LEFT and start scrolling all over the menus.  There is a kernel patch, but it requires rebuilding the kernel.  2-3 hour process on the Pi 3, and I don't know if it'll even work on the oDroid.  So I'm just going to swap out the NES plugs for USB ones.  I ordered some short extension cables, going to mount them in their place, and run them to the hub.  The last port is open, so I'm going to run another hub to it, and wire it up to the Cartridge Slot like I did my NesPi.  That should round everything out.  I'll have external access to all the ports I need, and I'll have access to a total of 6 USB ports.  I need to test when it arrives though.  I don't know if daisy chaining the hubs this way will work or not.  I might have to move the hard drive to one of the hubs and move the hubs to their own dedicated port on the oDroid.  If that doesn't work, I might just skip adding the cartridge slot altogether (though I hope I don't have too).

That's it for now.  All this typing and my drugs have worn off.  I'm going to bed.  Feel free to drop in and say hi!  Tell me to get well soon (doesn't make any different but makes me feel good to know you care and see my issues!).  Got any ideas or suggestions on my build?  Let me know!

Share this post

Link to post
Share on other sites

You have my sympathy for all that you are going through. Hopefully your recovery goes smooth from here on in. Definitely give yourself the time and don't push too much (easier said than done, right?)  ;)

I've been watching the Odroid stuff for quite a while as well. I would love something small that is able to handle at least some PSP and I think this one may do it. When I saw your initial post, I almost jumped on it immediately...but then I remembered several unfinished tinkering project that I already have pushed to the side. So I let it go for now.

I am interested to see how your build goes, so I hope that goes well too.

  • Like 1

Share this post

Link to post
Share on other sites

Sorry to hear that you are having a tough go of it with the hernia repair. Much different animal than the lap chole as you have discovered. You will probably find that the ibuprofen will be much better for fighting pain than the opioids and with none of the addictive side effects.

Hang in there, mi amigo! You are in my prayers for a thorough and speedy recovery!

  • Like 1

Share this post

Link to post
Share on other sites

Oh what a mess I've gotten myself into.  I spent quite a bit of time yesterday doing the preliminary software work.  Remember, I'm still busted up pretty good and not fully coherent.  The first thing I tried to do was just go and try to flat out install  RetroPie on top of the pre-existing image which is running Ubuntu with the MATE desktop environment.  That just wouldn't not work at all unfortunately.  So I started from scratch again using the instructions specifically written for the ODroid XU4 on the RetroPie Wiki page.  I managed to get as far as creating the new username (retroid) and getting everything mostly installed.  Following through the steps, I was running the setup script to install the base components like EmulationStation and RetroArch.  It all seemed to be going great.  Then I hit the first snag when it tried to compile the N64 core.  Apparently this is a known issue (of course) and will need time to fix.  For the most part I thought I was pretty much done.  I rebooted and tada!  EmulationStation booted and I saw the first entry "RetroPie" (the basic utility tab).  I was so excited.  I then tackled the hard drive so I could start dumping roms over.  That took almost 4 hours of total exhaustive struggling.  The drive was reporting itself as being formatted as GPT, whereas Windows was saying it was NTFS.  Never did figure that out, but I ended up reformatting it again anyway.  I followed the steps outlined in my previous build from here.  I got the USB service turned off, and the drive mounted, but it wouldn't let me write to it.  Kept giving me ownership issues where it was locked down to root:root instead of retroid:retroid.  By carefully reading the instructions I learned that I couldn't just copy and paste my fstab line.  I had to recreate a new one, making sure to properly use TABS instead of SPACES, etc.  Finally got that working and started copying over my first set of roms.  I did FBA first.  Seemed easy enough, RetroPie creates all the necessary folders, so I just copied them over.  Rebooted, and...nothing.  Oh that's right, I need to copy the gamelist.xml over too (the file that lists all the games, their paths, paths to artwork, synopses, etc).  Did that, reboot, and..nothing.  Well, the game list loaded, and I can see their names.  But why is there no artwork, and the games don't load?  Then I remembered, the gamelist.xml I had pointed everything in the path of /home/pi/RetroiPie/roms/ and I needed it to say /home/retroid/RetroPie/roms.  Uhg what a nightmare.  I did a quick Notepad++ find/replace edit on the file and rebooted again.  Still nothing.  At this point I gave up and fell back asleep.

Today I woke up to tackle this again.  This time I started with a fresh new scrape of the metadata and had it generate a brand new gamelist.xml.  Dumped that over, along with a new dump of the artwork and roms.  Rebooted.  Hey now I'm getting somewhere.  The game list loads, shows the artwork, but no videos?  There's also some weird text getting overlayed on my screen.  Bummer.  It's giving me errors about it being an unsupported format (most likely a video codec issue).  I get sound though, which a lot of people were having trouble with.  They have video but now sound, I'm the opposite.  UHG!

I'm giving up on this quest from this route.  Going back to square one and trying to use a prebuilt working image as a base.  My plan is to use their image as a launching point and build off of it.  There are 2 builds in particular I'm looking at.  The first one is called "TheRA".  It's being advertised a true fork to RetroPie.  Based on a minimal image, with some added tools, it will provide the most user accessible way to built onto.  The other one that has gained a lot of attention is called "Odroid Game Station Turbo".  I'd like to maybe tinker with that one, but I'd still like to have control over the system.  This 2nd build is more designed for the absolute laziest people.  It comes with a Desktop environment and a whole lot of stuff I don't really need.  But it looks like it's more actively developed and updated.  I might end up having to use that in the end.

Anyway, I just finished downloading TheRA so I'm going to give it a go and see what I can do.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now