While my question is not relevant to FIRST, I’m hoping that somebody here might know the answer. I need to find a way to create my own joystick-recognized device, one that only has buttons. I know this is possible with microchips such as the Cypress that is used for the DS IO, but I wanted to keep it as cheap as possible. After doing some research, I came across an AT90S2313 microcontroller that is supposed to do the job. Did anyone else do this before and know of a good microcontroller to use? If not, can someone give a little insight as to the pin abbreviations used in the attached photo? Thanks in advance.
You might find this does what you’re looking for?
This has all the information about your chip.
Mr. Rip
Texas Torque
You can make a USB device basically 3 ways and expect some standard operating system support:
Emulated serial
HID
Mass storage
Since mass storage is unlikely to matter let’s just skip that.
So that leaves emulated serial and HID.
Emulated serial can easily be done with PIC or Atmel USB interface equipped MCU like the PIC4550. It works on Windows, Mac OSX, Linux and BSD. Generally no magical drivers are required to make it work. So basically for the beginner that mode of operation is the easiest to grasp and get results with. It might limit your performance to 200kbps. However for a controller that’s probably irrelevant. BTW this mode of operation is how BASIC Stamps and Parallax Propellers are debugged and how many bootloaders get software into an MCU.
Most joysticks work in the HID mode (as mentioned above). This mode requires more effort to create. Generally speaking a shortcut is buying a prefabricated module or software layers that handles the oddities you might encounter for you (instead of reinventing the wheel). This can add cost and HID device support is not universal. Certain simple peripherals like keyboard and mice are well tolerated. However more complex devices can lead you into driver development.
You can get a board from Olimex with the PIC4550 already mounted on it:
Olimex direct
I recommend this board. I know it works just fine. There are American distributors that can ship from here.
What we’ve done previously for button inputs is just take apart one of our attack joysticks, isolate the circuitry, and attach our own buttons to it, bypassing the buttons on the joystick itself. You get 10 buttons, and 3 analog inputs if you want them.
It’s probably cheaper than a custom microcontroller solution (I see a refurbished attack 3 on ebay for $16), and there’s no coding involved.
The Teensy 3.0 has built in HID and joystick emulation in a small and convenient package
Spectrum even released a white paper about using the Teensy 2.0
You might consider the use of the following devices donated to FIRST Choice (I know yours is not a FIRST project but you can pick these up really inexpensively at DigiKey or Mouser). We’ll be providing a pre-built binary for general use and releasing the source code for it so that some teams (or folks like yourself) may modify it for their specific purposes.
http://www.firstchoicebyandymark.com/en/fc14-011
David Yanoshak (dyanoshak) will be posting additional details of this and some interfacing options in the near future (a couple of days from now).
Just posted here: http://www.chiefdelphi.com/forums/showthread.php?threadid=122587
-David
I found out about estoprobotics the other day, this may be what you need.
https://www.estoprobotics.com/estore/index.php?_a=viewProd&productId=33
We’ve disassembled a gamepad and connected other switches and potentiometers on a custom control box to the gamepad circuit board. It works pretty well and is as inexpensive as whatever joystick or gamepad you use.
Do you have the model you used?
We used the Logitech F310 gamepad, but any USB game controller should work.
You can use a Teensy with the arduino IDE to make a USB controller, if you would prefer to use an arduino board, the arduino due and leonardo should also be compatible with the USB Keyboard/Mouse libraries.