{"id":267,"date":"2008-09-22T16:35:00","date_gmt":"2008-09-22T15:35:00","guid":{"rendered":"http:\/\/www.sonicpenguins.com\/blog\/?p=267"},"modified":"2008-09-22T16:36:59","modified_gmt":"2008-09-22T15:36:59","slug":"wireless-nes-controller-for-the-wii","status":"publish","type":"post","link":"http:\/\/www.sonicpenguins.com\/blog\/2008\/09\/22\/wireless-nes-controller-for-the-wii\/","title":{"rendered":"Wireless NES Controller for the Wii"},"content":{"rendered":"<p>Before I start this post, I have to send out a big thank you to Mark Feldman <a href=\"http:\/\/www.ppl-pilot.com\">http:\/\/www.ppl-pilot.com<\/a>, who designed all the code and circuits in this project \ud83d\ude42<\/p>\n<p>A few months ago my good friend Robert came to me with Marks URL and demanded that I make him a wireless NES controller for his Wii\/MAME Cab, then after a few eyebrow raisings from myself (no not that kind!) he offered to sump up the costs for the hardware and we had ourselves a deal!<!--more--><\/p>\n<p>The wireless works by using an AM radio transmitter\/receiver pair to send the buttons signals. At each end there is PIC16F84A to encode and decode the button signals.. and that&#8217;s pretty much it! Simple huh! Woo that was quick, cya!<\/p>\n<p>&#8230; Oh ok! ok! Here&#8217;s some pretty pictures! \ud83d\ude42<\/p>\n<blockquote><p>Programming the PIC Chip<\/p><\/blockquote>\n<p><a href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-16-recpicprogramming.jpg\"  title=\"Receiver PIC Programming\" class=\"imagelink\"><img loading=\"lazy\" decoding=\"async\" class=\"size-thumbnail wp-image-273 alignnone\" title=\"Receiver PIC Programming\" src=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-16-recpicprogramming-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>Programming the PIC chip. This circuit board hooks up via the serial cable to my computer and I can download programs onto the chip. There&#8217;s a very simple test setup on the board to allow me to take inputs from the press switch on the right and control the LEDs.<\/p>\n<blockquote><p>Receiver Assembly<\/p><\/blockquote>\n<p><a href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-16-recpcbassembly.jpg\"  title=\"Receiver PCB Assembly\" class=\"imagelink\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-272\" title=\"Receiver PCB Assembly\" src=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-16-recpcbassembly-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a>\u00a0 <a href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-16-redinbox.jpg\"  title=\"Receiver In Box\" class=\"imagelink\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-274\" title=\"Receiver In Box\" src=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-16-redinbox-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>On the left you can see m soldering together the receiver board. The little clampy things that\u00a0are holding it for me while I work\u00a0on it are actually called &#8220;Helping hands&#8221; \ud83d\ude42 On the right I&#8217;m making sure it fits in the box! I wanted my receiver to look a little more Wii-like than Marks one, so I used a white box with rounded edges. I&#8217;m really happy with the result!<\/p>\n<blockquote><p>Transmitter Circuit testing<\/p><\/blockquote>\n<p><a href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-16-transbread.jpg\"  title=\"Transmitter Breadboarding\" class=\"imagelink\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-275\" title=\"Transmitter Breadboarding\" src=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-16-transbread-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>This is the transmitter circuit being Breadboarded. Breadboard\u00a0is a special electronics testing thing. It lets you plug all your components together to test it, but without making it permanent. Each wire you can see is easily unplugged from the board and swapped to a different socket to allow the electricity to flow to somewhere else. It makes testing stuff super easy!<\/p>\n<blockquote><p>Transmitter Assembly<\/p><\/blockquote>\n<p><a href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-18-transassembly1.jpg\"  title=\"Transmitter Assembly1\" class=\"imagelink\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-276\" title=\"Transmitter Assembly1\" src=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-18-transassembly1-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a>\u00a0 <a href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-18-transassembly2.jpg\"  title=\"Transmitter Assembly2\" class=\"imagelink\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-277\" title=\"Transmitter Assembly2\" src=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-18-transassembly2-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>Squeezing everything in here was a bitch! But I finally got it all in! The transmitter is powered by an iPod nano battery! It&#8217;s small.. but it could be smaller! I&#8217;ve flattened out all the pins on the PIC chip so that it&#8217;ll fit under the original Nintendo circuit board. On the right pic you can see I&#8217;ve got an on\/off switch and a little charging socket. The on\/off switch toggles the battery between the PIC chip and the charging socket.<\/p>\n<blockquote><p>Finally all together and working!<\/p><\/blockquote>\n<p><a href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-19-finrun.jpg\"  title=\"Finished and Running\" class=\"imagelink\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-278\" title=\"Finished and Running\" src=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-19-finrun-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a>\u00a0 <a href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-20-fincharge.jpg\"  title=\"Finished on charge\" class=\"imagelink\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-279\" title=\"Finished on charge\" src=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-20-fincharge-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>The final product! In use (left) and on charge (right).<\/p>\n<p>Now Robert and I can play the original Super Mario on the Wii Virtual Console using the original controller! \ud83d\ude42<\/p>\n<p><a class=\"imagelink\" href=\"http:\/\/www.sonicpenguins.com\/blog\/wp-content\/uploads\/2008\/09\/2008-09-19-picprogramming.jpg\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before I start this post, I have to send out a big thank you to Mark Feldman http:\/\/www.ppl-pilot.com, who designed all the code and circuits in this project \ud83d\ude42 A few months ago my good friend Robert came to me with Marks URL and demanded that I make him a wireless NES controller for his [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"","footnotes":""},"categories":[5],"tags":[],"class_list":["post-267","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/posts\/267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/comments?post=267"}],"version-history":[{"count":18,"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/posts\/267\/revisions"}],"predecessor-version":[{"id":296,"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/posts\/267\/revisions\/296"}],"wp:attachment":[{"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/media?parent=267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/categories?post=267"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.sonicpenguins.com\/blog\/wp-json\/wp\/v2\/tags?post=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}