Monthly Archive for October, 2007

Saturn to 360 Controller Adapter

May 1st I decided I wanted to tackle a big project. I wanted to do something that no one had attempted before and was beyond my current skill set. I had seen numerous inquiries on the forums from people who wanted to know how hard it was to use “X” controller with the Xbox 360. It always boggles my mind how little people know about this stuff and how 90% of the time they simply assume they can just cut the connector off of any cable, twist some wires together and call it a day. I wanted to do something to show everyone that these things were not impossible, nor were they that simple. I eventually decided to build an adapter that would allow me to use a Sega Saturn controller on the Xbox 360.

Saturn to 360 Adapter Logo

I chose the Saturn controller because the data protocol seemed simple and straight forward but complex enough that the circuit design would be interesting and challenging. I assumed that the converted output from the circuit would work easily with the Xbox 360 controller without any major problems, that turned out to not be the case.

I started off under the assumption that since the data from the Saturn controller was a simply multiplexed across four channels I could use some demultiplexers and get some good results. I didn’t know much about multiplexers/demultiplexer and as it turns out they don’t work the way I thought they did. So this didn’t work out.

Saturn Controller Protocol and PinoutSaturn Adapter First Test using demultiplexers

After the false start with the multiplexer I went back to the drawing board and started researching microcontrollers. I had limited experience with microcontrollers in the past but I knew enough that I knew it would work and that I would be able to figure out how to make it work. I eventually decided to go with a Microchip PIC solution using the PICkit2 and its included microcontroller. The first test was successful.

Saturn Adapter First Test with Microcontroller

After that I did a simple test to interface the microcontroller output to the Xbox 360 controller using transistors. This test was also a success. I had to actually use the guts of an Xbox 360 controller for communication between the console and the Saturn controller due to Microsoft’s security system. All major peripherals, especially the wireless ones have their communications encrypted and require a special chip sold only from Microsoft. This is also the reason no 3rd party wireless controllers have become available yet.

Once I scaled the transistor solution across all of the buttons I soon learned that the transistors would not work as anticipated. while my prior test had seemed to work, it had some side effects that were not immediately apparent.

Saturn to 360 adapter 1st Prototype with transistors

I rebuild the whole section of the circuit between the controller and the microcontroller and I ran a ribbon cable from the controller to the bread board just for my own piece of mind. This actually worked great but I was having the occasional voltage problems since the circuit was so large and drawing so much power. The power issues were worked out by simply adding more batteries.

Ribbon Cable Controller InterfaceSaturn to 360 Adapter Prototype 2a using Analog Switches

This ended up being the final version of the adapter. There were a few loose ends that I never tied up but I had met the goals that I had set out to achieve. I showed that controller adapters were possible albeit not easy either.

To my Surprise this project caught the attention of A LOT of gaming news organizations. The one I am most proud of however is an interview I had with Official Xbox Magazine in the UK. I got two whole pages dedicated to the interview and pictures as well as a teaser blurb on the front cover and main index. It has since been reposed on CVG sans pictures.

Here is a link list of all the other websites that covered it:

If you know of other news sites or corners of the web that ran an article or had some comments on it, let me know.

If you’re interested in the more technical side of the project the project log can be found on the Xbox-Scene forums. There is also a wrap-up post with all the important bits in one place. Another interesting bit is a fellow by the name of SaturnAR posted with some in-depth information on the Saturn analog controller which is well worth reading and he remains the only source of this info that I’ve ever seen.

Easy Button LEDs and Gen-Y

I’ve made some updates.

I’ve added a page about my Easy Button Hack. I’ve also added pictures to both the LED ring page and the Saturn Ion Gen Y page. The Saturn page will see another major update or two before it’s done but the Easy Button and LED ring pages are finished. A few other things have been spruced up here and there as well. Check it out!

Custom Easy Button

I’m sure nearly everyone is familiar with the Staple’s Easy Button from the commercials. Many of you are probably also aware that Staples actually sells Easy Buttons for $5 at their stores. It’s a simple device with batteries a speaker and of course a big button. Upon pushing the button you hear the “That was Easy…” catch phrase.

The Easy Button

I bought one to use at work since “easy” has come to be known as the ‘E’ word since certain people have come accustom to using the term to describe the difficulty of things that are decidedly NOT easy, at least that’s the reality that is usually discovered after far too little time has been dedicated to a particular project or task. Hence the button gets a push whenever anyone uses the term, or when something is completed successfully that actually did end up being easy.

While it’s entertaining, the gag can get old. For a brief period of time I was moved into the engineering area which sees a lot more traffic and my Easy Button saw it’s fair share of pushes as people found it funny to press as they walked on by chuckling to themselves as if they had just perfectly executed a joke. It didn’t bother me but it was clear that a few others who sat near by were weary of hearing “That was easy” continuously throughout the day… I decided that, for the benefit of myself and those who sat within ear shot, I needed to get some revenge.

I decided that since the Easy button was really just a button attached to some circuits I could very easily just make it a button attached to some different circuits; more specifically a circuit that could play custom messages instead of a pre-recorded one.

I went to radio shack because I remember them selling little voice recorder circuits in the past. I didn’t find one of those but I did find a key fob device that featured a voice memo function among other things. I decided it was small enough that I could strip off all the other crap that I didn’t need and shrink it even further if need be.

[I regret not taking any pictures of the key fob device pre-hack]

I started by pulling apart the Easy Button to see if it had the necessary space I would need to make it work. As it turns out there is a large piece of metal inside the button used to prove it with the satisfying CLICK when pushed. Also inside were two pieces of metal rod to give the button weight. I decided to do what i could to keep these features intact so that the button would not loose it’s quality. Thankfully the area under the metal plate was empty space albeit tight when taking into account that the plate needed to flex when the button was depressed. I also decided to keep the speaker since it was much larger than the one included with the key fob recorder.

Once I pulled the key fob device apart probed for the appropriate points I needed for microphone, speaker output, play and record buttons, as well as the points for the batteries. I pulled off all of the unnecessary stuff and got the circuit down to a really small size. Before attempting to fit everything into the Easy Button case I first made sure that the circuit worked.

Easy Button Circuit Test

Once I ensured that the circuit worked the way I intended I mounted the voice recorder circuit into the empty space below the metal “click” plate and ran wires. Since the metal plate would likely rub against the circuit I put some electrical tape over it to provide isolation from shorts.

Easy Button Voice Recorder Install Easy Button Voice Recorder Covered

Next I put the metal plate back in place and screwed down the original Easy Button circuit which was modified to short out all of it’s components except for the actual button, which was now connected to the voice recorder.

Easy Button Modified Circuit

Since I was using a different circuit that was designed to run on different batteries at a different voltage I decided it would be best to make the Easy Button fit the circular batteries as opposed to building additional circuitry to adapt AAAs. Also the battery holder portion of the button provided ample room to mount my microphone and record button as well. I started by modify half of the battery compartment to fit the circular batteries by bending and cutting some of the original battery hardware.

Easy Button Modified Battery Door

I then modified the other half of the battery door to fit the microphone and record button, both of which I got from my spare parts box. I then put it all back together and had an easy button that looked and felt just like the original but now could be programmed to say whatever I wanted.

Easy Button Record Button, Mic, and New Battery holder Easy Button hacked and ready

To get back at my co-workers I recorded the phrase “Ha Ha! Not this time. Get back to work.” and proceeded to get a good chuckle at every unsuspecting person who walked by pushed the button and then turned around for a double take when they realized that the button was heckling them rather than responding with the soothing Staples advertisement.

Wii LCD

Ever since I saw the WiiFree LCD mod I’ve been racking my brain how to integrate an LCD into such a small case and the key to it all came to me one weekend, after which I went straight online and ordered everything I needed.

I originally wanted to use a RED 20×2 I had laying around but it wouldn’t fit how I wanted it. I have a 16×2 green VFD I could have used but it would require some tinted glass so I didn’t want to use that. I ordered two White on blue 16×2 LCDs from CrystalFontz which will mesh perfectly with the Wii’s natural styling.

I had been racking my brain trying to figure out how to fit an LCD into the Wii’s case because of how incredibly small it is and how tight the innards are. While I was poking around Circuit City I saw an interesting product, a horizontal stand for the Wii with a matching box off to the site designed to hold a remote and nunchuck. As you can see from these pictures the potential for a slick LCD add-on is great.

Wii LCD Case Unmodified Wii LCD Case Inside Unmodified

I started by measuring my LCD to get the dimensions of the viewable area, and playing with placement to make sure that it would fit inside the case with the lid closed and still look centered on the outside. Even with all the empty space here the height of the case and the angled bottom still made this a tight fit that required a little bit of trimming. Once I got the placement down I masked off where I was going to cut my window. Used a rotary tool to rough cut it and then used metal files to make the cuts clean and flat and then finally some light sanding on the edges to make them look natural and slightly rounded. I did it this way because I didn’t want to have to paint the case the glossy plastic of the stand matched the Wii perfectly and having to paint or bondo to cover up any mistakes would have ruined that perfect match.

Wii LCD Case Masked off Cutting Area Wii LCD Case Rough Cut Wii LCD Case Cuts Filed Flat

Once the cuts were made I gutted the interior to remove all of the crap that I don’t need. While I don’t need the empty space either I figure that it might be beneficial for future projects, it might be cool to hardwire a set of Wavebird wireless adapters in here or hardwire a USB port and a LAN adapter or something along those lines. There’s certainly enough space for all of those things.

 

Wii LCD Case Gutted

Now that the case was done I could turn to the electronics. I knew that I needed a small PCB and I wanted it to sit like a backpack on the back of the LCD. I wanted to mount the chip to the back of the LCD rather than inside the Wii because if I ever need to reflash it getting at the chip would be trivial. Using pin headers to connect everything meant that I could easily pull the system apart for repairs or adding features down the road. I started by laying out how the electronics would all fit on a PCB, then I soldered them in place, then I went pin by pin from the WiiFree install instructions to make sure all of the points on the chip lined up with all of the points on my custom pin header. It was a lot easier than it looks. One benefit to using a socket for the chip is that you can solder it in place with the chip removed, meaning you don’t risk damaging the chip with the heat of the iron.

Wii LCD Case Electronics Laid out Wii LCD Case Electronics Completed

Once I had the electronics all soldered up I could place the LCD inside the case to complete the look. The LCD was simply hot glued in place. Using multiple dots of hot glue is the best procedure as even if one drop breaks the whole glue seam wont rip off like a string. Hot glue is fine for situations like this too because it’s not really holding any weight or resisting any force. Not to mention if you screw up it’s pretty easy to remove it and fix it.

Wii LCD Case Complete

So I have this awesome looking Wii LCD case now. I went ahead and soldered up a ribbon cable internally to a pin header hanging out the back of the case (sorry I forgot to take pictures) and I was all ready to get this thing up and running. Unfortunately when I went to flash the firmware to my chip I came to the painful realization that by USB programmer, a programmer that I bought because it works with 99.9% of Microchip’s PIC products did not support the chip I was using. I would seem that this is one of the very few chips that falls into that .1% range. So without the firmware I had to go back to using my internal 12F629 for the time being. I’ll get around to building a programmer for the chip I’m using to get the LCD up and running but it will have to wait until the next time I put in my big annual Digikey parts order.

You can follow the progress of this project using the project log on Nintendo-Scene.