{"id":382,"date":"2022-12-27T15:35:37","date_gmt":"2022-12-27T14:35:37","guid":{"rendered":"https:\/\/munnik.net\/?p=382"},"modified":"2022-12-29T12:36:35","modified_gmt":"2022-12-29T11:36:35","slug":"retro-gaming-controls-part-2","status":"publish","type":"post","link":"https:\/\/munnik.net\/?p=382","title":{"rendered":"Retro Gaming Controls (part 2)"},"content":{"rendered":"\n<p>In the previous post, I showed how I approached the outside of the Retro Gaming control surface. In this post, I will focus on what&#8217;s inside. I decided to go all-out, so 2 player with 8 buttons for each player (to cater for button demanding fighting games). Also I wanted to include a trackball (to play Marble Madness) and a spinner (to play Arkanoid). To play pinball games, I also included 2 extra buttons on each side. On the top, I included coin\/start buttons for each player and 4 multi purpose buttons (menu\/pause\/reset\/etc.).<\/p>\n\n\n\n<p>After quite some hours of googling\/browsing, I decided to use the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Goldleaf RGB buttons (for &#8220;player&#8221; buttons)<\/li>\n\n\n\n<li>Ultralux RGB white buttons (for &#8220;coin\/start&#8221; and &#8220;multi purpose&#8221; buttons)<\/li>\n\n\n\n<li>ServoStik joysticks (with RGB handle\/top)<\/li>\n\n\n\n<li>Ultimarc Trackball (with RGB kit)<\/li>\n\n\n\n<li>Spintrak spinner<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"650\" data-id=\"388\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Servostik.jpg?resize=760%2C650&#038;ssl=1\" alt=\"\" class=\"wp-image-388\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Servostik.jpg?w=760&amp;ssl=1 760w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Servostik.jpg?resize=300%2C257&amp;ssl=1 300w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Servostik.jpg?resize=500%2C428&amp;ssl=1 500w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><figcaption class=\"wp-element-caption\">ServoStik<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"232\" height=\"220\" data-id=\"383\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/JoyRGB.jpg?resize=232%2C220&#038;ssl=1\" alt=\"\" class=\"wp-image-383\"\/><figcaption class=\"wp-element-caption\">RGB Handle<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"443\" data-id=\"384\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/tb_pearl.jpg?resize=700%2C443&#038;ssl=1\" alt=\"\" class=\"wp-image-384\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/tb_pearl.jpg?w=700&amp;ssl=1 700w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/tb_pearl.jpg?resize=300%2C190&amp;ssl=1 300w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/tb_pearl.jpg?resize=500%2C316&amp;ssl=1 500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\">Trackball<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"300\" data-id=\"386\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/RGBkit_new.jpg?resize=400%2C300&#038;ssl=1\" alt=\"\" class=\"wp-image-386\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/RGBkit_new.jpg?w=400&amp;ssl=1 400w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/RGBkit_new.jpg?resize=300%2C225&amp;ssl=1 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><figcaption class=\"wp-element-caption\">RGB kit for Trackball<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"1366\" data-id=\"391\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/spintrak_bare-edited.jpg?resize=1140%2C1366&#038;ssl=1\" alt=\"\" class=\"wp-image-391\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/spintrak_bare-edited.jpg?w=1285&amp;ssl=1 1285w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/spintrak_bare-edited.jpg?resize=250%2C300&amp;ssl=1 250w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/spintrak_bare-edited.jpg?resize=854%2C1024&amp;ssl=1 854w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/spintrak_bare-edited.jpg?resize=768%2C920&amp;ssl=1 768w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/spintrak_bare-edited.jpg?resize=1282%2C1536&amp;ssl=1 1282w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/spintrak_bare-edited.jpg?resize=900%2C1079&amp;ssl=1 900w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/spintrak_bare-edited.jpg?resize=500%2C599&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1140px) 100vw, 1140px\" \/><figcaption class=\"wp-element-caption\">Spinner<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"300\" data-id=\"389\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Ultralux-RGB-white.jpg?resize=760%2C300&#038;ssl=1\" alt=\"\" class=\"wp-image-389\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Ultralux-RGB-white.jpg?w=760&amp;ssl=1 760w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Ultralux-RGB-white.jpg?resize=300%2C118&amp;ssl=1 300w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Ultralux-RGB-white.jpg?resize=500%2C197&amp;ssl=1 500w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><figcaption class=\"wp-element-caption\">Ultralux RGB buttons<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"356\" data-id=\"390\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/GoldleafRGB.jpg?resize=500%2C356&#038;ssl=1\" alt=\"\" class=\"wp-image-390\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/GoldleafRGB.jpg?w=500&amp;ssl=1 500w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/GoldleafRGB.jpg?resize=300%2C214&amp;ssl=1 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><figcaption class=\"wp-element-caption\">Goldleaf RGB button<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p>There are multiple places where you can buy this stuff on-line. I bought everything at <a href=\"https:\/\/www.ultimarc.com\" data-type=\"URL\" data-id=\"https:\/\/www.ultimarc.com\">Ultimarc.com<\/a>. Now to connect all of this to a computer of RaspberryPi, you need a controller to convert all button\/joystick on-off-switch signals to USB. Again there are multiple options here, and I choose to use the <a href=\"https:\/\/www.ultimarc.com\/control-interfaces\/i-pacs\/i-pac-ultimate-i-o\/\" data-type=\"URL\" data-id=\"https:\/\/www.ultimarc.com\/control-interfaces\/i-pacs\/i-pac-ultimate-i-o\/\">I-PAC Ultimate I\/O<\/a>. This controller has 48 inputs (for buttons\/joysticks\/etc) and 96 outputs (to drive RGB leds). The inputs are converted\/mapped to USB keyboard strokes; which is fully configurable (although the out of the box mapping works fine with MAME). The board needs a 5V DC power supply.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"308\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/UIO_top.jpg?resize=600%2C308&#038;ssl=1\" alt=\"\" class=\"wp-image-393\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/UIO_top.jpg?w=600&amp;ssl=1 600w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/UIO_top.jpg?resize=300%2C154&amp;ssl=1 300w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/UIO_top.jpg?resize=500%2C257&amp;ssl=1 500w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption class=\"wp-element-caption\">I-PAC Ultimate I\/O<\/figcaption><\/figure>\n\n\n\n<p>Because I used so-called ServoStik joysticks, I also needed the small servo-controller board to drive the servo&#8217;s attached to each joystick. Using these servo motors, the joysticks can be switched from 4-direction to 8-direction mode. Some old arcade games (like Donkey Kong) can not handle 8-direction movements very well. The servo-controller board is connected to USB, so it can be controlled from a computer or RaspberryPi (more on that later).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"750\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3302-s.png?resize=1000%2C750&#038;ssl=1\" alt=\"\" class=\"wp-image-394\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3302-s.png?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3302-s.png?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3302-s.png?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3302-s.png?resize=900%2C675&amp;ssl=1 900w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3302-s.png?resize=500%2C375&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Dry run<\/figcaption><\/figure>\n\n\n\n<p>As can be seen from the above picture, there will be quite some wiring involved. To make this easier, Ultimarc provides some nice harnesses and daisy-chains to connect the ground.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"350\" height=\"214\" data-id=\"396\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/connpack.jpg?resize=350%2C214&#038;ssl=1\" alt=\"\" class=\"wp-image-396\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/connpack.jpg?w=350&amp;ssl=1 350w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/connpack.jpg?resize=300%2C183&amp;ssl=1 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><figcaption class=\"wp-element-caption\">Wiring Harnesses<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"192\" height=\"189\" data-id=\"395\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/Screenshot-2022-12-26-at-15.59.22.png?resize=192%2C189&#038;ssl=1\" alt=\"\" class=\"wp-image-395\"\/><figcaption class=\"wp-element-caption\">Servo controller<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p>After finishing the outside of the box with some nice artwork (see next post), all components are fitted in the box and connected. As expected, this involved quite some cable management \ud83d\ude42<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"379\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3620-s.png?resize=1024%2C379&#038;ssl=1\" alt=\"\" class=\"wp-image-398\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3620-s.png?resize=1024%2C379&amp;ssl=1 1024w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3620-s.png?resize=300%2C111&amp;ssl=1 300w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3620-s.png?resize=768%2C284&amp;ssl=1 768w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3620-s.png?resize=900%2C333&amp;ssl=1 900w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3620-s.png?resize=500%2C185&amp;ssl=1 500w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3620-s.png?w=1500&amp;ssl=1 1500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Cable Management<\/figcaption><\/figure>\n\n\n\n<p>As can be seen, I fitted a small USB hub, to connect both I-PAC and servo-controller using a single USB port in the back of the cabinet. Also a 220V power-socket has been added inside, to connect the 5V DC power supply. This is also routed to a connector in the back of the cabinet: <\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"225\" src=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3558-s.png?resize=300%2C225&#038;ssl=1\" alt=\"\" class=\"wp-image-399\" srcset=\"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3558-s.png?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3558-s.png?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3558-s.png?resize=900%2C675&amp;ssl=1 900w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3558-s.png?resize=500%2C375&amp;ssl=1 500w, https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3558-s.png?w=1000&amp;ssl=1 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<p>In a next post, I will go into the artwork and finishing of the cabinet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the previous post, I showed how I approached the outside of the Retro Gaming control surface. In this post, I will focus on what&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":398,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-382","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","col-md-4 col-sm-4"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/munnik.net\/wp-content\/uploads\/IMG_3620-s.png?fit=1500%2C555&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1YJQj-6a","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/munnik.net\/index.php?rest_route=\/wp\/v2\/posts\/382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/munnik.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/munnik.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/munnik.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/munnik.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=382"}],"version-history":[{"count":6,"href":"https:\/\/munnik.net\/index.php?rest_route=\/wp\/v2\/posts\/382\/revisions"}],"predecessor-version":[{"id":420,"href":"https:\/\/munnik.net\/index.php?rest_route=\/wp\/v2\/posts\/382\/revisions\/420"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/munnik.net\/index.php?rest_route=\/wp\/v2\/media\/398"}],"wp:attachment":[{"href":"https:\/\/munnik.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/munnik.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/munnik.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}