Universal wireless controller for SNES, Saturn, N64, etc....

Started by micro, February 15, 2011, 03:06:53 AM

Previous topic - Next topic

liverpool_hotline

I am the Japanese gamer who lives in Japan.
Please allow poor English using a translation tool.

First, I would like to thank to Mr. micro and you who are heaping up this thread. Thank you very much.

It succeeded in making N64 controller of my home into wireless the other day.
In Japan, I cannot buy Doc's wireless controller. In Japan,Since there was also no person who is doing wireless reconstruction.
I was very glad when this thread was found.

It reports having noticed then. Please ignore, if it is already being understood or talking.

(Although it does not understand how it is in North America, )In Japan, there are two kinds of substrates of the controller of n64, the first half and the second half.
First, when converting the substrate of the first half, it did not operate normally.
As a concrete condition, although the button operates normally, only an analog stick top and the bottom do not react.
Furthermore, only a top is automatic and it continues being inputted intermittently.

The cause was not found.
However, when using the controller of the substrate of the second half, it operated normally.
It seems that this way is not accepted by the substrate of the first half.

N64 main part, the cartridge, and the controller used the Japanese thing, and, finally were made well.

The above is a report.



The game in wireless is very comfortable. I would like to enjoy a retro game from now on.
Thank you for reading to the last.

eitnot

I found a LED that had a separate Red and Green circuit in one LED but it was stil 20mA.  I will have to see how much charge time I get out of it.   If all else fails I might just pull the charging circuit out and keep it separate.

Couple questions for you:
Have you considered doing this original Xbox, original PS1?
Have you considered doing a USB receiver for PC?  I was thinking of building 4 wireless receivers into a media center pc so any controlllers I build can be used with it.  I have a chip that allows me to connect 4 SNES controllers to a PC but if I used that I would lose some button functionality on Saturn controllers.

Do you have a Channel 3 & 4 program for Saturn controllers?  I was thinking of building 2 Saturn controllers but I don't want them to conflict with the 2 SNES controllers I built.

Thanks

flagoss

Hey Micro do you know if I can flash a ATTINY2313A with your firmware !?

eitnot

Has anyone built the wireless NES controller?  Just curious if anyone has any pictures of how they went about fitting everything in the controller.  Seems like a really tight fit.

conquer

can someone give me a clearer idea of how to reprogram the mcu's? i assume mosi, miso, sck, and reset are all connected as before and ground is connected through the caps& crystal... or does the gnd for the whole circuit connect. can vcc be left unconnected since i'm already providing power? i'm doing the N64 and using a usb programmer with avrdude

public-pervert

What programmer are you using? In fact, all you need is those four signals, 5v and gnd. You'll need a resistor between VCC and RESET, 10k, if I remember right. Use a 100nf ceramic cap between the VCC and GND too. Also, don't forget to set the fusebits, otherwise, the MCU will do nothing.

conquer

Here's the programmer I'm using it's based on this design http://www.fischl.de/usbasp/.  i soldered the flashing circuit together and flashed the mcu but i accidentally didn't get the hex file on it .. but the fuse bits were set.  so i went on and finished the tx and rx circuits but the mcu's are blank, now i need to put the code on.  all my vcc's and grounds in the circuit are connected, should i run those to the programmer? i know i'm supposed to provide the power with batteries/the system but i'm not sure how to tell the programmer not to power

micro

Don't try to program the MCU in-circuit unless you can confirm the programmer isn't outputting power!

I've never dealt with USBasp programmers but according to the schematic there should be a jumper J1 which is responsible for outputting power. You want to make sure the jumper J1 isn't bridged.

If you provide 5 V to the receiving/transmitting circuit you'll probably fry the NRF24L01 module (it's max voltage is 3.6 V IIRC) and maybe the voltage regulator too.

public-pervert

Thats why I made boards like that, just to write on a specific MCU


porterj5

I am having trouble with the NES TX and RX.  I ordered all parts from Mouser, with the exception of the transceivers, and have checked my wiring on the breadboards and everything seems to be wired correctly. 

The only oddity I can seem to find is in the receiver plugged into the console.  The voltage coming out of the NES console is 5V but when I test the wires from the cord that I have plugged into the breadboard it is about 3V.  Also, when I test the voltage going through the 3V regulator, it is about 3V or less coming in and has varied between 1.8V and 2.4V going out.

Would the decreased voltage cause the transceiver not to function properly?

conquer

wow public-pervert great idea that makes programming so much easier.  thanks for the advice micro i found a connection on my programmer that says 5V/3V3 sel but it was very small and i my soldering skills aren't up to the job.  so i just left the NRF24L01 module out and reprogrammed providing power as before, and it seems to have worked. 

the problem i get now is that two of my controllers seem to be stuck intermittently sending 'up' commands from the joystick.  my first controller doesn't have this problem, and all 3 controllers worked fine before I severed there cords.  i will make a youtube video to showing the problem in action

Grambo

Quote from: porterj5 on May 02, 2013, 12:06:40 AMwhen I test the wires from the cord that I have plugged into the breadboard it is about 3V.

I don't understand what you mean by this. If the wires are directly connected to your NES' 5V, they should read 5V.

Quote from: conquer on May 03, 2013, 12:42:14 PM
the problem i get now is that two of my controllers seem to be stuck intermittently sending 'up' commands from the joystick.  my first controller doesn't have this problem, and all 3 controllers worked fine before I severed there cords.  i will make a youtube video to showing the problem in action

Check all your solder joints thoroughly. I had a intermittent joint that was causing some strange problems like this.

porterj5

Quote from: Grambo on May 04, 2013, 09:27:27 AM
Quote from: porterj5 on May 02, 2013, 12:06:40 AMwhen I test the wires from the cord that I have plugged into the breadboard it is about 3V.

I don't understand what you mean by this. If the wires are directly connected to your NES' 5V, they should read 5V.


I don't know what was happening but I used a different cord and now the voltage is reading correctly.  But it is still not working.  I have checked the diagram even ordered new transceivers in case the two I had were bad.  Any suggestion for what to check and how?

Grambo

Quote from: porterj5 on May 06, 2013, 10:08:16 AM
Any suggestion for what to check and how?
Not really in specific, no, but if you post a picture I can maybe suggest something more definite than "check everything".
Your AVR chips flashed properly?

duo_r

Any update on some type of per programmed board for sale?

xboxman2

First I would like to say thanks! this a great job!

My question is: Is it possible to have a receiver to hook them up to the pc? I have a media center with some emus and I use the 360 controller but the gaming expereince will be a lot greater if I can use the original controller for each emulator (snes, sega, n64 ...)
I was thinking in  doing something like this http://www.instructables.com/id/USB-SNES-Controller/ and attach the receiver of the snes to it but maybe there is a better solution.

Thanks in advance

Hedgehog

Hi, I ended up giving this a try and I have finished all soldering...it didn't work :( I started measuring with my multimeter and it looks like I have +3v to IRQ on both transceivers, what does this mean?Also it looks like the rest of the circuit is getting power where it needs to. I tried all combinations of channels as well. Any thoughts? Hopefully I can have pictures up soon when I get my hands on a decent camera.

conquer

I made 2 N64 controllers and both are working great! I hit a few bugs along the way and think I might have made a discovery about the n64 controller motherboard.  What happened to me (and this might have been the problem liverpool_hotline encountered) was that only certain motherboard 'revisions' functioned correctly as wireless controllers.  3 of the boards I tried to mod all had the same exact problem, they acted as though the joystick was being pressed up and released very quickly, faster than humanly possible. Other than that the buttons of the controllers worked as they should, but gameplay was impossible.  SO I took pictures of the boards that didn't work that include the mcu and the number of the motherboard itself, which can be found on the top left by the L button.   











These 3 all gave me the intermittent moving up problem, so I soldered the chord back on to them and have had no problems using them as normal controllers

conquer

This is one of the boards that worked. the mcu looks like it was from the same batch as the third picture above, but the motherboard number is different. 




Has anyone else encountered similar problems?

Helder

Quote from: public-pervert on April 24, 2013, 01:13:10 AM
Thats why I made boards like that, just to write on a specific MCU


Nice work, any chance you can provide a schematic for that board?

Grambo

Quote from: Helder on June 23, 2013, 01:10:04 AM
Nice work, any chance you can provide a schematic for that board?
Page 8 of the PDF.

Grambo

Not to be pushy or anything, micro, but have you been able to make much progress on v2? Without asking for any promises, is it likely/possible/unlikely to expect something this year?

Thanks again for all your work. Between this and your N64 replacement stick mod, my retro gaming experience has been vastly improved :)

N644ever

I'm having some trouble programming my microcontrollers. Initially, I decided to use myAVR Progtool instead of AVR Studio because it was simplier to understand, especially when it came to setting the fuses. However, the program does not recognize my prgrammer (I'm using an AVRISPmkII). Here are some pictures:

Uploaded with ImageShack.com
Uploaded with ImageShack.com

Any advice on how to set the connection to recognize my programmer would be awesome ( I'm using windows vista). After this failure, I decided to use AVR Studio. AVR Studio did recognize my programmer, but I found it hard to understand how to set the fuses. Given Micro's pictures, I understand to check the box for "SPIEN" and then set the necessary high and low fuses, but I don't understand the other settings labeled: "BOOSTZ", "BODLEVEL", and "SUT_CKSEL". I noticed that the options under these labels were different for bother microcontrollers (ATTiny2313 and ATMega8). when I tried to program my controllers, I'm guessing that I most likely bricked them because I was only able to program them one time successfully. After the first time, an error message appeared when I tried to program them again. Here are some pictures:

Uploaded with ImageShack.com
Uploaded with ImageShack.com
Uploaded with ImageShack.com
Uploaded with ImageShack.com

The voltage source supllied to the circuit measures 4.55V. If a solution to my problems is provided, do you think it would be easier to program the MCU's in the finished circuits (I'm using an N64 and I do have the 6 pin jacks)? and if so, would I need to have the rumble pak plugged in to the controller to program the MCU in the TX or could I have it disconnected from the controller (of course, having the switch cut on in both circumstances)?

Thank you so much to anyone who is willing to help! It would be greatly appreciated!

public-pervert

I've tried, unsuccessfully, to program with 4v5 before. It was on the beginnings when Micro did his first awesome work on the N64 controller conversion with an ATMEGA8. When I was about to give up, I tried using 5v instead of 4~4v5, and it worked! I don't know why, I just can say that the 5v source made it possible. Try using 5v instead of 4v5, and see.
Also, I use Extreme Burner and USBASP to program all my AVRs. USBASP costs less than 5 bucks and works great, plus it provide power to the chip from the USB port.

N644ever

Thanks for the reply! I actually have an older USBasp. As soon as I get new microcontrollers in, I'll try using it with Extreme Burner.

SnoopKatt

So I gave the NES receiver a crack to try it out with the wireless N64 controller, and no joy unfortunately. As I was poking around with a multimeter, I noticed the output of the LP2950 (KY5033 model: http://www.datasheetdir.com/KY5033+download) was 4.5V, not the specified 3.3V on the datasheet. I also connected it to a bench 5V DC supply, and got the same result. I wonder if the manufacturer mixed up the plastic castings or something... I'm guessing the ATTiny2313 and the transceiver are fried :/ So watch out for this! Here is the Mouser page for it: http://www.mouser.com/ProductDetail/Texas-Instruments/LP2950-33LPRE3/?qs=%2fha2pyFadujpLUIe67YnftWJpdpDFJizLhePy2V7pqOdMhsCXqDWJg%3d%3d

EDIT: Ignore that stuff above. I didn't realize the data sheet said "Bottom View". Sorry about the misinformation.

Hedgehog

Ok, so i finally got a hold of a camera to take some decent pics. Is there anything you guys can immediately see that would prevent this from functioning? According to MyAVR ProgTool both MCUs where successfully programmed. The next step at this point is trying a fresh set of transceivers.

Thank you so much for taking a look and please let me know if there is a specific part that you would like more up-close and detailed pictures of.






warioguy64

#187
Hi everybody. I was working on a couple of N64 controllers when I saw this: Wireless HYPERMODE SERIES Controllers For N64 by Retro-bit
I was wondering what you guys think about the new retro bit products and if anybody already tried it out. I just orderd mine yesterday so I wil get it next week.
I dont like the nes/snes controller from retro bit so I will probably still have to build the nes and snes controller myself but I dont mind cuz this is a fun project :)

liverpool_hotline

I am the Japanese gamer who lives in Japan.
Please allow poor English using a translation tool.

Since the receptacle for n64 receivers was completed, please see.
It mainly made with the plastic plate.






The Nintendo logo of n64 controller connector is used.




A design concept is a receiver of "gamecube wavebird."
The bottom is the comparison photograph.




It is reconstruction "rumble pak" for controllers.


The B button of SFC(SNES) was used for the on/off switch.



A photograph in use.

LED was attached.


It is a future target that LED also makes red, blue, and a green receiver and attaches four pieces.

Thank you for reading to the last.

micro

@Hedgehog: Can't see very much on your small pictures... Did you also set the according fuses? If you plug in the receiver into the N64 and start a game, is the game complaining that there's no controller inserted?

@conquer: I've only modded two N64 controllers by now and I don't own them anymore. But I didn't have the problem you mentioned. But that's another reason I won't work on the old code anymore, possibly a timing problem....

@Grambo: Thanks.  :) I'm afraid there won't be any big progress this year. Better don't hold your breath for it...
The last time I worked on it I assembled the first transmitting PCB, rewrote the code and tested the PCB with a NeoGeo controller. It works, including charging of the battery, low battery indicator, and such things. But there is SO much more to do and refine. I just don't have the time atm.


@N644ever: You can use a fuse calculator: http://www.engbedded.com/fusecalc/
Just type in the low and high fusebyte and it will show you which single fuses have to be set.

@SnoopKatt: 4.5 V shouldn't be a problem for the micrcontroller but the NRF transceiver module can only handle 1.8 - 3.6 V IIRC. The transceiver's probably fried. A german fellow told me a while ago that on his Ipod shuffle battery the + and - terminals were labeled wrong! It also fried the voltage regulator, the MCU and the transceiver module. Better watch out and measure the battery's voltage first...

@liverpool_hotline: That looks AMAZING!  :o Were did you get the housing from? Have you made it yourself?

ours1011

Quote from: liverpool_hotline on July 20, 2013, 12:05:50 AM
I am the Japanese gamer who lives in Japan.
Please allow poor English using a translation tool.

Since the receptacle for n64 receivers was completed, please see.
It mainly made with the plastic plate.

Thank you for reading to the last.
Oh my god, this is simply AMAZING !!!  :o
And what a clever use for yellow B button !

It looks like it is vacuum formed + bondo and then cast.

I was planing to do something like that for the snes version. But here the craftsmanship is far beyond my actual level xD

SnoopKatt

micro: Good to know the IC is okay :) The input voltage seems to be a healthy 5.1 V, and this is straight from the NES console (I haven't started the transmitting NES controller yet; I'm still trying to fathom how to fit everything lol). My bench supply at 5.0 V connected to the voltage regulator still had an output of 4.5 V. I tried different regulators and I got the same results.

liverpool_hotline: I think you win this thread. Telling you that's an incredible mod doesn't do it justice. How did you make it?!

micro

Snoopkatt, stupid question: Did you use the right pinout? The LP2950 has a different pinout like a standard 7805 regulator.

7805: Input GND Output
LP2950: Output GND Input

SnoopKatt

Should be correct. Here's the datasheet I followed: http://www.ti.com/lit/ds/symlink/lp2951.pdf
Here are some pictures on the bench:






I also tried putting an input capacitor on as well to see if it made a difference, but no dice:



It's just weird that both the voltage regulators I ordered do that... :o

EDIT: Fixed the images.

micro

You really should resize your pictures, somehow my Firefox browser doesn't scale them down...

But to me it really looks like you switched input and output. The input (5 V from your bench PSU, red wire) goes to pin 1. But according to the datasheet input is pin 3. Try to switch the green and red wires and see if it works (although it's possible both of your regulators are damaged by now :( )

PS: In my post before I said LP2951. But of course we're dealing with the LP2950...

SnoopKatt

Ah you're right. I missed the key word: bottom view. I was looking at it from the top...I feel silly. It does work now; I'm reading 3.28 V. Thank you for pointing that out. I have a spare transceiver, so I'll give the NES receiver another go, this time with the correct direction for the voltage regulator haha.

I thought I posted those as thumbnails, but I guess I didn't. I'll fix that; sorry about that!

public-pervert

@liverpool_hotline: Awesome work so far! Is your ON/OFF switch digital?

liverpool_hotline

@micro:Thank you very much.  I'm not very good at electronic work.  But the way which processes a plastic can be done well.

@ours1011:Thank you for reply.  I do not have a tool of vacuum form.  Therefore, the plastic board was bending with the heat of the soldering iron, and was made altogether.

@SnoopKatt:Thank you for reply.  It is comparatively easy to make.  But although it is troublesome... 

@public-pervert:Thank you for reply. The switch used the commercial item.  A photograph is stuck downward.


The main materials



How to bend







switch



Thank you for reading to the last.

public-pervert

Nice idea on how to bend the plastic  :D
You've made indeed a very nice work. Nice to know another people complete another wireless controller.
I want to see more projects, man!
Congrats!  ;)

I never gets tires to thank you too, Micro! Thanks!

cheema201

#199
If you plug in the RX should the console read that a controller is plugged in - even if you don't have the controller turned on?

I've made a RX for the N64, but when I plug it in it believes there's no controller plugged in.

I've yet to finish the controller component.

Just want to get the RX right first.

Would the Channel switch have anything to do with it?

I think that's the main part that has me confused  :-[

Thanks  :)

Edit: Hey guys, figured out the problem. After looking over my wiring about 1000 times I reflashed the MCU - now the RX shows up as a controller. So I mustn't have flashed it correctly the first time.

Just need to do the controller component - but I'm waiting on a gamebit so I can open the rumble pack :)

I'll post some pics when I'm done... but it will be exactly the same as micro's (I don't have the impressive personal touch that most others seem to have in this thread lol)

Edit 2:

Here are some - not the greatest, but I'm happy :)



Here is it in action:



It works really well.

I want to combine it with an accurate GC style stick. But I managed to somehow break the potentiometer! (I still have the board ready to go, courtesy of micro)

Edit 3:

I fixed the potentiometer, with the help of micro... now I have micro's board in the wireless controller. It's a match made in heaven!

I'm loving it... it is well worth the time and effort to make the wireless controller and add in one of micro's boards for accuracy.

Thanks again to micro

And good luck to anyone attempting to make a wireless controller. I'm almost completely retarded and managed it - which should be a good indication of how simple it is to make the wireless controller once you understand the schematics.