The MiSTer Station

I believe this is a post for a smaller group of (somewhat nerdy) people, so I will instead write it in English, rather then in Swedish towards the usual Swedish blog audience. Enjoy!

Page versions:

2021-11-08: First public version of this post. 
2021-11-10: Add information about (and pictures of) the I/O back panel. Correction of some layout and language mistakes.
2021-11-11: Cleaning in the page to make more intuitive. Adding some more pictures.
2021-11-12: Fixed some of the pictures to larger once. Minor text editing.
2021-11-25: Install a modified (and externally powered) USB hub.
2021-11-29: Project paused. Waiting for a new one from 🇬🇧.

Future backlog

  • Try (passive) cooling for the RAM module (2x heatsinks approx. 8x23mm), and/or other cooling solutions. Because MemTest start to failing upon me, even under 130 MHz in long (auto) test session.
  • Waiting for a new SDRAM module since one of the chips gave many errors at 130 MHz and the other gave none.
  • Optional: Make the Reset button on the Playstation case work (transistor solution connect to the I/O board P3?).

1. Intro

In my (from time to time) series with tech DIY guides (like the earlier Pacemaker SSD upgrade), I will here post an overview guide of my latest project. I reveal to you, *drum roll*… The MiSTer Station (whoops, you already know that from the title). You can call it a Playstation 1 (aka. PSX, PS1) dyi case mod, if you like.

Pictures of the final result

The MiSTer Station

This is what a “DE10-Nano MiSTer in a Playstation” look like inside out.

I/O on the back. HDMI, USB-A (2.0), Audio out 3.5 mm, Power in.

Story behind the build

Main target were to build a gaming computer in a Playstation case. With the exterial look as intact as possible but work as modern tech redarding the Input/Output. For convenience USB and HDMI output was a minimum requirement.

With an already built-in PSU I early desided to keep this and the original power cord. This ment I was restricted to a 10 W for the internal parts.

After some research the choice fell on the DE10-Nano (5V, 2A) and the MiSTer project. I like the thought of accurate hardware as the backbone to run games on. Since some skilled programmers like FPGAzumSpass (Twitter, Youtube, Patreon) and Laxer3A (Twitter, Patreon) work(ed) on the MiSTer PSX core. It would of course be nice if this build could play PS1 games. And maybe, just maybe I could pick up some of the long forgotten PS1 games from the bottom of that old nostalgic box in the attic when this is all done.

Wait, what?! Not familiar with the MiSTer FPGA? OK, let’s start from the begin. I then recommend you to read a bit on the retro game phenomena Here, Here and/or watch some good YouTube clips on it, like this one bellow, before continuing this article:

Risks

Power consumption

My main concern before the start of this build was the power consumption of the Terasic DE10-Nano board, together with all the additional accessories like:

  • a non-powered USB splitter or USB hub inside the case.
  • the front port solution with the controls, and
  • an analog extention I/O board.

I couldn’t find specifications for the majority of these parts before the purchases.

Playstation hardware – Space within the case.

I know that it is actually a lot of space to work with but from my previously case mod (a Raspberry Pi 4 in a NES). I also know that cable plugs sticking out of the board and the cables themselves take up tremendously more space then it initially look like.

Know-how

  • MiSTer project

I did know very little of this at the beginning of the build. Was there any restrictions, missing or buggy software?

  • Soldering

I am in no means a master of soldering so bear with me 🙂 It can take a while and the result may vary, but will patience this should not be a major risk. In worst case I brake something and will pay extra for additional parts and just start over. For example the DE10-Nano itself (as I later on would be painfully aware of. Woops.).

  • Playstation hardware

I did not knew a whole lot at the beginning of PSU or the controller ports, but I will gain more knowledge of the PS1 PSU and the electronic parts, as well as the plastic case itself, during the process. Will it output stable enough power? Will it be able to hold the parts in a good way (like via existing screw holes), or will I be able to use the control ports at all, etc?

Knowledge gained from a previous build of an NESPi 4 helped a lot.

Good, now when that is over with, we can begin to look at the accual hardware and the building process.

2. Hardware!

DE10-Nano schematic: https://www.intel.com/… /de10-nano-board-schematic.html

Let’s make this look a bit more neat and not so shockingly dangerous without the top cover.

2.1 Now to the hardware DIY part of things

…and as always when you try to mix things together, it is good to have a recipe in hand. Here is my list of “ingredients”, split in three parts: Base, Full & Front ports:

Base

  • 1 pcs DE10-Nano board. I tried ordering from both MiSTer addons and Mouser. The later came without smashed cover glas, so I may use Mouser again if I were to buy another one in the future.
  • Playstation 1 console. (SCPH-7002 in my case.. pun intended)
  • SD Card. (8 GB minimum)
  • RAM module (I choose 128 MB)
  • Down-step LM2596 (max 3 A) …or XL6009/DSN6009 (max 4 A) or XL4005/Xl4015 (max 5 A) that should work even better.
  • OTG-adapter with Micro-Usb
  • Non-powered USB hub – (I choose “Deltaco PRIME USB 3.0 hub, 2xType A“)
  • Soldering equipment/accessories of choice.
  • Some sort of back plate material. (I used some sort of white plexiglas, 3 mm thick.)
  • Powered External USB hub. For Bluetooth adapter, keyboard and WiFi adapter. Therefore 4 (or more) USB ports are recommended.

Full

Front ports

2.2 Honourable mentions:

Inspiration for the front control port solution came from a Playstation Raspberry Pi mod on Hackster.io.

Some useful tips and tricks from RMC Cave and his MiSTer Fusion build.

The FPGA developer FPGAzumSpass (Twitter, Youtube, Patreon) for excellent progress with the PSX MiSTer core in 2021.

I also used these webshops to buy specific MiSTer hardware from:

2.3 How-to fit all the hardware parts in there

A good start is to begin in the late year of 1997, with a SCPH-7002 (PAL) – 220-240V & 10W.

Strip it from everything electrical related except: the Power supply unit (PSU), the ports in the front, buttons and the top CD cover. Also trim the bottom plate a bit to fit the main DE10-Nano RAM module. After the picture we’re taken I also removed the little plastic rocket🚀 in the bottom center in the picture above. Reason? Because the ribbon cable to the I/O board needed the space under the main board.

 

Cut this part to get more room for the DE10-Nano board and also the screw hole in the top left corner (in the picture).

The result:

This is what I end up with.

If you are going to install an I/O board and/or use the GPIO ribbon extention, you need to cut these “plastic towers” as well:

Before and…

…after pictures.

And also take the plastic pin out and cut of some of its holder, like this. Especially if you use the same USB mounting cable as me (See the chapter about the I/O back panel):

I used my Dremmel and it was an easy task. Just watch out so you don’t hit the cover opening mechanism in all this gray plastic excitement.

Power

Some how I managed to kill the first board by solder these wires. So this time I did a minimum solder effort. But it did the trick any how.

Down-step voltage:

Making space for others parts by fasten the down-step (LM2596, datasheet) the the PSU wall. The dimensions of the LM2596 is: (L) 44 mm, (W) 21 mm, (H) ~15 mm. This small down step should work but if you really want to be on te safe side of life. Look at XL4005/XL4015 (5A) boards as they should fit, I think (61.7 mm x 26.2 mm x 15 mm). Or even XL6009 (4 A) for a smaller solution (43 mm x 21 mm x 14 mm).

Maybe a heat sink on my LM2596 would be a good idea🔥. Even if I only down step it by 2.41 V (7,56 to 5,15) on ~2A. Maybe I should switch it to a better down step (XL6009 or XL4015) entirely, just to sleep better at night?

Set it to 5.15V (same as the original DC wall plug) from 7,56 V from the PSU.

 

Putting two (or three) small screw brackets underneath the board to make bulky HDMI sockets fit. Also used one of the silicone feets to block the original power input.

Not to high, because the network (Rj45) port will hit the top cover. In contrast it maybe will be a good idea to keep the board a bit tight to the top part over that network port just so that the DE10-Nano can’t move insite the Playstation case later on.

Note: If you will you can use the extra space under the board itself (for cable management or whatever) like USB cable or the extention 40pin ribbon cable (see chapter for the I/O board).

Stand ofs in three of the corners make it reasonable secure. No bricks and not even screwed in to the board itself in this end.

The front ports

Take a deep breath and heat up your solder iron. Note that a PS1 controller (sometimes) got 8 pins but we only use 7 here (1-6 & 8). For the rest I let the pictures (A, B, C) below talk for themselves:

A) Tack the blue plastic shell of the USB to PS1/PS2 -hub, and start solder some wires.

B) Take off the metal panel and follow the coloured wires to the existing solder joints in this picture.

C) I used some cable ties for a more tidy result. #cablemanagement FTW.

Power consumption

Now back to the topic of power consumption (remember my risk Power consumption?). I write my conclusions down bellow and some numbers for whomever will find it helpful:

I bought myself an EU socket watt measurement tool, and a USB Volt/Ampere meter named “Charger Doctor“. And with internal 5.15 V, (down-steped from PSU voltage output 7,56 V, but should have been be 7,4 V according to Retroconsoles.fandom.com) from my PSU (being an EU plug running on 234-237 W), it show me these results:

The MiSTer (DE10-Nano with 128 RAM) with that PS1 PSU, use around 8,60 W (idle), 9,15 W (max) during startup, without any USB devices plugged in. With a USB adapter (micro to USB-A) adds 0,16 W (total 8,76 W). Adding (to the adapter) a non-powered 2 ports USB-hub lower the Watts to a total of 8,52 W. If I continue to add my blue PS1/PS2-hub (2 ports) to the USB-hub, it will use a total of 9,39 W (idle). Adding one PS controller (SCPH-1200) adds 0,03W and adding another (SCPH-10010) adds 0,44 W to the equation. Only one SCPH-1080 controller connected adds around 0.18 W. Note that I have not plugged in the HDMI nor started anything from the start menu during this test.

If I do so and start the DE10-Nano without USB devices connected but with the HDMI attached, it use 9,35 W (max) during startup, and 8,95 W (idle).

Also worth noting is that my BT USB dongle (CSR 4.0) adds almost 1 W when it is plugged in (while searching for devices to be paired with).

Only the PS1 (SCPH-7002) plugged in, not started will use 1,06 W.

The usb-micro port outputs ≈4,6 V with my 2 ports USB hub connected (with empty ports).

Also, if I add the down bellow I/O board (+ USB hub, HDMI, Analog audio cable, Front port hub and a SCPH-1200 controller.) it will reach over 10W (10.5 W) during start up sequence. But it seem to work fine (even under the pressure of some SNES Super Mario World play).

The test:

[Warning and disclaimer] 

I did this so you don’t. Because I later found out I needed to swap out the SDRAM since mine I did this test on were broken. I can’t say for sure that it weren’t the test that broke my RAM module. 

How I did it: I ran MemTest in 45 minutes with clock speed at 167 MHz. (Yes, it failed every try.)

Start value at 10,98 W and the Max power consumption (watt/effect) at the end of the tests were 11,50 W.

Picture of the watt meter after testing in 30 minutes.

Analog I/O Board

A good to have road map, to any electric DYI build, is the schematics. For the IO analog board v.6.1 you can find it Here.

I/O board added by a GPIO extension cable.

Removed the fan for space optimasation, reduction of moving parts and effect efficency. I added a heatsink, because – could not be a bad thing.

One issue. The eurorack/ribbon connection doesn’t fit if we try to put the top cover part on. Solution 1: strip open mechanism of the case so that the CD cover will be unable to open. Not a nice one, so I went with Solution 2 instead which is modification of the ribbon cable like this:

The black cog wheel is stuck on the GPIO connector. Sorry for the bad picture. I guess you just have to believe me then.

Modified ribbon connector:

By force (and no finesse) I removed the top part of the ribbon cable. This is the leftovers.

Took the top part off with a sharp tool and cut and filed the rest until it no longer touches the black cogs. Also plugged in the ‘Arduino_Reset_n’ pin to the P9 pin on the I/O board with a special designed (a bent pin without its black cover) jumper wire (male to female).

Print screen of the Arduino connection schematics on the DE10-Nano. Source: Mirror#1 (Intel.com), Mirror#2 (scribd.com).

Picture of the P9 pin on the backside of the I/O Board 6.1 (analog edition). And since Internet seem to lack pictures of the bottom of MiSTer Analog I/O and the connection underneath it, I will just put this one here. You are most welcome.

OK ..I confess, this is a bit overkill for me to put an I/O board like this inside the MiSTer Station. Because it is mostly for the audio out functionality this sounded line a good idea in the first place. But hey, this is more “retro proof” this way (opposite of future proof) with the analog video out in there in case of emergency. I will go full retro someday. The audio out port is worth it anyway now that I can only need a computer screen and some sort of headphones or audio receiver.

Added a Real time clock (RTC v.1.3) as well.

Now I got an other problem. The USB adapters, USB hub and USB cables take up tremendous amount of the space left in the case. And I haven’t yet got the back ports in place. Time to be creative.

Mounting I/O ports to the back.

This is what we are aiming for.

First we need to add and create a new back plate for the I/O of your choice. In my case: one female USB and one female 3.5 mm analog audio out.

Start by find yourself a plastic/plexi board of that you have available.

Then saw/cut/file it so it will fit perfect in the case. As high as possible, put still low enough so we can close the case all together.

When you are going to close the top CD cover, you might realise that it doesn’t close properly. It is because the tight space here:

Before the minor fix for fit the back panel.

It is to narrow to the back plate, so I recommend you to cut in the case itself rather than in the home made back cover. End result after some dremel work:

Top view after the plastic surgery.

Side view #1 after the modification.

Side view #2 after modification.

Back panel in the making. With tape to make it possible to mark we’re to cut.

Back panel outside of the case.

Drilled holes to fit screws and audio jack. Incl. drilled sink in holes for screws not sticking out to much from the white plastic. Glued extra peices of plastic as support of the later force of cable insertions.

Glued the back panel to the case and together with some magic of cable management, it look like this.

At last I needed to eliminate a grey cog of with my Dremmel. Just to be able to close the CD top cover lid, and not hit the inside of the USB connector (also carved in the black plastic of the USB, next to the screw as well, just to be sure).

Before the makeover.

Power vs USB hub. Aka installing a USB Hub without back powering the MiSTer.

One new issue appeared when I connecting my powered (5V 2A) USB 2.0 hub (Gembird UHB-U2P7-03) to MiSTer/DE10-Nano. When I shutdown the Playstation PSU the MiSTer didn’t shutdown with it, due to the 5V via the USB hub.

The solution?

1. Cut the USB hub cord in half! 🙂

(…or just cut the red wire inside of the cable, if you are not going to use shrinking tubes as I did.)

 

2. Then solder it together without the red VCC +5V connected. See the USB pinout schematic for details.

3. Test the wires so there isn’t any shortages.

Reset button

Not yet finished – But the idea is to control the I/O board P3, btn_reset pin3 (=pin 17 on GPIO1) & GND pin5, with a transistor (2N2222, datasheet) via the Playstation PSU (7,56 V pin1, & GND pin5) when activated by the momentary reset switch.

The P3 connection on the I/O board (schematic) .

 

 

 

Heatsinks – Handle the heat in the closed case.

Ran the MiSTer MemTest for with a open CD top lid/cover. And it seemed stable first at 122 MHz (after about 2.5 hours). I then closed the lid and it first ran at 122 then down to 120, and finally ended up at low 110MHz. Got Informed by Nat from https://MiSTerFPGA.co.uk/, that the “fastest any core needs is 126Mhz, if the speed never drops below this it does not matter.

The only core that even requires 126Mhz is the Archie core (Acorn).” – Nat.

6 aluminium heatsinks (7 mm x 7 mm x 6 mm).

 

 

Heatsinks on the 128 MB RAM module.

 

3. Software is what make the hardware worth it.

If you are like me, sitting and waiting for tech parts to arrive to Sweden in the year of 2021, you can always do a lite custom MiSTer logo in the meanwhile …or just use mine:

..yes the Ascii code/”dots” now says PSX.

DOWNLOAD: .png (112 KB) .jpg (351 KB) .pdn (149 KB)

Start guide

https://boogermann.github.io/Bible_MiSTer/getting-started/how-to-setup/

MiSTer image to a SD card

Mr. Fusion

“Mr. Fusion is a tiny, custom Linux distribution designed to run on the DE10-Nano and install MiSTer.

It comes in the form of a compact image that you can download and flash onto an SD card of any size with a tool like Apple Pi Baker, balenaEtcher, Win32 Disk Imager or even dd.” – https://github.com/MiSTer-devel/mr-fusion

Update script

Updater script for MiSTer

https://github.com/MiSTer-devel/Updater_script_MiSTer

MiSTer.ini (settings)

 

Online INI generator: https://ini.misterkun.io/ (unavailable in November 2021).

ROMS (.bin .cue)

Create copy of your PlayStation 1 games by for example with the classic programs like:

  • Alcohol120%
  • CDRWin
  • CloneCD,
  • ImgBurn,
  • BlindWrite
  • Nero Burning Rom
  • DiscJuggler

Need more info? Search via DuckDuckGo (or Google) to find more detailed information about settings and how-to-use guides about this topic. This blog post is already a handful to read through.

Background picture?

TBA, if I decide to change the background and/or logo.

MiSTer Super Attract Mode (SAM) – A screen saver script for the MiSTer.

“Like a screen saver, MiSTer SAM comes on when your MiSTer is idle. Then SAM will launch a random game from your library every few minutes. If you like a game that’s currently playing, just pick up your controller and push a button, press a key, or move the mouse. SAM will start another game once you return to the main menu. Then the gaming tour begins again!” – https://github.com/mrchrisster/MiSTer_SAM (2021)

Forum post on the topic https://misterfpga.org/viewtopic.php?t=2493

Core

Playstation MiSTer FPGA core. Is it a good idea? Yes. Is it a total awesome idea? Absolutely! It it finished in the time I write this? Nope.

Conclusion it is worth supporting the developer with a few bucks. Mr. obvious: “Go find and support FPGAzumSpass via Patreon.”

I/O board

MiSTer IO Board v6.1 with Fan

“Configuration of the video output signal on the IO board is controlled via the MiSTer.ini file, more information on how to configure and download of the MiSTer.ini file see the MiSTer.ini configuration page.” – (2021, misterfpga.co.uk)

Bonus: As a celebration to the Sony PlayStation you can look at this massive (1:22:25) history lesson:

Thank you and good luck!