Use an iPhone 6 as a monitor for a Raspberry Pi via USB

iPhone hardware doesn’t have a video in through the Lightning connector, so you’d need a different option even if the Pi had drivers to send data out over USB.

You’ll want a driver board and touch or no-touch display like these for the most economical solution if you don’t use HDMI or more traditional video out.

  • https://www.raspberrypi.org/products/raspberry-pi-touch-display/
  • https://www.adafruit.com/product/2718
  • https://www.adafruit.com/product/1933

Also, don’t forget both the Pi and iOS device can share a network and you can run X11 or VNC on the Pi and share the screen via networking. Direct Ethernet via cable works between iPhone and Pi as does Wi-Fi and USB direct networking over Lightning for SSH and setup of the above items.

  • https://apps.apple.com/us/app/mocha-x11/id1440418243
  • https://apps.apple.com/us/app/screens/id655890150

The two apps above are excellent for X11 and VNC needs on an iPhone and even better on an iPad.


As mentioned in the previous answer by @bmike; iPhone's hardware doesn’t have a video in through the lightning connector.

Still if you want to connect the iphone to the Raspberry Pi over USB. You can do so by ssh over usb.

  • You need to plug the iphone into the raspberry pi via the lightning cable and turn USB Tethering on.
  • For the first time, you need a monitor to be connected to the raspberry pi or use VNC/SSH in your home network to get the ip details for the interface between raspberry pi and the iphone.
  • Use the command "ifconfig" and note down the "eth" interface's ip address of the raspberry pi. In your case it might be "eth0" or "eth1". (This is the interface between the pi and the iphone.)
  • Note down the ip of the interface.
  • Use an application like "Termius" in your iphone to make an SSH connection to the raspberry pi using the ip address of the ethernet interface.

Voila! You are connected to your raspberry via usb using ssh! This method wouldn't provide a GUI but you are good to go using CLI.