{"id":11865,"date":"2026-05-31T05:47:52","date_gmt":"2026-05-31T05:47:52","guid":{"rendered":"https:\/\/8657085.xyz\/?p=11865"},"modified":"2026-05-31T05:47:52","modified_gmt":"2026-05-31T05:47:52","slug":"from-fidget-keychain-to-functional-gamecube-controller","status":"publish","type":"post","link":"https:\/\/8657085.xyz\/?p=11865","title":{"rendered":"From Fidget Keychain to Functional GameCube Controller"},"content":{"rendered":"<p> <div style=\"display: grid; grid-template-columns: 300px 160px; gap: 2px; width: 460px; background: #eee; padding: 2px;\">\r\n\r\n  <!-- \u6574\u884c\u5bbd\u5e7f\u544a -->\r\n  <div style=\"grid-column: 1\/-1; width: 460px; height: 250px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876674\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  <div style=\"grid-column: 1\/-1; width: 460px; height: 90px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876676\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n\r\n  <!-- \u5de6\u4fa7\u7ad6\u6392 -->\r\n  <div style=\"height: 250px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876672\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  <div style=\"height: 500px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876680\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n\r\n  <!-- \u53f3\u4fa7\u6469\u5929\u697c\uff08\u548c\u5de6\u4fa7\u5b8c\u5168\u5bf9\u9f50\uff09 -->\r\n  <div style=\"grid-row: 3\/5; height: 750px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876678\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  \r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e6\" data-zoneid=\"5876682\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n<\/div><br \/>\n<\/p>\n<div id=\"post-245016\">\n<p>\t<!-- .post-header --><\/p>\n<div class=\"post-content description cf entry-content content-spacious\">\n<p><img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30213323\/fidget-keychain-gamecube-controller-mod.jpg\" alt=\"Fidget Keychain GameCube Controller Mod\" width=\"1280\" height=\"853\"\/><br \/>Brux found a GameCube controller keychain at Backpack Buddies, one of those tiny plastic copies that moves and feels much like the real thing. Most people would simply clip that thing to their keys and forget about it, but Brux was intrigued. Imagine if he disassembled it and turned it into a fully functional GameCube controller rather than just a souvenir.<\/p>\n<p><span id=\"more-245016\"\/><br \/><iframe title=\"Turning a Keychain into a Functional Controller...\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/BlOhIw_1QFY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><noscript><iframe title=\"Turning a Keychain into a Functional Controller...\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/BlOhIw_1QFY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/noscript><br \/>Once Brux had separated the two halves, he discovered that the inside of the shell was a miniscule space, with hardly enough room to fit any standard parts. So he chiseled off even extra space with a trim, a delicate procedure that required steady hands, before printing some unique mounting components on his 3D printer. These little printed parts barely held the switches in place with the original button positions. To make things as neat as possible, he used tiny surface-mount switches that he put directly onto the printed mounts. There are no circuit boards clogging up the works. Brux employed ultra-thin enameled wire that was nearly undetectable to connect the switches to the main board. He also had to trim the plastic posts on each button so they would fit properly and click cleanly again.<\/p>\n<div class=\"aawp\">\n<div class=\"aawp-product aawp-product--horizontal\" data-aawp-product-asin=\"B0F4XL5CV2\" data-aawp-product-id=\"239947\" data-aawp-tracking-id=\"tec02e-20\" data-aawp-product-title=\"OnePro Cloud Handheld Portable Remote Play Gaming Console For Xbox Cloud Gaming NVIDIA GeForce NOW Playstation PC Long-Battery Life 7  1080P Touchscreen Lightweight Retro Game Handheld - 64G\">\n<div class=\"aawp-product__thumb\">\n<p>            <img decoding=\"async\" class=\"aawp-product__image\" src=\"https:\/\/m.media-amazon.com\/images\/I\/41zHfg-Z05L._SL160_.jpg\" alt=\"OnePro Cloud Handheld Portable Remote Play Gaming Console, For Xbox Cloud Gaming, NVIDIA GeForce NOW...\"\/><\/p><\/div>\n<div class=\"aawp-product__content\">\n<p>            OnePro Cloud Handheld Portable Remote Play Gaming Console, For Xbox Cloud Gaming, NVIDIA GeForce NOW&#8230;        <\/p>\n<div class=\"aawp-product__description\">\n<ul>\n<li>\u3010All-in-One Handheld\u3011 The ultimate portable console in your hands. Enjoy retro games, remote play, cloud gaming, and Android titles on a&#8230;<\/li>\n<li>\u3010Cloud Gaming + Remote Play\u3011 Cloud Gaming \u2013 Instantly play AAA titles over Wi-Fi with subscriptions to Xbox Cloud Gaming (Beta), GeForce NOW&#8230;<\/li>\n<li>\u3010Emulator Retro Games + Android Games\u3011 Emulation \u2013 Enjoy retro classics with enhanced compatibility and smoother performance on PS2, GameCube&#8230;<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<p>\n<img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30213309\/fidget-keychain-gamecube-controller-mod-1.jpg\" alt=\"Fidget Keychain GameCube Controller Mod\" width=\"1280\" height=\"720\"\/><br \/>\nThe analog stick also required some TLC, so he attached a handful of sensors to detect movement in various directions. The whole contraption had to be kept tiny so that when he closed the shell, everything fit securely with no bulges or holes visible. A small RP2040 board was at the heart of the operation, reading the switch and stick locations and translating them into the correct format so the GameCube thought it was using the genuine thing. Best of all, the little controller connected directly to the console, no adapter required.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30213315\/fidget-keychain-gamecube-controller-mod-2.jpg\" alt=\"Fidget Keychain GameCube Controller Mod\" width=\"1280\" height=\"720\"\/><br \/>The final piece of the puzzle came when Brux meticulously disassembled an actual GameCube controller, removing everything except the wire and plug and leaving behind the authentic connector. This was the critical component that allowed the finished keychain to plug directly into any port or suitable adaptor. The wire came out of the shell looking clean and tidy, just like the actual thing. The next step was to glue the buttons and stick cap back in place, followed by testing each input.<br \/><span>[Source]<\/span><\/p>\n<\/p><\/div>\n<p><!-- .post-content --><\/p>\n<div class=\"author-box\">\n<div class=\"image\"><img alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/a3bdefee1518cfd8cae23d5f54c6867c0e89d466c01b67a0f6b4fb43536234f8?s=82&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/a3bdefee1518cfd8cae23d5f54c6867c0e89d466c01b67a0f6b4fb43536234f8?s=164&amp;r=g 2x\" class=\"avatar avatar-82 photo\" height=\"82\" width=\"82\" loading=\"lazy\" decoding=\"async\"\/><\/div>\n<div class=\"content\">\n<p>\t\t\t<span class=\"author\"><br \/>\n\t\t\t\t<span>Author<\/span><br \/>\n\t\t\t\tJackson Chung\t\t\t<\/span><\/p>\n<p class=\"text author-bio\">A technology, gadget and video game enthusiast that loves covering the latest industry news. Favorite trade show? Mobile World Congress in Barcelona.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"post-nav\">\n<div class=\"post previous cf\">\n<p>\t\t\t<i class=\"tsi tsi-angle-left\"\/><\/p>\n<p>\t\t<span class=\"content\"><\/p>\n<p>\t\t\t\t<img width=\"230\" height=\"230\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30124552\/love-hulten-magicos-playable-pink-floyd-prism-guitar-230x230.jpg\" class=\"attachment-thumbnail size-thumbnail wp-post-image\" alt=\"Love Hulten Magicos-2 Playable Pink Floyd Prism Guitar\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30124552\/love-hulten-magicos-playable-pink-floyd-prism-guitar-230x230.jpg 230w, https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30124552\/love-hulten-magicos-playable-pink-floyd-prism-guitar-250x250.jpg 250w, https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30124552\/love-hulten-magicos-playable-pink-floyd-prism-guitar-768x769.jpg 768w, https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30124552\/love-hulten-magicos-playable-pink-floyd-prism-guitar-370x370.jpg 370w, https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30124552\/love-hulten-magicos-playable-pink-floyd-prism-guitar-150x150.jpg 150w, https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/30124552\/love-hulten-magicos-playable-pink-floyd-prism-guitar.jpg 960w\" sizes=\"auto, (max-width: 230px) 100vw, 230px\"\/>\t\t\t<\/p>\n<p>\t\t<\/span>\n\t<\/div>\n<\/div>\n<\/div>\n<p><!-- \u603b\u5bb9\u5668\uff1a\u6700\u5927\u5bbd908px Grid\u7d27\u51d1\u5e03\u5c40 -->\r\n<div style=\"display: grid; grid-template-columns: 728px 160px; gap:2px; width:908px; background:#eee; padding:2px;\">\r\n\r\n  <!-- \u901a\u680f\u9876\u90e8\uff1a\u6700\u5927\u6a2a\u5e45 908x258 \u8de8\u6574\u884c -->\r\n  <div style=\"grid-column:1\/-1; height:258px; background:#ff6b6b; display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114307\" data-width=\"908\" data-height=\"258\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114307});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n  <!-- \u7b2c\u4e8c\u901a\u680f\uff1a728\u00d790 \u901a\u680f -->\r\n  <div style=\"grid-column:1\/-1; height:90px; background:#4ecdc4; display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114300\" data-width=\"728\" data-height=\"90\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114300});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n  <!-- \u5de6\u4fa7\u4e3b\u680f\uff1a\u591a\u5e7f\u544a\u5806\u53e0 -->\r\n  <div style=\"display:grid; gap:2px;\">\r\n    <div style=\"height:60px; background:#45b7d1; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114308\" data-width=\"468\" data-height=\"60\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114308});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:250px; background:#ffe066; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114299\" data-width=\"300\" data-height=\"250\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114299});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:250px; background:#ff9ecd; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114305\" data-width=\"250\" data-height=\"250\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114305});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:139px; background:#c792ea; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114302\" data-width=\"133\" data-height=\"139\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114302});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:125px; background:#91e7ac; display:grid; place-items:center;\">\r\n\t\r\n<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114303\" data-width=\"125\" data-height=\"125\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114303});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n  <\/div>\r\n\r\n  <!-- \u53f3\u4fa7\u7ad6\u680f\uff1a160\u00d7600 \u6574\u5217\u9ad8\u5e7f\u544a -->\r\n  <div style=\"grid-row:3\/8; height:600px;  display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114301\" data-width=\"160\" data-height=\"600\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114301});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n<\/div><br \/>\n<br \/> From Fidget Keychain to Functional GameCube Controller<br \/>\n<br \/>#Fidget #Keychain #Functional #GameCube #Controller<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Brux found a GameCube controller keychain at Backpack Buddies, one of those tiny plastic copies&#8230;<\/p>\n","protected":false},"author":1,"featured_media":11866,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[3488,11239,7020,908,8596],"class_list":["post-11865","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-controller","tag-fidget","tag-functional","tag-gamecube","tag-keychain"],"featured_image_urls":{"full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod.jpg",1280,853,false],"thumbnail":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-150x150.jpg",150,150,true],"medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-300x200.jpg",300,200,true],"medium_large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-768x512.jpg",640,427,true],"large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-1024x682.jpg",640,426,true],"1536x1536":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod.jpg",1280,853,false],"2048x2048":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod.jpg",1280,853,false],"covernews-slider-full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-1115x715.jpg",1115,715,true],"covernews-slider-center":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-800x500.jpg",800,500,true],"covernews-featured":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-1024x682.jpg",1024,682,true],"covernews-medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-540x340.jpg",540,340,true],"covernews-medium-square":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/fidget-keychain-gamecube-controller-mod-400x250.jpg",400,250,true]},"author_info":{"display_name":"admin","author_link":"https:\/\/8657085.xyz\/?author=1"},"category_info":"<a href=\"https:\/\/8657085.xyz\/?cat=8\" rel=\"category\">Tech<\/a>","tag_info":"Tech","comment_count":"0","_links":{"self":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/11865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11865"}],"version-history":[{"count":0,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/11865\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/media\/11866"}],"wp:attachment":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}