A-Level Project - Help Needed!

I am a year 13 student at a technology college. In Systems and Control (Electronics), I had enbarked on making a one handed (joystick style) Xbox controller. However, it soon became evident that commanding an Xbox with some unknown protocol would be, least to say, difficult!

So I have modified my specification to a project that would allow people to rehablitate the use of hands through an Xbox style controller. It would basically be a joystick (2 axis at least) with some buttons.

It should be able to work with some software on a PC, maybe Flash or Processing; using USB.

I was thinking Firmata? I know this doesn't support HID, so maybe not.

Could anyone steer me towards an answer? Thanks,

Ben

The USB port on the Arduino board is really not a USB port, but a serial port in disguise.

Implementing a HID device on Arduino is not exactly an easy task.

Some people have succesfully implemented simple USB devices, try to sarch the forum for USB HID and AVRUSB to get some ideas of what have been achieved.

If you could live with communicating with the PC over a serial connection, and not USB, you would be home free since this is pretty easy.

since the arduino has a built in UsB to serial converter, it might be a lot easier to simulate a serial joystick, and the convert to usb on the board. I know the serial communication protocols are a fair bit simpler than the usb ones.

Just an idea, have you thought about using a Wii nunchuck? A lot of the coding has been done, you just have to adapt the code so windows sees it as a serial joystick or mouse.

The other option with the Xbox is to hack into an old controller. IF you input through the joystick's inputs the controller wil do most/all the converting.

Just a few ideas.

Cynar

Thanks for your comments. It seems either Serial Joystick or Wii/Xbox hacking is the way to go.

Although, it would be a bit expensive to break apart an Xbox 360 controller. Especially as it may not be the best way of going forward.

Ben

ThingM has made a tiny breakout board to read from Wii nunchucks without breaking them open or damaging the cord at all. You can find these for sale at FunGizmos or other retailers for a couple bucks. Search for "wiichuck" and you should find examples of using the accelerometers, joystick and buttons.

I know it might be deemed heresy on this board but if you want an actual HID USB implemation you could do a lot worse than using a:-

http://www.create.ucsb.edu/~dano/CUI/

I used it in my sound square project before I went on to use the Arduino.

http://www.thebox.myzen.co.uk/Hardware/The_Sound_Square.html

Looks like they go so far as to marry the CUI protoboard with an Atmel, making a "CUIduino." It's really eye-opening to see how complex a single USB component is to implement, versus the bare three-wire-serial implemented on the Arduino form factor.

This was discussed in another thread less than a week ago: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1228676776

And in that thread I mentioned the shield I'm building to allow an Arduino to appear as any computer input device; joystick, mouse, keyboard, etc.

Actually, I built this device in early 2007, although it was not an Arduino shield. I used one to make a tilt-controlled USB joystick, built into a model airplane. This was used to control a flight sim game that had the same airplane as the model. I brought this to Maker Faire 2007.

Since it's going to take a month or two to get the HID Portal Shield in production, I was thinking that I could send out a few of my original devices to a couple people in these forums, for testing, and also to get started on what would be required for an Arduino library. Here are the different types of devices: http://www.macetech.com/hidportal.jpg

Wow, this sounds cool. Could i get some files and stuff?

This would be just the right sort of thing for my project. Cheers,

Ben