Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

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

The iPad would be the perfect handheld device for controlling some USB devices. I would like to get started with programming iPad applications which would communicate with USB devices.

I guess I could use the dock port USB adapter to communicate with home made USB devices. How should one go about programming communication through that dock port and adapter? I need some directions. Don't know where to look, where to start. Not even sure if it is possible at all.

I ask because I know most devices are not recognized. The drivers are not automagically installed as on desktop or laptop computers. I want to get started with programming low level communication so that the application itself on iPad would possibly manage the whole USB communication with its device.

Thank you very much,

Any helpful input is welcome. Haven't found a lot of successful stories so far.

share|improve this question
Related:… – user588 May 7 '11 at 5:29

You cannot interface with generic USB devices from a stock OS iPad unless you are a manufacturer in Apple's MFi ( program. There appears to be a ton of paperwork involved to just apply. The external accessories API is of no help on stock OS devices, unless you are manufacturing your own custom MFi-compliant device.


If your USB device can pretend to be a MIDI instrument or controller, you might be able to interface with it over USB by sending/receiving MIDI messages from the iPad.

share|improve this answer
Yes, MIDI devices are visible directly via CoreMIDI, even if they are plugged into, say, the iPad Camera Connection Kit. Not all devices work, however. – Dan Rosenstark Mar 8 '12 at 6:07

You probably want to look at the Apple External Accessories API documentation:

Note that this does not just give you access to the device's USB port - to talk to a device it is my understanding that the device has to be designed to support this API as well.

share|improve this answer

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.