About 16 months ago, a friend approached me, asking if I’d modify a second NES controller to more closely resemble that worn as a belt buckle by Captain N: The Game Master. The first attempt (now called Mark I), while mildly successful, left something to be desired:
- The battery did not fit inside the controller, and had to be hidden elsewhere (behind the belt, generally)
- The battery connection was flakey
- The LEDs, while bright enough, looked rather silly just poking out the front of the controller
- There was no on/off switch, and the only power savings came from unplugging the battery or letting the LEDs auto-dim (which reduced, but didn’t eliminate, power consumption)
To address these issues, Mark II was “commissioned”. During the next year or so, I learned a lot while trying new (to me) techniques to do a much cleaner build than the first one. I’m quite happy with the results, of which I didn’t get a good, finished picture. This one at least gives an idea of what the light bar looks like (though it’s blurry and lacks buttons):
While in Mark I, I used an Arduino Pro Mini and carved out enough of the original circuit board to make it fit, this time I created my own circuit board utilizing an ATMega ATtiny4313 chip for the brains. This alone caused some consternation, as the Arduino Development Environment doesn’t natively support it. I used the toner transfer method to mask my board for etching, a process I don’t wish to repeat (I plan on using a laser to remove masking material where I need to etch next time).
Programming was fairly easy, of course. I copied the code from Mark I, and made a few tweaks to add a couple lighting effects.
I did manage to include a battery inside the controller this time! The capacity was halved, but the power consumption was reduced, as well. I included a micro-USB charging circuit and a power switch, too. The smaller battery should easily get through any normal use at ComiCon (it did just fine there this year).
With this being my first scratch-designed circuit board, I made a couple of silly errors, but was able to green wire my way out of them (lost a ground trace, for instance). I also had what I thought was a hardware problem, but turned out to be a simple software issue that 10 lines of code could fix (forgot to pull up my input pins using the internal resistors of the microcontroller).
All in all, I think Mark II came out nicely, and I sure learned a lot from building it!
Incidentally, one resource I’ve found to be indispensable is Sparkfun Electronics. Their support is outstanding, and their forums quite informative. If you’re looking to try some tinkering at home, I highly recommend that you check them out.