Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm starting in the Arduino world. I've been reading a lot on the subject and I have a few questions regarding a project in which I'm trying to get involve.

I want to control my Canon EOS 7D with a joystick using Arduino. I ran with this two projects.



Both have parts of what I'm trying to achieve. The main doubts that I have are related with the USB port. If I want to connect a USB Joystick to Arduino and then the Arduino to the camera using USB, Do I need to have two USB host shields?

How is it that in the first example the Wii gamepad is connected straight to the Arduino? Can I do that with an USB generic gamepad?

If I start the project with a regular USB gamepad, Do you think I'm going to be able to replace it with a wireless gamepad on the future?

Is it possible to take advantage of the USB port that, the Arduino UNO already have?

As you can see, a little of orientation would be good!, THANKS!!

share|improve this question

A quick glance at the Arduino UNO page shows that this board is not setup to be a USB host which is necessary to control your camera and receive input from the joystick. You'll need to choose a development board that can be used as a USB host. Even then, you'll need a hub for two devices.

I know nothing of Arduino, but a quick search yielded this.

Regarding the Wii controller, it uses a much simpler serial interface (I2C) which allows direct connection to his Arduino. This is not possible with USB (without additional hardware). However, one thing you could do is open up a generic USB controller and make your own connections to the various buttons/pots within, then route them out of the controller to your application.

share|improve this answer
Thanks for the link, I've already seen the host shields, and I've also read the Arduino page, but as I don't understand much of electronics I've imagined that someone could have developed some kind of hack to do it. It's good to know that I can use just one shield and connect the two devices using a hub, wich is cheaper. Thanks! – limoragni Jul 26 '12 at 15:15
@limoragni You'll need firmware support for enumerating a device attached to a hub. It doesn't work exactly the same as it does when connecting the device directly to the host shield. As with most Arduino applications, I am sure this code probably exists. – Jason Jul 26 '12 at 15:17

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.