Worklog: How to build a cheap PC button box(complete)

Discussion in 'Modding Worklogs' started by Caffeine Dealer, Apr 1, 2013.

  1. Caffeine Dealer

    Caffeine Dealer Member

    Joined:
    Dec 10, 2010
    Messages:
    2,387
    Location:
    Coffs Harbour

    Disclaimer​

    I take no responsibility for damage to hardware, software or personal harm as a result of miss handling electrical goods. Use common sense when handling electronic equipment and hot tools!


    Introduction


    About a year ago, i started on a project to add more buttons to my racing simulator.
    Back then, i had all my sim gear mounted to a desk but i recently purchased a dedicated racing simulator cockpit. The Obutto R3volution is what i decided to buy after looking at all the available options within Australia and Internationally. Picking the right cockpit could be a whole other thread by it's self so i'll just leave the cockpit talk there.

    As any racing or flight sim fan will tell you, you can never have enough buttons withing easy reach of your cockpit. There is nothing worse than fumbling for a keyboard mid race as you are preparing to enter the pits. Even with a back lit keyboard and macro's, it is still messy. So what to do?


    Than answer is a button box ​


    There are plenty of pre-made button boxes available if you care to look for them. Most of them are made in the USA and a few from the UK. I did not come across and in my laze search for button boxes. When you buy one these boxes, they are rarely offered in a customizable configuration and if they are, the additional cost is not feasible once you factor in international postage fee's and the extra waiting time. The other problem is the shipping times that come with it.
    There are some really nice options such as Derek Spears(DSD) examples. I will eventually buy one(or 2) of his button boxes but till then, i though i would lower the cost of buying multiple boxes by building one myself.

    As previously mentioned, i started this project a while back so forgive me if i do not have enough pics from the early stages. I'm hoping i can describe it well enough from my current batch of photo's so that you get the general idea.
    I am also assuming you already have some items needed for the project.

    The project is based on a USB game controller, cheap buttons and a project box.

    What you will need​


    Soldering iron
    Hot glue gun(important not imperative)
    Dremel or drill with various attachments
    Solder coil
    Wire(i used AWG30 Kynar wire as it has a solid not twisted copper core)
    Buttons of choice(5v compatible) Mine came from a combination of ebay & Jaycar
    Project box(Tandy, Dickies or Jaycar)
    Screwdriver with various attachments
    Pliers
    scissors
    masking tape
    Lighter or tough teeth(for stripping wire)
    Marker/pen
    Cotton tips for cleaning hot glue(optional)
    Vinyl wrap(optional)
    USB gaming controller of your choice(check for mappable functionality before pulling apart :p)

    [​IMG]
    [​IMG]

    How it was done​


    My USB controller of choice was a Logitech Wingman Presision USB Controller that was purchased from ebay for the perfect sum of .99c with free shipping :thumbup:

    [​IMG]

    Find the correct screwdriver attachment for your controller and open that bad boy! Remove the printed circuit board and keep the buttons, and vibration units(if you have them, i didn't) to one side. It is unlikely they will fit into your new button box.

    [​IMG]

    Unplug the USB cable from the PCB if you are able to. If you are unable to unplug it, you can de-solder it from the board and re-attach it again later. The alternative is to leave it connected and just make the hole in the the box big enough to pass a USB plug through.

    [​IMG]

    Next you will need to identify the positive(+) and negative(-) contact points on your controllers PCB. Knowing which one is which was not important(in my case), just identifying the points to which i needed to solder the wiring to as the momentary switches(buttons) i chose only have 2 positions(on/off). We are using the the switches to bridge the gap between the positive and negative for each of the original controllers buttons.
    Once i had identified and marked the points to which i had to solder to, i roughed those contact points up with a razor blade and place a small amount of solder to each of those contact points.

    I do this by touching the tip of the soldering iron on my solder core till it melts enough of the core to pick up with the end of the hot soldering iron. i then touch that ball of molten solder to it;s final destination on the PCB. The ball of hot solder may not stick to the PCB the first time but you should be able to place it where it needs to go, then manipulate it enough to get it to stick.

    If this makes no sense to, correct soldering tips and procedures can be found here... https://www.youtube.com/watch?v=xrVCkEoY_8M (thanks the 3coopers)

    [​IMG]
    [​IMG]
    *Make sure you do not bridge the gap between the positive and negative with the melted solder. It is easy to do and will cause the button to be in an "always on" state.*

    In my case, there was only 10 available contact points. Up, Down, Left, Right, A, B, X, Y plus 2 buttons on the shoulders(bumpers?).

    If you do not get the exact same controller as i did, you will have a different layout to identify and most likely have a lot more options available to you.
    The way in which the original buttons made contact(bridge the connection) will almost certainly be different but not by much. As long as you do not wear coke bottle bottom glasses, you should be able to figure it out with some illumination. If all else fails, Google is your friend(sometimes).

    Once you have placed solder on each of the points you need to solder wires to, start cutting your wiring that you will run to each switch(button). Make sure you have enough wire to reach from your PCB to your button. My lengths were around 15cm long per wire. I find stripping them with one short end and one long end.
    I solder the short end to the board by heating the solder i applied to the PCB earlier and then pushing the exposed shot end into the solder(making sure not to move the solder, causing it to bridge the + & -) and leave the longer exposed end to connect to the switches.
    This makes life much easier when soldering each end as the shorter end means there is less chance of shorting on something it is not meant to. The longer end makes feeding through the eye(loop) in the switch legs, much easier. It also leaves enough exposed wire to wrap around the leg which makes soldering it much easier without it coming free whilst trying to do so. :thumbup:

    My short ends...
    [​IMG]

    I leave about 1-2mm on the short end. I try to get it so that the the plastic coating gets as close to the solder as possible so it has less chance of shorting.

    Once you have both wires soldered to the PCB, it is time to start testing to see if you have done it right or if it needs re-soldering. You can plug the controller into your PC at this time. With a bit of luck, it should appear under this path .. Control Panel\Hardware and Sound\Devices and Printers\"your chosen controller" as it originally would do. Right click your controller and select "Game Controller Settings".

    [​IMG]

    From there, all you need to do to test the connection by bridging the 2 wires together. Make sure it is 2 wires from one original buttons and not 2 totally unrelated buttons as you could end up exploding, ripping the time space continuum and warping to an alternative dimension where people are not people....they are, in fact... ducks! lol.
    But seriously, be careful when playing with electricity!

    When the 2 wires touch together, you should see the corresponding butting light up on screen like so....

    [​IMG]

    From here, it is just a matter of repeating the process till all contact points have wires soldered to them. Test as you go. I soldered 2 buttons worth at a time and then tested as doing the whole lot and then testing could make fixing bad solder points difficult with all that wiring in place.

    You can either label the wires as you go or when you have all wires in place. I did mine once all were in place.

    You should bee looking at something similar to this now ...
    [​IMG]

    For piece of mind, i then applied some hot glue to those solder points as a guard against the wired bending over and making contact on the PBC. When you put everything in the box, the wires will bend slightly and may short on the board so for me, this was a precautionary step.

    [​IMG]


    The Buttons​


    The next step is to fit your chosen buttons to the box or panel you want them to be in.

    If you have not already planned your button layout, now would be a good time to do so.

    [​IMG]

    remove the washer/nut from the under/top side(depends on the type of switch) and use it to work out where you want the particular button to be fixed to and what size hole you will need to drill to be fitted to.

    You can either measure it precisely and use the appropriate sized drill piece or you can do as i did and go by eye. I used a dremel with a grinding attachment so measuring mine would have been a waste of time.

    [​IMG]

    The project box i had on hand at the time is a Tandy/Jaycar plastic box with a flat lid. It comes with screws to affix the lid to the box and small rubber grommets to cover the screws. The good thing about these particular boxes is that the underside of the lid has a grid printed on it. This will help with more finer control of spacing of button layout.

    Mark your lid/box/panel with the layout you want, double check it, triple check it and then start drilling.
    Keep in mind when drilling plastic that the drill/dremel will heat the plastic so take your time. You also might want to to this outside or in the garage unless you plan to vacuum later as plastic shavings will get everywhere.

    Her is what mine looked like once finished.
    [​IMG]

    Notice the few ugly larger wholes. This was due to using a dremel with a grinder fitting and not a drill. If you have make such ugly looking wholes, make small adjustments to the hole at a time and check as you go. You only need the hole to be big enough to fit the button. You might also need to file down rough edges or burs of plastic from around the hole.
    Don't worry too much if the finish of the holes is a bit ugly as most buttons have a dress ring around them that will cover most imperfections and combined with some crafty vinyl wrapping, will never be seen.

    If you do not have any vinyl wrap handy, skip this next step.

    To wrap your li/panel with vinyl wrap, simply cut to approximate side, lay it flat and remove the protective backing. Place you lid/panel with the side you wish to present facing downwards.

    [​IMG]

    Run a sharp blade(rusty scalpel in my case lol) around the outside of the lid/panel then cut the holes out. To cut the holes out, make an incision through the hole from the back side then use it to run the blade around the outside of the hole. take your time with this as a dull blade is likely to catch causing the vinyl to tear instead of cut. Again, this should get covered by the buttons(within 1mmish) dress ring so no need to start again if you cause it to tear.
    Once finished cutting, you should be ready to fit the buttons :thumbup:

    [​IMG]

    Fitting the Buttons​


    Place you buttons in the corresponding whole. To do this, you will need to remove any washers/nuts attached to the button. Buttons can fitted from the top of the panel or the underside of the panel. Most of my buttons were fitted from the underside and held in place by the washer?nut from the top side. The small black buttons were the only buttons i had that had to be fitted from the top side.

    [​IMG]

    Use a pair of pliers to hold the washer/nut still and then spin the button using your fingers. I did this so i did not mark the vinyl by accident with the pliers in the event i had a slip with the pliers. I was only able to do this with buttons that screwed tight from the back. The small black button that had to be tightened from the top, i did as tight as i could get them by hand. Before final tightening, align all your buttons so they look uniform. Not the small black buttons have a 6 sided nut that needs to fitted from the top side. I lined all these up so my OCD would not give me grief :thumbup:

    [​IMG]



    Assembly​


    Now it is time to solder the wires to the switches and get all this stuff into a box.

    If using a box, you will need to plan how orientation the box will be mounted in(ie. upright, flat, portrait etc..) and drill a hole for the USB cable to run through in a way that the cable will not interfere with mounting of the box.

    As i was able to remove the USB cable from the controllers PCB, all i had to do is make a hole big enough for the connector to fit through.
    My hole was a bit larger than it needed to be but you get the picture.

    [​IMG]


    Pass the USB cable though the whole and either connect it back up to the PCB or keep it from falling back out.
    *IF you de-soldered the USB cable at the beginning, you can now solder it back on to the PCB.*

    [​IMG]


    Prepare an area so that you can safely have both the controller PCB and the panel with your switches with reach of each other. Try to make them both as stable as possible so they do not move about. I did this by taping the PCB to a roll of sticky tape and then sat my button panel on a piece of cloth.
    Do not stick the panel with your buttons down as you will need to press those buttons for testing purposes as you go.

    [​IMG]

    Time to solder those buttons to the wiring on your controllers PCB.
    If you want the buttons connected in a particular way so that you know what (original) button you have pushed on your new box. set the wiring out and write down which new button represents it's old function and keep it safe.
    In my case, i did not care about this so i just got to work soldering.
    The "longer end" of the wires i mentioned earlier in the tutorial should make this fairly easy. Take that long end and poke it through the eye/hole in the each post of the button then wrap it aound the eye/leg as tight as you can get. Give it a bit of a squish between your finger and thumb to make sure it is making contact with the eye/leg so it does not come free when soldering it.

    [​IMG]

    Note the screw type connector on the larger button towards the back of the board. The actual whole to pass the wire through was too large to fasten the screw far enough to make contact with the wire. If you have the same problem with any of your own switches, you can often place the wire directly under the head of the screw it's self and tighten it down to make contact.

    Keep in mind that the lid/panel is to be flipped 180 degrees before final fitment so when soldering the wires to the buttons, try to do so in a fashion that does not cause wires to be pulled too tight once flipped over.

    Now solder each of those contact points. Take care not to bridge the + & - together while adding the solder.

    [​IMG]

    Test that each button works as intended. Make any corrections now if needed.

    Add some hot glue to those solders to help prevent shorting or bending to the point of breaking.

    [​IMG]


    Final fitment and presentation​


    Assuming everything works as you want it, you are now ready to finish the project off.

    I did not have a specific way of fixing the controllers PCB to the inside of the box at the this stage. I used a few lengths of doubled over masking take on the back side of the PCB to place it where i thought it needed to be. Then i just placed it in side the box and put another length of masking tape over the whole thing to keep it in place.
    Other mounting methods will vary from PCB the the next but using hot glue and some plastic stand off posts would be a more permanent and safer option.

    *Take care not to to put any unnecessary strain on your wiring as you flip the lid/panel over for final fitment. *

    [​IMG]


    Carefully place the lid/panel in it's final resting place and screw it into place. *Make sure not to get any wiring between the lid and the box as you do this*

    Now you should have a working button box! :thumbup:

    [​IMG]

    Fit it to your desired desk, table or simulator cockpit using whatever mens you have to attach it. I used a combination of double sided tape and velcro as i'm not sure if it will remaim where it is.

    [​IMG]

    Then it just a case of mapping functions to the buttons on your new button box using your in game settings of choice(iRacing in my case).

    [​IMG]

    EDIT: I have just found out that the Up, Down, Left, Right buttons are not able to have anything mapped to them in iRacing. Sucks a bit but oh well, for the addition of around $10 to the parts i already had, i get an extra 6 button i did not have before.
    I guess this means at least for the Logitech Wingman Presision USB, the D-Pad is useless for mapping functions in iRacing. All the more reason to try a different controller.
    Stay tuned for a different controller with more mappable functions :thumbup:

    And enjoy! :thumbup:

    If any would like to add some detail or correct me on bad information, please do so :thumbup:

    If you use my tutorial to make your own button box, please post some pictures of the final product and let me know if my tutorial was helpful to your project for future reference ;)
     
    Last edited: Apr 1, 2013
  2. the3coopers

    the3coopers Member

    Joined:
    Jan 7, 2012
    Messages:
    1,685
    Location:
    Sydney 2151
  3. the3coopers

    the3coopers Member

    Joined:
    Jan 7, 2012
    Messages:
    1,685
    Location:
    Sydney 2151
    Also, this comment that you've made a few times is REALLY strange "Once you have dropped a ball of solder on each of the points you need to solder wires to..."

    Soldering doesn't involve dropping, nor balls of solder. You heat the track, apply flux (or use rosin-cored solder) then apply the solder to the track so it melts. This is termed "tinning" the track, in preparation to doing the solder joint.

    Since the tutorial is targetted at newbies, you need to describe the process correctly. I have in my mind that people will be heating up solder and trying to drop molten blobs of it onto the PCB, which obviously will never stick.
     
  4. OP
    OP
    Caffeine Dealer

    Caffeine Dealer Member

    Joined:
    Dec 10, 2010
    Messages:
    2,387
    Location:
    Coffs Harbour
    It was late Coops and i was just trying to get the information down.

    As for the "dropping a ball of solder", although i may not have described it well, it works for me :thumbup:

    [​IMG]



    This way i get how much i need and it goes where i want it.
    I should also add that everything i know about modding this crap is self learned and i will likely have a tendency to describe things in a way that seems newbish to pro's.

    Just trying to help some folk out :(

    EDIT: And yes, i reworded for less confusing reading it :thumbup:
     
    Last edited: Apr 1, 2013
  5. the3coopers

    the3coopers Member

    Joined:
    Jan 7, 2012
    Messages:
    1,685
    Location:
    Sydney 2151
    Sorry, I wasn't trying to be nasty. I just thought you were wording the process badly... but after seeing that picture, now I cannot work out what you're even doing with these "balls of solder" that you are making.

    Ummm - all I can say is that when you solder something, you just heat up the object and then feed the solder directly onto it. That's why the solder comes in a thin "strand" like it does. There's no intermediate steps, no tweezers or whatever to transfer the balls to the object. It seems that you've developed a quite obscure "method" that you've made work for you.

    Not sure what to say :( - definitely not meant to be a thread crap.

    PS: Here's a Youtube tutorial that might help https://www.youtube.com/watch?v=xrVCkEoY_8M
     
  6. OP
    OP
    Caffeine Dealer

    Caffeine Dealer Member

    Joined:
    Dec 10, 2010
    Messages:
    2,387
    Location:
    Coffs Harbour
    No worries Coops, i was not offended by your comments, in fact, they were helpful.

    The "dropping a ball" method comes from my console modding days. JTAGing and such required me to use that method and i have found it useful for me since then. As you mentioned, heating the area first and applying the solder to the heated area is how it is taught but for me, using this method got solder on places that would cause bridging of the contact points on the PCB so i reverted back to my old school method lol.

    The rest of the tutorial will be upload soon :thumbup:

    P.S. Pic has been re-sized. I'm not sure why it blew out to such proportions as it was taken on the same camera and uploaded at the same size as the others? Fixed now anyway :)

    P.P.S. just finished rewording. Hopefully it is easier to follow now.

    P.P.P.S. Finished! Let me know what you think :)
     
    Last edited: Apr 1, 2013
  7. Optimus.

    Optimus. Member

    Joined:
    Jun 27, 2002
    Messages:
    6,398
    Nice work, I hope all your contacts are clear & good so we don't see you adjusting brake bias and whacking on the pit limiter at the same time. :lol:

    I reckon this'll be my next project after the wheel mod...
     
  8. OP
    OP
    Caffeine Dealer

    Caffeine Dealer Member

    Joined:
    Dec 10, 2010
    Messages:
    2,387
    Location:
    Coffs Harbour
    lol lets hope!
    My only thing that could become an issue is turning off the ignition by accident if i map it to the missile launcher style button. Other than that, should be fine :thumbup:

    EDIT: oh oh! lol iRacing(at least) does not allow the D-Pad of the Logitech Wingman Precision to have functions mapped to it :(
    As i suspect most people will have or choose a different controller if they try this, there will be more buttons available than my 1927 model Wingman.
    This does not make any difference to the procedure of converting a USB controller into a button box. It just means you should check what buttons are available to have functions assigned to them before pulling apart your controller and wiring everything up. Bad assumption on my part lol.
     
    Last edited: Apr 1, 2013
  9. kombiman

    kombiman Dis-Member

    Joined:
    Dec 3, 2006
    Messages:
    12,645
    Location:
    viva brisvegas
    You made the front page!

    Well done and well documented mate. I often reckon amateurs make the best documentation as pros just go to what they think are the important bits. :thumbup:
     
  10. ck_psy

    ck_psy Member

    Joined:
    Jan 11, 2006
    Messages:
    4,239
    Location:
    Sydney, NSW
    good stuff.
    give me ideas for other things :D
     
  11. dohzer

    dohzer Member

    Joined:
    Jan 5, 2002
    Messages:
    5,453
    Location:
    Melbourne
    Wow that must be really light. :p
     
  12. OP
    OP
    Caffeine Dealer

    Caffeine Dealer Member

    Joined:
    Dec 10, 2010
    Messages:
    2,387
    Location:
    Coffs Harbour
    Thanks guys! :thumbup:

    I did not plan on making a tutorial/guide but was asked by some of the fella's in the iRacing forum. I'm glad i took a heap of pictures and was able to put the words together. :)


    Yes, it is is pretty light. I would hazard a guess at about 250g?
    That made it a bit difficult to mount using just double sided tape lol.
     
  13. HouseChampion

    HouseChampion Member

    Joined:
    Dec 29, 2010
    Messages:
    3,706
    Location:
    Gold Coast
    Awesome stuff man. Tempted to make my own - even though I own a DSD track boss :D
     
  14. wild

    wild Member

    Joined:
    Jun 26, 2001
    Messages:
    1,552
    Location:
    Newcastle
    That method works, but the only problem is the flux in the core of the solder is designed to flow out as the solder melts onto the join from the heat flowing through the join. If you melt the solder on the tip of the iron then "drop" it on the join, the flux will burn off before the solder goes on the join, which does 2 things. First is that the solder doesn't flow nearly as easily, and second is that it oxidises, which creates a "dry joint" that can quite easily break.

    If you want to make it a bit more secure next time, buy a separate jar of rosin flux and use a pointy object to put a small amount on the wire and the pad. It will ensure the solder flows where you want it to, and make the joint a lot better.
     
  15. Zeo

    Zeo Member

    Joined:
    Aug 21, 2001
    Messages:
    106
    Location:
    Adelaide
    Just another, possibly, helpful hint is instead of soldering the wires where the switches are, and maybe bridging, you could follow the tracks and solder them there.
     
  16. OP
    OP
    Caffeine Dealer

    Caffeine Dealer Member

    Joined:
    Dec 10, 2010
    Messages:
    2,387
    Location:
    Coffs Harbour
    Thank your for the tips guys :thumbup:

    I'll be the first to admit that i am not an adept soldererer and that the majority of what i have done in the past would not be considered the norm.
    Things such as creating JTAG cables for Xbox 360's out of printer cables, diodes and RJ45 ethernet cables.

    My next project will be based on an Xbox 360 "Style" USB controller.
    It will likely go in my current box and i am looking to convert a BMW E38/39/42 Steptronic sequential/auto shifter to work with my racing sim. The Wingman board will take on the interface duties for that. :thumbup:
     

Share This Page

Advertisement: