Wednesday 30 January 2008

"Second" Release of gMame - the Software

I've just launched the "second" release of the java interface, with lots of nice support messages to help people get started, rather than innocuous error messages, a change of colour scheme to reflect the logos I designed, and some code optimisation.

Available at gMame@Sourceforge

Tuesday 29 January 2008

A lot of Java, and a little woodwork...

Today I spent about 5/6 hours working on the software available at gMame@Sourceforge - although I haven't uploaded my changes as they are part way through.  I'm trying to add a lot more error handling so that the new user is not put off by odd error messages just trying to get the thing started.

I'm trying to get to grips with CVS (the version control stuff) so that I can keep my up to date working copy at sourceforge instead of a number of memory stick.

Tonight, when I got it, I had half an hour to install the marquee and the speaker panel, then offered the monitor panel back in.  As pointed out in a previous post, I've finished the monitor panel too early - I need to unpick it all and pass it back over the table saw to get the right angles top and bottom.

Next time I get some time on the project (hopefully Thursday morning) I'll either do the electronics work, or get the monitor panel angled and installed, or hopefully both.

A picture of everything in place (monitor just positioned not installed) to get your appetites wet...

Cabinet as at 29/01/08

Monday 28 January 2008

Here comes my artwork...

My brother arrived yesterday afternoon with 2 copies of my big sticky label - gMAME Marquee Logo - (aka my home made marquee) - it looks great at 60cm by 15cm (2' by 6")

I took the 6" perspex I'd been saving to act as the marquee and carefully applied the marquee art to it - a few attempts later and I have it fairly square. Not bad.

Offered it up to the cabinet. Pants!

The cabinet has been designed for 5" not 6" marquee - it's too big.

I go back down to the workshop, find the 5" perspex panel I should have found first time, and tried again with the "lucky-he-brought-2" second sticker. As it's 6" there was some to either cut away or fold over - I chose to fold it over the edge - don't ask me why.

Offered it up to the cabinet. Nice! Will attach today/tomorrow when I carry on with the speaker panel.

Marquee + Sticker

Speaker Panel - Part 1 - Woodwork

So, Sunday came and again, little to do, and again, little money, so the impossible happened - another permission slip to work on the project. Amazing. I'm sure that I'll have to pay for this somehow in the future...

I could follow the process as per the monitor panel, cut a hole, bezel, the put a cover (speaker cloth, not perspex), but I want to be cheap and I think my process is a bit more artistic, and reminiscent of the cabs I played on many, many, many years ago. Put simply, I'll break apart some cheap (but reasonable quality - it's not as if arcade games have hi-def sound) speakers that I got from eBay for a fiver ($10), cut a wooden panel, drill lots of small holes to let the noise out, paint it, install the speakers behind the small holes to let the noise out, and install it.

The process:

  1. Bust open! some cheap speakers, and save all the insides, tossing way the plastics - PHOTO

  2. Cut a panel to size - this panel will be mounted at 45 degrees so for an average 5'-6' (1.5m-1.8m) person it should point at the face/ears

  3. Draw out my speaker-holes-pattern on the panel - I've set my trusty compass the max width of the speakers, spun a circle, reduced the radius by 1cm, spin the circle, reduce, and so on until I have a bunch on concentric circles - repeat for the other speaker.

  4. Draw intersection lines at 0, 22.5, 45, 67.5, and 90 degrees - then draw some crosses when lines intersect without cramming too many holes too close together - speaker panel - design

  5. Down to the bench-drill, and with a 3mm bit, drill all these little holes, then slightly countersink them on the facing side for aesthetics.

  6. A coat of MDF primer later, and the counter sunk sections have swollen - this is fibreboard I remind myself, and my countersink must be a bit blunt - DO THIS DIFFERENTLY - perhaps a sharper, larger drill bit inside of the countersink would have a better effect. Some careful sanding and re-drilling of my little holes and I'm ready for 2 coats of matt black - speaker panel - 2 coats black

  7. This paint I'm using is pretty thick stuff, and I don't want to brush it into the carefully constructed little holes as it'll surely clog, so I'll get a good permanent marker and fill in the bits of wood inside the countersinks that the paint. missed.

Monitor panel - Part 3 - Installing the Monitor

So Saturday came with little to do and little cash to do it with (the last payday seems soooo long ago), so "she-who-must-be-obeyed" signed my permission slip for a couple of hours work on this project.

The Process:

  1. I flipped the monitor panel face down and put a couple of layers of black insulation tape in the bezel-ed bit of the panel, so that the rough chipboard wouldn't scratch the monitor (it needs to be worth something on eBay one day!) - bezel - black taped

  2. Dropped the panel in to check that the insulation tape hadn't upset the fit and ready for fixing - monitor in bezel

  3. I have a bag of these "self adhesive black base 25mm cable tie mounts" (aka the mounts) from Screwfix which are sticky-backed and have the bonus of a countersunk screw hole in the middle - cable tie mounts - closeup - so that not only can you rely on the very sticky backs holding them in place, a 1/2" (~13mm) screw through each one - bezel - 12 mounts in place - and I'm fairly confident a few of these will more than hold the monitor securely, without the screw points bursting through the other side.

  4. The cable ties I will use are heavy duty, thick, strong, etc. not your bargain basement stuff. I'll need three per span - two un-abused, and the "lock bit" from the end of the third - cable ties

  5. First cable tie - thread one through one mount, join with a second, thread the second through the opposite mount, and "lock" with the end piece of a third tie - one cable tie - get as much tension as you're happy with on the ties - the mounts should hold firmly as they're screwed down, but I don't want to stress them more than I have to, and trim the ends.

  6. Repeat 5 times - 6 cable ties - overkill? maybe, and I'm not 100% on the positioning - the ties that do not cross the center are too close to the edges for my liking, but they will reinforce the others in this "mesh" format.

  7. Offer the panel into the cabinet and top with perspex for a photo-call - cabinet with screen - nice!

  8. This particular monitor has a habit of occasionally powering up in "standby" rather than "on" - as such I've drilled a 1.5mm (small) hole in line with the standby button - monitor panel - hole in bezel - so I can access this with a straightened paperclip if needs be - I could have done this for all the monitor controls, but I think that's overkill for me - I'll have to remember to carefully drill a hole through the perspex in exactly the right place to line up with the hole in the wood, after the panel is installed.


DO THIS DIFFERENTLY - it's only when I come to look at the next panel (the speaker panel) that I realise the monitor panel and perspex will need to go back to the workshop and passed over the table saw to get and angle on the edge which meets the monitor panel. As such, I'll need to re-wrap the perspex for protection, remove the monitor, and protect my nicely painted monitor panel - a pain and a waste of cable ties. So, if you're at this stage DO NOT PAINT THE PANEL, DO NOT MOUNT THE MONITOR, and DO NOT REMOVE THE PERSPEX PLASTIC until you're happy with the fit of this panel in respect of the two panels it neighbours.

The Monitor Panel - after lunch?

The more observant of you looking at the date of this posting are either thinking "man, this guy has long lunches" or that I haven't posted for a couple of days.

After lunch, I gave the monitor panel a quick sand, and 2 coats of matt black, pulled the protective plastic from the perspex, and dropped the panel+perspex in the cabinet - looks like this - bezel no screen

This thing is starting to look like an arcade machine, albeit with "vertically challenged" issues!

Friday 25 January 2008

The Monitor Panel - Before Lunch!

For those of you who have been following the story, I started this blog retrospectively (as in, I wrote about stuff I'd already done) and now we've caught up - we're in real-time, baby, yeah!

This morning I started work on the monitor panel. I want this panel to be thicker than the rest (all the other panels are 9mm) so I want at least 12mm, as I will rout a recess in the rear of the panel so that the monitor will fit snug. Also, as it's near the end of January, and the last payday was a long time ago, I have purchased some Chipboard (£4 for a board of 1200mm (4') x 600mm (2')) as opposed to MDF (£8 for the same size) - the finished panel will be painted and under perspex, so it's unlikely anyone will notice the difference, plus it's similar to work with, although rougher in finish - some careful sanding with fine paper should make all of this viable.

The Process:

  1. Make a template of the monitor - my template is in thick foam (it's just what was closest at hand at the time - nothing particularly special about the foam - could easily have been stiff card) Monitor Template - crucially cut out a small hole at the center of the template, and mark on the bezel dimensions of the monitor.

  2. Cut the 4'x2' Chipboard panel to 2'x2' - Monitor Panel cut to size

  3. Draw lines from corner to opposite corner - Monitor - corner to corner - the position where these lines cross is the center of the panel

  4. Lay the template on top of the panel and line up the hole in the center of the template with the position where the two diagonal lines cross (apologies for the blue rubber gloves - very messy in the garage now) - Line up hole in template - ensure the template is square in the center, by measuring the distance from each corner to the nearest diagonal line - this process ensures the monitor will be in exactly the center of the panel - YOU MAY NOT WANT THIS - you might like your monitor a little higher or lower in the panel - this is your choice.

  5. Draw around the template and using the dimensions for the bezel jotted on each edge of the template, mark out the position of the - actual screen area in the monitor - Panel Marked Up - The inner square will be cut away to show the screen, and a recess will be made using a router in the area marked as the outer square - once finished, the monitor will be recessed a few millimeters into the panel so that it doesn't move around - this recess will not be deep enough to hold the monitor in the panel, just for positioning - Marked Up - Close Up

  6. Cut out the inner square with a jigsaw - a steady hand helps, as you need nice straight edges to mirror the nice straight edges on the screen of your monitor - Jigsawwed

  7. Take your trusty router (mine is more senile than trusty due to it's age) set the depth to approximately half the thickness of board, and rout the outer square from the panel - you don't need to be too careful as freehand router-ing is a similar process to trying to bath a cat - a "close enough" approach will do here - you can always pad the routed area with tape if needed when installing the monitor - I intend to regardless of the fit so that the monitor isn't damaged by contact with the wood and should still be worth something on eBay one day - Routed Monitor Bezel

  8. I applied some masking tape to the "bezel" (routed area) and took it upstairs for a quick trial with the monitor - fits first time and like a snug glove - very, very happy! - It fits first time

  9. Back to the garage, and drop the panel (minus the monitor) into the cabinet for a glimpse of the future - Monitor Panel in cabinet

  10. A quick sand, a coat of MDF Primer (I have no Chipboard primer, and don't know if such a thing exists) and fingers crossed that the MDF primer does what I want it to do (seal and prime) on Chipboard.


By popping the perspex on the top of the panel - monitor panel and perspex - zoom out - and going close up with a rule - monitor panel and perspex - I can show you the process I tried to describe in earlier postings, that I am making the "bridging" panels (monitor, control, etc.) slightly recessed in respect of the side walls (the closeup shows ~5mm) so that a final stage will be to use a flush-trimming bit in the router and bring the sides in to fit the panels, rather than make the panels fit the sides - should work.

Anyhoo, like I said at the start of this posting, we're in real-time now, I'm hungry and the primer needs 2 hours before I can sand and paint, so time for some Super Noodles and I'll catch the lunchtime news.

    Thursday 24 January 2008

    Arcade Control Panel - Part 2 - Electronics

    OK - I have a control panel - it's built - <bias>it looks lovely</bias> - so let's try and connect the hacked keyboard controller (see earlier posts) with the built panel, and see if we can't get it all to work.

    MORE PHOTOS TO FOLLOW

    The Process:

    1. Install the microswitches for the joysticks and buttonsControl Panel - Microswitches Installed

    2. 6 buttons per player, 1 joystick per player (4 switches), 1 coin per player, 1 start per player, 1 game selector (the ESC key) = 25 microswitches: 2 wires per microswitch=50 connections. Each connection on each microswitch receives a 1.5mm crimp connector, so we need to make 50 wires of, let's say, 9" (~23cm) length, each with a crimp connector on one end, and the other end stripped ready to be installed in the screw block connector.

    3. I made 25 white wires and 25 black wires - one for each side of the microswitch, and also, now that I know one connector has to connect to the top layer keyboard connections (see the Keyboard Hack posting for more details) and one connects to the lower layer, I know all my white wires should be together and all my black wires should be together in the screw blocks. Not a necessity, but useful for troubleshooting.

    4. I don't trust crimp connectors, so after I've crimped my bunch of wires, I also drop a splodge of solder into the crimp connector to make sure I have a good connection.Bunch of Crimped Wires

    5. DO THIS DIFFERENTLY - 9" per wire was way too short - I had a real struggle when it comes to screwing these all together into the block connectors - no enough play on each wire so the controller which I expected to rest several inches from the underside of the panel, actually comes to rest within a few millimetres of the underside - not ideal.

    6. Time to look at my keyboard pairings again - Tracing Summary Page 1 - I look through this sheet, highlighting all the keys that my control panel will use - UP, DOWN, CTRL, ALT, etc. Now I count all the left column numbers, and all the right column numbers, so I end up with a number of wires to connect to screwblock 1, a number for screwblock connector 2, and so on for the 26 connections. So for example, if I know there are 4 wires for connection 2, I twist 4 of my white wires together, screw them into connection 2, then push the 4 crimp connectors onto one side of the 4 microswitches that will use connection no. 2. Hope this makes sense.

    7. I work my way sequentially through each of the block connectors, counting the number of wires, twisting, screwing into the block, pushing the crimps onto the correct microswitch, etc, untill all 26 connections on my Keyboard Hack are complete.

    8. I now have an arcade control panel with a keyboard connection - it's not been hard to do, but has taken some time - time to test it!!!!!!


    So I connect this thing to my PC fire it all up and......

    NOTHING - not a sausage

    Pants!

    Panic! - I've broken it all - the keyboard PS2 is broken again - one of my solders has shorted - i don't understand what's going on.

    One Chicken & Mushroom Pot Noodle, and one Stargate Atlantis episode later, and a thought occurs to me, "Do I understand how these microswitch-y thingies work?" - let's google them.

    A couple of websites and some wikipedia later, and I have the answer I suspected - "No, you don't understand how they work!"

    Three connections per microswitch and I need 2 - Microswitch - I connected all my wires to the top connector and the bottom connector - I find out from my google-ing that a microswitch can either "make" or "break" a connection depending on which of the two side connections you connect - I had setup the switches in "click to break" mode - essentially meaning that all the keys were pressed and I pressed a button to "lift my finger off the keyboard"

    Embarrased, but strengthened by the Pot Noodle, I returned to the panel, and pulled all the black connections (see, I told you the colour coding would come in useful) from the lower side connection and pushed on the upper side connection - again, this would have been a lot easier if I'd left some more length on the cables, but I managed.

    Second test

    It's a good job the wife and kids weren't home, cos I'd probably have terrified them with my manic whooping and jumping around.

    I have a working control panel.

    Picture Homer Simpson drooling over doughnuts, "UUUUUUMmmmmm Control Panel" and it doesn't quite do it justice.

    Homer Simpson

    Arcade Control Panel - Part 1 - Woodwork

    So here we are.

    My joysticks and buttons have arrived from eBay (many thanks to Andy @ GremlinSolutions for the excellent buttons) so it's time to get down to building the control panel. I chose this panel first, as I think this is one of the most complex parts of the beast.

    See my earlier postings on design (under the Early Thoughts tag) for my sizing and reasons for sizing, etc.

    The process:

    1. cut the perspex to size - a table saw helps

    2. cut the MDF to size - a table saw helps

    3. clamp them togetherControl Panel 1

    4. mark out the player 1 control layout

    5. drill the player 1 control layout - a bench drill helps - my freehand drilling isn't accurate enoughControl Panel 2

    6. copy the layout onto the player 2 side

    7. drill the player 2 control layout

    8. DO THIS DIFFERENTLY - I'm not 100% happy about my control panel - when you look at the finished article, player 2's controls are far too close to the right hand side of the cabinet for my liking, and player 1's start too far in from the left hand side - I'd have tried to centre them better next time around, inside of striking a line in the middle and copying one side to the other

    9. prep the MDF for painting - light sanding and a coat of MDF primer/sealer

    10. paint the MDF - foam roller and matt black for me - spray paint if you prefer, but I think it's too expensive for this job

    11. paint it again

    12. remove the perspex protective plastics

    13. install the joysticks and buttonsControl Panel 4

    14. go all funny/nostalgic inside looking at it



    Control Panel 3

    Wednesday 23 January 2008

    Started my SourceForge!

    Joy of joys!

    A great day.

    I've just found that my gmame sourceforge project request was approved on Monday (funny I didn't get the notification email, but no matter) which now means I have a place to properly support the software side (my custom interface) of this project.

    Woo-hoo!

    Now, all I have to do is figure out how to use it...hmmm....

    UPDATE: think I've sussed it - have posted my first set of zip files via sourceforge - time to get slaughtered by those who know how to program properly, not some wannabe code monkey like me! :-P - my code looks SOOOOO rough - I really will have to split my time been blogging, coding, and building - core, tricky doing this in quasi-realtime.

    Saturday 19 January 2008

    First Woodwork

    So, about time I got to building this thing?!

    I took 2 sheets of 9mm (3/8") MDF, lay one on top of the other, and clamped the together at the factory corner/sides (i.e. sides I can be relatively sure are straight and square)

    I drew out the design I wanted for the top section of the cabinet (read my post on Motivations for more details) using my trusty protractor and a steel rule.

    First Sketch

    DO THIS DIFFERENTLY: I jigsawed out the design as accurately as I could, and because it was free-hand, there was the odd slip here and there. On reflection, I should have jigsawed out the pattern wide of the lines, and used my flush-trimming bit on the router at the final construction stage to bring the sides in flush with the body - I'll describe this better in a later post.

    As above, the final pair of sides were not as accurate as I'd have liked, but they will suffice for now (I intend to tidy them up much more in the final stages) so I set about installing the "batons"

    The diagram I will upload at a later date does much to explain this than I can in words, but here goes. For each of the panels that will bridge between the two sides, I measured the thickness of the panel (remembering to include the thickness of any perspex sheeting where applicable - such as the control panel) and scored a line on the inside of each side panel to match the thickness of the bridging panel, plus a few millimetres spare, so that I can tidy up the sides later.

    For example, the control panel is 9mm MDF, with 6mm Perspex=15mm - on each side-panel, where the control panel will bridge the two sides, I scored a line at 15 (+3 spare) mm on the inside of the side-panels. This line represents where I want the bottom of the control panel to connect to each side.

    Adding batons to the sides

    I took my stock of 1" sq. batons made earlier, cut to the "depth" of each "bridge" panel and installed them using the lines I had drawn on the side-panels, so that each "bridge" panel would sit on the baton at the right position.

    Like I said earlier, much easier to explain using the pictures! :-p

    At this stage, I have my two side-panels cut to the right shape, and installed with batons for fixing the "bridge" panels, so I quickly dropped in a couple of lengths of 1" sq just to get a look at the size of the final cabinet.

    First Time it Stands!

    My heart skipt a beat!

    Early design considerations

    I've read as many sites and looked for as many diagrams as possible to try to discover the dimensions of a relatively authentic looking cabinet without it taking up an entire room. I have found this task rather fruitless - there are so few sites willing to share their designs - maybe because, like mine, they consider them works in progress, and the finished cabinets never match the original design, but still, they would have been useful a starting point.

    I found one good looking, well described design and adjusted in for my priorities (see my posting on Motivations for more details) to come up with something I think will work.

    Design points:

    1. 6' (1.8m) tall, but separated into upper and lower sections, with all the hardware in the top, and the lower essentially an authentic looking stand, 2' (0.6m) wide by 2' deep

    2. 10 degree tilt on the control panel, 9" (225mm) depth for wrist-resting

    3. 75 degree tilt on the screen panel to improve notoriously poor viewing angles on most TFT/LCD monitors

    4. 45 degree tilt on the speaker panel so the speakers face your face

    5. 6" (150mm) marquee panel

    6. Slot-cut top panel for ventilation (reduces cost of buying a vent plate)

    7. Perspex covered control panel and monitor panel for cleaning and aesthetics

    8. Rounded over edges of the side panels to remove need for T-Molding


    Using these points, I came up with a design like this...
    PHOTO/SCAN TBA

    Friday 18 January 2008

    Pretty Pictures


    gMAME Marquee Logo

    I'm lucky that my brother is a printer, and is able to print any artwork I want onto sticky-backed vinyl of any shape and size up to 2m (~6'6") by any length.

    Firstly the marquee - I've spent some time surfing the web looking at marquee artwork and not really finding something I like, so, whilst I'm busy doing everything from scratch, why not make my own marquee?

    I've used GIMP to create a marquee that I like (above) by generating three layers of blue fire, downloading a free font from 1001 free fonts called DueDate and writing the word M.A.M.E. over the top - on reflection, I should have written gMAME (my friends call me G so everything I make or do is G - like my mobile phone (gPhone) my car (gMobile) - you get the idea?!)

    I have an idea that I'd really like a large Ken and Ryu (from Street Fighter) on either side of my cabinet - I'll have to do some more surfing or see if I can commission someone to draw this on the cheap. If not, I'll have to do a collage of popular arcade images, characters, logos, etc. or do some more interesting things with the blue fire I've become rather fond of.

    Plan it! (at least roughly)

    I like the kind of planning which is as detailed as possible to start with, but flexible enough to alter as the project goes along. Gather as many of your thoughts down on paper at the start enables you to have fewer "balls in the air"

    The order of tasks:

    1. build the carcase

      • design the carcase

      • buy/prep materials

      • build the sides



    2. build the control panel

      • as this is something I think it's relatively complex and time consuming I want this done first - the controller is already built (see my posting on Keyboard Hacking)

      • buy the joysticks and buttons

      • design and build the panel

      • prep/paint/finish

      • install harware

      • test



    3. build the monitor panel

      • buy/acquire the monitor

      • design the panel to the size and shape of monitor

      • cut/prep/paint panel

      • install monitor into panel



    4. build the speaker panel

      • buy/acquire speakers

      • de-construct to raw components

      • design panel to components

      • construct and install components



    5. build the marquee

      • design the marquee

      • install marquee backlight into carcase

      • install the marquee



    6. build the remaining panels

    7. deconstruct the PC into necessary components and install

    8. connect everything together

    9. attach all the remaining panels together

    10. test

    11. construct lower stand/housing


    Easy, no? (ahem!)

    What are your motivations?

    Give me a moment to explain my motivations and priorities in the build. My priorities might not necessarily match yours - you might need to pick and choose and modify to your tastes accordingly.

    Isn't that the point about building your own arcade machine as opposed to buying one from a builder?

    My Priorities:

    1. Size

      1. I need this machine to fix through doors that are just a touch wider than 2' (0.6m) wide, thus the maximum width of the cabinet is 2'

      2. I want to this machine to be semi-mobile - I'd love to drop the seats in the car and take it to friends/family parties

      3. I'm about 5'8" (1.72m) so I want this cabinet around the 6' (1.8m) mark - this I think is fairly authentic and will put the marquee slightly above my head, where I think it should be

      4. In order to keep this portable, but at 6' tall, I'm going to have to split the unit into an upper section with all the "stuff" in it, and a lower section essentially a stand - this also means I have an upper section that I can put on a bar or table at friend's houses

      5. I want to use a TFT monitor rather than a CRT, thus I can keep the depth (front to back) quite slim as I don't need masses of space for a CRT



    2. Budget

      1. Both I and the budget are tight - essentially there is no budget, so what I spend I have to take from elsewhere, thus any corners I can cut without compromising the unit will be good

      2. I need to find/reuse/reclaim as much as possible from old jobs, bits of stock I have in the corner of my workshop, gifts/donations from friends and family to keep the costs down

      3. Using Linux and open source software keeps the prices down too



    3. Materials

      1. I have an unhealthy attraction towards MDF (medium density fibreboard) - this is available from almost any timber supplier/home store/DIY centre and very reasonably priced - easy to paint/sand/cut/shape - available in almost any size, but critically, one of the more popular sizes is 8' (2.4m) by 4' (1.2m), thus when cut to 2' wide, I have 16' per sheet at a cost of roughly 11UKP (~$22) - very reasonable!

      2. I'm going to join boards together at 90 degree angles using some pine 1"sq (25mm sq) pine lengths - relatively expensive to buy, but I have a couple of 8' x 2" x 3" and the tools to cut these down into 6 x 8' lengths of 1" sq for approx £2.50 ($5)

      3. Perspex or similar acrylic sheets - luckily I've been able to get 3 fairly good sizes boards, at 1/4" thickness (6mm) for free

      4. Paint - I want a matt black finish, and again, I've been lucky to get a tin large enough for a couple of coats all over for free

      5. Screws - my local popular supplier (Screwfix) have drywall screws at £3 and change for 1000 - just the right length, and black to fit in nicely with the finished unit

      6. A small fluorescent tube light left over from a previous project will sit behind the marquee to give an authentic look to the cabinet



    4. Tools

      1. I'm very fortunate - I've gathered many tools together over the years that are more than useful for a job like this:

        1. 10" table saw - for cutting large boards accurately and for "ripping" by 2x3's into 1x1's

        2. router - flush trimming bits, straight cutting bits and rounding over bits are going to be very useful in trimming and decorating panel edges, cutting vent slots, etc.

        3. jigsaw - speaks for itself

        4. bench drill - for drilling holes for buttons, etc, accurately and easily and in bulk

        5. loads of clamps

        6. a quick change drill with counter sink/screwdriver attachment for my drill/driver





    5. Technology

      1. I have a relatively new computer that I will gut for parts for the tech side of the project, the old keyboard (already mentioned in previous posts)




    I think that's it for now - I'll try and revisit these motivations throughout the project to explain why I do things the way I do.

    Keyboard Hacking!

    As mentioned previously, I want to build my own keyboard interface. I think I'm a fairly bright guy, so I should be able to figure out how a keyboard works and how to hack (the old version of the word, as in "opening something up, figuring out how it works, and possibly modifying it to do something different/better") one, right?

    This ended up being not as difficult as I thought it might be. A warning for the faint-hearted though - the pictures in the blog show that the final product is by no means pretty - I'm sure with funds, time, effort the resultant object could be significantly prettier, but that isn't a priority for me - if it is for you, check out the I-PAC from Ultimarc.

    I've used my own terminology in the process that I know is wrong, but it makes sense to me, and maybe it'll make sense to you.

    The process:
    1. get an old/unused keyboard and open in up
    I used an unused PS2 keyboard - I think this process would work fine for USB but I've never opened a USB keyboard so I'm not sure.

    2. de-construct the keyboard paying careful attention to what goes where

    First Open the Keyboard
    In the top right hand corner (looking at the "opened" keyboard the way you would use it, if it were closed) is the brains circuit board - notice the little metallic "tabs" in a line across the bottom - these connect to the "nervous system"

    3. seperate the "brains" from the "nervous system"
    The nervous system is the term I use to describe the two thin, plastic sheets with circuits drawn on them - we'll call these the "membranes". Membrane Package

    The two sheets are stamped "upper" Upper Membrane and "lower"Lower Membrane - the upper sheet connects to the "brain" by contact with 8 of the 26 metallic tabs Upper Membrane - Contacts, the lower sheet has contacts that rest on metallic tabs 9 through 26 Lower Membrane - Contacts - there is a layer in between to separate the upper from the lower with holes under each of the keys on the keyboard Membranes Exploded!, effectively masking out the tracks except for the holes where the upper track can be pushed down to make contact with the lower track.

    EUREKA!

    It's at this point that I realise for the first time in my life how a keyboard works (call me naive if you like, but I've never had need to know before)

    When you press a key, the upper track and lower track connect. Let's take my RETURN key - on the upper layer, if I trace all the way back to the contact points, the upper track for the RETURN key connects to the "brain" at tab 4, and the lower track connects at tab 14. Thus, when I press RETURN, connections 4 and 14 are joined - this is read by the brain and the "RETURN key signal" is sent by the keyboard's "brain" to the PC.

    4. figure out which "nerve combination" sends what keypress to the PC
    I have good eyesight (I don't wear glasses) and was always good at the "first out which string is connected to the balloon" drawings in kids books. This skill, I hadn't realised until now, is a critical life skill if you want to trace keyboard "nerves" back to the brain.

    I set the wife up with a bottle of Merlot and a "chick flick" and I sat next to her on the sofa for 2 hours, with the keyboard nervous system on one knee, and an A4 pad on the other, and traced the combinations for each and every key on my board. I started out with the intention of tracing only the keys I needed for 2 players worth, and some interface controls, but at some it either became easier to do them all, or my notorious OCD kicked in.

    I found the best method to do this was to draw the keyboard keys onto each "membrane", then process them a layer at a time. I took the upper layer, started with connection tab 1, then traced tab one writing down every key on the tab 1 path. When finished, I started with tab 2, and so on until the top layer was finished at tab 8.

    I repeated this for the lower layer, which started at tab 9 through to 26.

    5. map out all the "nerve combinations" (or just the ones you need)
    At this point, I have 2 sheets of A4 - one with upper layer listings Tracing - Keyboard Contact Pairings, and one with lower Tracing Summary Page 2. I took a third sheet of A4, wrote out all the keys in some order that made sense to me (left to right, top to bottom) then created two columns - I went through the upper layer listings jotting the tab number into the first column for each key, then the lower layer in the second column. I now have a sheet that tells me every nerve combination for every key on my keyboard Tracing Summary Page 1. I can now dispose of the membranes (actually I mounted them on the wall near my PC as some form of trophy, testifying to the effort required to trace these combinations)

    5.5 the big test
    Full of excitement, I grab a paper-clip, stretch it out, plug the remaining "brain" into my laptop, and hesitantly try connecting "tabs" together to send key presses to the computer. The first one works exactly as I thought it would, and I could not contain a small "woo-hoo!" 5 minutes later and I've spelled my name in a text editor using my paper-clip - I feel like I've just built a rocket ship!

    6. replace the "nerves" with screw connector blocks
    Now this is one of those points in this process where I'll point out things I would do differently second time around - i strip both ends from a series of 26, 6 inch "bell wire" (anything fairly small diameter, up to 1mm per wire) and start to solder the wires onto the metallic tabs.

    DO THIS DIFFERENTLY - the wires liked to move around a lot as they were only resting on top of the tabs as I soldered. I have a 1mm drill bit and a small, rotary drill tool used for engraving, etc. (like a Dremel) and I would have drilled little holes through each of the tabs, to make soldering the wires a lot(!) easier.

    I used a hot glue gun and blurbed all over the connections to make sure they stayed in place and as insulation - seemed like a good idea at the time, but not pretty to look atHot Glue Blub.

    DO THIS DIFFERENTLY - the PS2 wire into the "brain" was very secure whilst in the keyboard housing, but very fragile now out of the housing - use some insulation tape or hot glue to prevent accidentally twisting or pulling this loose (like I did, and had to trim and re-solder these wires back into placeFragile PS2 Connection.

    At the other end of the 26 wires, screw them into screw-block connectors and you have your I-PAC equivalent board, ready to go (looks nowhere near as nice as the I-PAC, but YOU built it, and that's got to count for something?)Dodgy Wiring 1

    I mounted mine on a firm piece or corrugated card (again, liberal use of the glue gun) and trimmed - isn't she a beauty?Controller Mounted on Cardboard!