{"id":128,"date":"2012-03-22T22:41:31","date_gmt":"2012-03-23T06:41:31","guid":{"rendered":"http:\/\/robertbyam.com\/ces\/?p=128"},"modified":"2025-03-18T14:26:19","modified_gmt":"2025-03-18T22:26:19","slug":"nes-controller-conversion","status":"publish","type":"post","link":"https:\/\/robertbyam.com\/ces\/2012\/03\/22\/nes-controller-conversion\/","title":{"rendered":"NES Controller conversion"},"content":{"rendered":"<p>Alright, I uploaded all the pictures for this a year ago right before my computer&#8217;s hard drive crashed.\u00a0 I successfully converted one original factory NES controller to be USB with a 9 foot cord.\u00a0 Here&#8217;s the details:<\/p>\n<p>I opened up the NES controller to see what I was dealing with.\u00a0 There were standard button pads, a chip, and connections for NES wires:<\/p>\n<p><a href=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4458.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-118\" title=\"NES Gamepad Inside Top\" src=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4458-400x206.jpg\" alt=\"NES Gamepad Inside Top\" width=\"400\" height=\"206\" srcset=\"https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4458-400x206.jpg 400w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4458-1024x528.jpg 1024w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4458.jpg 1280w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4463.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-120\" title=\"NES Gamepad Inside Bottom\" src=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4463-400x215.jpg\" alt=\"NES Gamepad Inside Bottom\" width=\"400\" height=\"215\" srcset=\"https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4463-400x215.jpg 400w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4463-1024x551.jpg 1024w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4463.jpg 1280w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>After inspection and testing, I found that there are actually resistors on the board itself &#8211; basically just a bunch of resistive material in chunks on the board.\u00a0 These resistors appear to be pull-up resistors, making the voltage going into the chip high whenever the button is not pressed, and then low when the button is pressed.\u00a0 You can see 4 of them (out of 8 resistors for 8 buttons) here:<\/p>\n<p><a href=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4461.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-119\" title=\"NES Gamepad Resistors\" src=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4461-400x285.jpg\" alt=\"NES Gamepad Resistors\" width=\"400\" height=\"285\" srcset=\"https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4461-400x285.jpg 400w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4461-1024x730.jpg 1024w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4461.jpg 1280w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>The JoyWarrior chip I&#8217;m using calls for open connections (not connected) when the button is up, and closed when down.\u00a0 So to be safe, I scratched all of these off with a miniature standard screwdriver:<\/p>\n<p><a href=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4464.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-121\" title=\"NES Gamepad Resistors Removed\" src=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4464-400x297.jpg\" alt=\"NES Gamepad Resistors Removed\" width=\"400\" height=\"297\" srcset=\"https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4464-400x297.jpg 400w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4464-1024x760.jpg 1024w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4464.jpg 1280w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Next, I removed the chip and wires connecting the factory cord:<\/p>\n<p><a href=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4465.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-122\" title=\"NES Gamepad Chip\/Wire Removed 1\" src=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4465-400x225.jpg\" alt=\"NES Gamepad Chip\/Wire Removed 1\" width=\"400\" height=\"225\" srcset=\"https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4465-400x225.jpg 400w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4465-1024x576.jpg 1024w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4465.jpg 1280w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4467.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-123\" title=\"NES Gamepad Chip\/Wire Removed 2\" src=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4467-400x227.jpg\" alt=\"NES Gamepad Chip\/Wire Removed 2\" width=\"400\" height=\"227\" srcset=\"https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4467-400x227.jpg 400w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4467-1024x581.jpg 1024w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4467.jpg 1280w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Then, I simply re-created the circuit I prototyped on the breadboard earlier in as small of a space as I could.\u00a0 This took a lot of time, and partially because my soldering iron tip was getting very old and was difficult to work with.\u00a0 Vertical space was very limited, so I had flatted out the pins on the JoyWarrior chip and was trying to solder the wires directly to the chip pins.\u00a0 There was a lot of frustration getting that solder to flow, especially in such a small space! I now keep an extra tip stocked at home at all times.\u00a0 Here&#8217;s the completed circuit, without button connections:<\/p>\n<p><a href=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4468.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-124\" title=\"JoyWarrior USB connected\" src=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4468-400x329.jpg\" alt=\"JoyWarrior USB connected\" width=\"400\" height=\"329\" srcset=\"https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4468-400x329.jpg 400w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4468-1024x842.jpg 1024w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4468.jpg 1280w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>All that was left was then 1 wire for every button, plus 1 ground, from the chip to the NES circuit board.\u00a0 When it was all in place, I put in in the controller and flattened as much as I could.\u00a0 There is a bit of pressure which holds the chip still when the back is screwed on, so I didn&#8217;t need to glue it or anything.\u00a0 Here it is just before screwing the back on:<\/p>\n<p><a href=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4471.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-125\" title=\"JoyWarrior Inside NES Gamepad\" src=\"http:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4471-400x230.jpg\" alt=\"JoyWarrior Inside NES Gamepad\" width=\"400\" height=\"230\" srcset=\"https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4471-400x230.jpg 400w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4471-1024x590.jpg 1024w, https:\/\/robertbyam.com\/ces\/wp-content\/uploads\/2011\/02\/IMG_4471.jpg 1280w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>And it works pretty well!\u00a0 I have occasionally noticed some buttons take a bit more pressure than others to activate.\u00a0 I have seen a &#8220;gamepad restoration&#8221; tutorial online that says this normal wear and tear can be made like new by gluing small pieces of aluminum foil to the buttons, so I may give that a try at some point.<\/p>\n<p>This controller conversion really was a lot of work.\u00a0 I may just get one of the online USB replicas for the second controller, at least initially to see how it works and feels.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alright, I uploaded all the pictures for this a year ago right before my computer&#8217;s hard drive crashed.\u00a0 I successfully converted one original factory NES controller to be USB with a 9 foot cord.\u00a0 Here&#8217;s the details: I opened up the NES controller to see what I was dealing with.\u00a0 There were standard button pads, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-128","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/posts\/128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/comments?post=128"}],"version-history":[{"count":4,"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":207,"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/posts\/128\/revisions\/207"}],"wp:attachment":[{"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/media?parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/categories?post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robertbyam.com\/ces\/wp-json\/wp\/v2\/tags?post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}