Designing my mame arcade console.

buttonsMy joystick, buttons and IPac interface card arrived in the mail.
I've done a lot of research on building an arcade cabinet or control panel and I can tell you there's no definitive guide out there on the internet for building a control panel. In fact it's worse, many (maybe most) people seem to their own layout and usually get it wrong. A common mistake for two player setups is to have player one with the joystick on the left and buttons on the right (correct) and player two with the joystick on the right and the buttons on the left (wrong!). On top of that, most people put up photos of their cabinet but not the plans. Or if they have plans it's for the cabinet and not for the control panel (i.e. the buttons and joysticks).
I had the following constraints for my son's control panel:
  • I wanted it as small as possible, but no smaller.
  • I want it to play most games with a joystick including SNES and most PSX games. This means at least four buttons per player.
  • I wanted it wide enough for two adults to be able to play.
  • I wanted it the right distance so I can use the two joysticks to play Robotron.
  • Ideally, the control panel would be open at the bottom so I can place it on top of the existing keyboard and mouse instead of having to put them to the side.
  • The thing should be heavy enough so that I won't need a clamp to hold it to the table. It should be strong enough to take some abuse and not flex when playing aggressively.
  • I wanted to be able to go between 8 position joystick to 4 position joystick easily. This can be done through the Mag-Stik Plus.
I wanted to design the thing beforehand, but now that I'm running Linux I don't want to use AutoCAD anymore (although it might be still possible through Wine). I tried QCad which really isn't that bad, but it works quite differently than AutoCAD, so it was taking a lot longer than I wanted. I was really hoping that I could use PythonCAD, but it's way too beta for me and the documentation is really lacking to help me through it. I tried briefly to use Blender (let's go 3D), but I couldn't figure out how to put in actual dimensions and it would take a week to draw things up. In the end I felt I was wasting time with the CAD stuff, at least with Blender I would be learning some useful stuff say for some 3D logos on a web site, for example.
In the end I used Inkscape which is more of a drawing program but you can set it up so that everything is in centimeters. It worked out pretty well here's the SVG file for you to look at (if you have a browser like Firefox 1.5 which can handle SVG). The advantages of using Inkscape is that I'm learning how to use a drawing program which is more likely to be useful for me to learn than a CAD package. My version of Corel draw can output in SVG so I'm going to start converting my other corel drawings to SVG.
I've decided that building wood projects is a lot like programming. If you plan and design ahead of time things will often go faster, and the more you plan the faster things will go. But you can spend more time designing and planning than it takes to do the implementation. There's a tradeoff where you but eventually you'll probably hit a snag or two and all your designs go out the window. Here's an example:
I wanted the front and back pieces to be 90 degrees from the table, not from the top panel as it is now. My problem was that I place the buttons too close to the edge so I couldn't do the angle. I suppose I could have done it for the front piece, but I used mounting brackets which I would have had to have bent into the right shape, and other small issues.


Anonymous said…
a good read.

Popular posts from this blog

Seven Segment Display in Inkscape

Shortest Sudoku solver in Python