Problems with DIY USB Devices

Hello friends ! I bring a doubt that I believe is very complex, for this reason, I ask for help to the most experienced in the field of electronics and robotics. I’m trying to develop a prototype of “USB gamepad” but am encountering serious problems for it.

First, I would say that operate on a computer that has Windows 7 Ultimate 64-bit. I want to leave this already evident, for I do not know if the operating system has influence on my problem.

I had already said I want to develop a USB gamepad. For this, I am using the electronic scheme arising from the http://www.raphnet.net/electronique/ata … dex_en.php and with all due components with some exceptions.

Exceptions are: in place of the 27 pf capacitors, I’m using two capacitors of 22 pf and instead of AVR ATmega8, I’m using a DIP ATMEGA328P.

I know there are differences between the Atmegas chips, however, anything that could jeopardize the operation of the circuit. The Atmega 32, has more memory than the ATMEGA8; But the rest, I do not see differences that bring problems to the operation of the device.

I own an Arduino UNO R3 board, which also has a ATMEGA328P. And my problem is after loading the Hex file to the other ATMEGA328P.

Using the “Arduino as ISP”, the code seems to load normally with the software “AVRDUDESS 2.4”. But after loading and trying to connect the computer, the device is not recognized, it uses a simple Samsung Notebook Celeron 1.10 GHz - my AMD Phenom 6300 is blown :frowning:

I did the circuit assembly in a breadboard. Do not even try to reverse the “D” and “D +”, the device is still not recognized. So what did I do? I set up a simple circuit with only the crystal oscillator of 12 MHz, the capacitor 22 Pf and ATMEGA328P. I loaded the file “Blink” and this works perfectly. :?

At this time, when I load the Hex gamepad for Atmega328 or more is appearing the message “device- unrecognized.” Nothing appears. But if I carry the Hex “blink”, functions normally. This makes me very confused.

I have a program I downloaded from the Internet, called “Xloader”. He simply carries Hex files directly by the Arduino without that configure the board as an ISP with skektch. Just load the Hex file, choose the Arduino board and press “load”. Only that.

Please friends. Can you help me ? why can not I make the project work properly? at every step I described to you, has some developmental error? And any of you know any similar project that can be done with crystal oscillator of 16 MHz and thus create a generic USB gamepad?

Thank you all for your attention to my case. Greetings!