Recently I found that some of the things that I was trying to do with the Raspberry Pi 3 were a little more than its processor could handle. So after some research, I decided that even though the XU4 would require some additional work to make it operational (its support in Linux is not as mainstream as the Pi), I felt that it was the right choice and ordered one on-line. In what seems like seconds after receiving the tracking number, the Raspberry PI 4 was announced.
On top of that, while cleaning out a section of the basement we found a box full of old consoles and cartridges, but with all of our TV’s being fairly new, I would have needed to buy adaptors and cables to make everything work, which didn’t excite me.
These two events were a sign that I needed to build an emulator using the XU4, (and order a new Raspberry Pi 4 of course) that while may not be able to play every game, will most likely play the games I care about.
The problem is that I wanted a clean, minimalist case. There are all kinds of cute cases that look like miniature versions of older consoles and such. But since this is going to be hidden in a cabinet or behind the TV, I just wanted something small and basic, so I downloaded the “official” Odroid case and printed it on the MK3S. Unfortunately, it didn’t turn out well, and after reading the comments section, it seems that I wasn’t the only one that was having troubles with it. I continued browsing Thingiverse and few other sites for about an hour looking for a case, but eventually, I gave up and decided to design one that met my needs.
Design walkthrough
I started the design by downloading the mechanical drawings for the XU4 and used it as a base to understand how big the board was and what the measurement was between the mounting holes. From there I added space to accommodate hiding the receivers for the Logitec F710’s. I started with a simple two-point rectangle along with the Arc, Trim, and Offset tools to give me a little clearance and smooth the corners. I also add revision numbers to my parts because my desk is a mess and I need a way to know for sure which version of a part I’m holding at any time.
The case was then extruded and shelled from the initial sketch. I also added a filet to the top of the case to round off the edge a bit. You may be wondering why I went through the trouble of using Trim and Arc on the base sketch, instead of using a filet in the corners. This has to do with how the slicer interprets model later. I’ve run into issues before with weird slicing behavior, so I choose to put in the extra effort upfront to reduce any frustrations later.
Now the case needs to be cut open so we can put the XU4 in there. *Word of warning* Don’t just choose to create the construction point at the mid-plane. I’ve done this before, and it can lead to problems later. In the case of this model, it would have caused printing problems around the SD Card slot. If I had just chosen the mid-plane option, there would have been a section of bridging that the slicer and printer would have had to deal with.
Once the case is split into halves. I turn off the top’s visibility and extrude the standoffs for the board and revision marking. Notice that I also added small filets to the standoffs. If those are omitted the intersection between the case and the standoff will be the weak point and they will break away when you try to thread a bolt into them with any force.
With the base complete I turn its visibility off and project the initial sketch on to the inside of the case lid. Projecting the first set of holes to the other half ensures that the pass-through chambers for the bolts that I created align with the standoffs that I created on the base. Once the locations are known circles are drawn to accept the bolt passing through and then extruded so that only the thickness of the PCB will exist between the standoff and pass-through chamber.
With mechanical part of the top and bottom complete, I convert them into bodies and imported a model of the XU4 from GRABCAD (I used this once from Mechatronics Art: https://grabcad.com/library/odroid-xu4-2)
Next, the top is joined with the bottom and the visibility of all three parts is turned on.
The case isn’t of any use without access to some of the ports. So I leveraged the model of the XU4 and projected its ports to the outside of the case. From there it is a simple matter of extruding the holes into the case that match up with the ports that I needed access to.
Finally, to allow for airflow and ability to power on or reset the unit, I projected the top of the reset switch and processor fan to the underside of the case lid and used the Repeat, Arc, Trim and Offset tools to form the switch and vent holes.
After printing, I loaded the XU4 into its new case and installed Game Station Turbo on it. We’ve already had tons of fun reliving the fun of classic Mario and Sonic games. Even after hours of playing the CPU doesn’t overheat, so I’ll consider the design a success.
-Jeremy