Well the shopping cart...
Let me try to prepare a list of sample parts you need for this project.
First there's the case. I chose a
Hammond 1599HTSBK, but any other short slop enclosure will do as well, however mind the size - mine turned out to be pretty small for the number of buttons, switches and potis I've used:
https://www.hammfg.com/electronics/small-case/plastic/1599t.pdfMy Desk case is available e.g. here:
https://www.conrad.com/ce/en/product/485739/Desk-casing-220-x-110-x-40-Acrylonitrile-butadiene-styrene-Black?ref=searchDetailIt's actually the most expensive part of the whole list.
Then you need the Teensy Board - or any other Arduino one, if you are willing to follow my path of self-developing the whole software.
Note: There's full-featured tools like MMJoy2 out there, but they're limited to the purpose chosen by their designer, for instance my "two joysticks on one board" solution was not available anywhere.
And if you chose such ready-to-use tools, you need to have matching hardware.
MMJoy2 supported boards are listed here:
https://github.com/MMjoy/mmjoy_en/wiki/Controllers-(compatible-base-boards)
My solution is strictly tied to the Teensy++ 2.0 (or Teensy 2.0, without "++", which is basically the same with less pins), which is supported by MMJoy2 as well, so for the moment, stick to that Teensy++ 2.0 to be on the safe side for both solutions.
Teensy 2.0 is available e.g. here:
https://www.conrad.com/ce/en/product/1656375/PCB-design-board-Teensy20-Compatible-with-Arduino?ref=searchDetailMy Teensy++ 2.0 came from China, half the price for double the pins:
https://www.ebay.com/itm/Teensy-2-0-USB-AVR-Development-Board-ISP-U-Disk-Experimental-Board-AT90USB1286/123112722663?hash=item1caa1710e7:g:6lcAAOSwn4da6sP0While you can solder all wires directly to the Teensy, I'd recommend to use a perfboard so you won't damage the Teensy so easily, and in order to be able to plug/unplug it.
Any solder point grid board will do, e.g. this:
https://www.conrad.com/ce/en/product/529580/WR-Rademacher-VK-C-811-2-Solder-Point-Grid-Plate-L-x-W-100-mm-x-75-mm-HP/?ref=no_search_results&rt=no_search_results&rb=1In order to be able to plug/unplug the Teensy, you need pins and sockets.
Two of these:
https://www.conrad.com/ce/en/product/737416/W-P-Products-943-13-020-00-Multi-Pin-Connector-Number-of-pins-1-x-20-Nominal-current-details-3-A/?ref=no_search_results&rt=no_search_results&rb=1...and either two of these:
https://www.conrad.com/ce/en/product/738335/W-P-Products-153-020-1-50-00-Precision-Socket-Connector-Number-of-pins-1-x-20-Nominal-current-details-3-A/?ref=bundles&rt=bundles&rb=1...or one of these:
https://www.conrad.com/ce/en/product/183817/IC-socket-Contact-spacing-1524-mm-Number-of-pins-40-ASSMANN-WSW?ref=searchDetailNow in my box there are 5 Potis like these:
https://www.amazon.com/Uxcell-a15011600ux0235-Linear-Rotary-Potentiometer/dp/B01DKCUVMQ/ref=sr_1_3?ie=UTF8&qid=1525866955&sr=8-3They need to have a nominal resistance of 10k Ohms, as that's the internal resistance of the Teensy's I/O pins.
Furthermore we have 10 toggle switches, I chose the "On/On" type so we can have button actions regardless the switch position:
https://www.amazon.com/Cylewet-Positions-Connection-Arduino-CYT1015/dp/B01MY309G3/ref=pd_sbs_263_15?_encoding=UTF8&pd_rd_i=B01MY309G3Another 10 of the momentary On/Off/On SPDT switches, e.g. for Trim Input:
https://www.amazon.com/SupportTM-Momentary-Miniature-Toggle-Dashboard/dp/B01LYGWWHA/ref=pd_sbs_469_1?_encoding=UTF8&pd_rd_i=B01LYGWWHA&pd_rd_r=MMP6MBFZBQ9KAEXAENVE&pd_rd_w=qtTNe&pd_rd_wg=17bLa&psc=1&refRID=MMP6MBFZBQ9KAEXAENVEAnd the pushbuttons.
10 red:
https://www.amazon.com/10pcs-Mini-Button-Momentary-Switch/dp/B01DWFPFA4/ref=sr_1_4?s=industrial&ie=UTF8&qid=152586779610 green:
https://www.amazon.com/CynKen-Miniature-Momentary-Button-Switch/dp/B06WVCFNSN/ref=sr_1_41?s=industrial&ie=UTF8&qid=152586782810 yellow:
https://www.amazon.com/10Pcs-Button-Momentary-Switch-Yellow/dp/B01DWFPGUI/ref=sr_1_4?s=industrial&ie=UTF8&qid=152586784510 blue:
https://www.amazon.com/Exiron-PBS-110-Lockless-button-Switch/dp/B07CWXV9S9/ref=sr_1_19?s=industrial&ie=UTF8&qid=1525867887and some spares, including white, black or anything else - you need one of these for reset at least:
https://www.amazon.com/Cylewet-Momentary-Button-Switch-CYT1078/dp/B0752RMB7Q/ref=sr_1_10?s=industrial&ie=UTF8&qid=1525867975100pcs Switching Diodes. Use 1N4148, nothing else:
https://www.amazon.com/100-1N4148-Switching-Signal-Diode/dp/B0714P3P6L/ref=sr_1_1?s=industrial&ie=UTF8&qid=15258681145 pcs 1µF Ceramic Capacitors for de-spiking Poti readouts:
https://www.conrad.com/ce/en/product/1578616/Ceramic-capacitor-THT-1-F-50-V-20-?ref=searchDetail1pc 10µF Elko for power supply buffering:
https://www.conrad.com/ce/en/product/445656/Electrolytic-capacitor----Radial-lead--------25-mm----10-F----5/?ref=search&rt=search&rb=110 meters of wiring, at least:
https://www.conrad.com/ce/en/product/1437297/Strand-1-x-004-mm-Red-BELI-BECO-L-10410-rot?queryFromSuggest=trueSome Bell wire for the collective row/column lines:
https://www.amazon.com/Woods-0452-Bell-Wire-25-Feet/dp/B000UEAQ64/ref=sr_1_cc_2?s=aps&ie=UTF8&qid=1525868623A Mini USB cable to connect your Teensy to the PC:
https://www.amazon.com/Monoprice-10-Feet-mini-B-28AWG-103897/dp/B001UJE7FO/ref=sr_1_8?s=industrial&ie=UTF8&qid=1525868699That's all folks.
I recommend to take a close look at some local shop.
While it's fine to order the Teensy from China (and this safes quite some money), I've finally ordered most of the smaller stuff (switches/buttons/diodes etc.) from local ebay dealers because the chinese stuff didn't always get through the customs and some of the parts were wrong, damaged, not in the right numbers etc. Better local than sorry.
Cheers!
Mike