Not what the author is doing here, but you can also connect them over standard Ethernet. Any standard USB-C to Ethernet adapter will work with the iPad automatically.
Came as a surprise to me a few years ago when I first ran a that it.
It's so convenient to have USB-c power, audio, storage & network on a single cable. iPadOS can't detect headphones that are unplugged from 3.5mm audio jack on a dock, so it's better to connect headphones to dock via USB, to enable quick switch to speakers. There are right-angle and U/180 degree USB-c adapters to keep the cable out of the way.
Anyone with a USB-c iPad requires USB-c DAC to connect headphones, with or without a dock. Docks can include 3.5mm audio jack and/or USB-c port. iPadOS software response to physical disconnection of headphone cable varies between 3.5mm audio jack or USB-c DAC. If 3.5mm is unplugged from either DAC or dock, iPadOS will continue to suppress on-board speakers.
Android apparently (AFAIK, still) uses a poorly crafted regex to identify ethernet adapters, so most usb ethernet adapters don't work on Android, despite having drivers, etc.
Nice article on how to configure a RasPi into USB Ethernet gadget mode… doesn't really have anything to do with iPads. I guess it's good to know it works with iPads? It'll also work with Android devices, and plain old PCs… anything that accepts USB CDC Ethernet…
This article doesn't really focus on the details of the power, but I'll mention that the power requirements of Raspberry Pi 5 are a bit weird and this can have some implications when powering one from a limited current source.
Ideally the Pi5 wants 5V@5A, which is out of the capabilities of almost every USB PD supply and certainly not something that any iPad or any other computer can supply directly.
By default the firmware is configured for a 15W power budget so normally will work fine with a 5V@3A.
Only Thunderbolt iPads can supply this 15W; older USB-C ipads are limited to 7.5W and should not be used in this application without a power splitter. Pi zero 2W or similar would be a better fit if anyone wants to do this on older iPads or any other tablet that has limites current source capability.
Also this entire process probably also applies on lightning iOS devices using the camera connection kit and a power splitter as lightning can only source a couple of watts.
In case you're like me and were wondering how IP addresses are being assigned, apparently the NetworkManager's 'shared' IPv4 method starts dnsmasq, which acts as a DHCP server.
(It also enables masquerading (NAT) and IP forwarding, but of course that's not relevant in this context.)
This is super cool! The only down side I see is that USB inherently is less stable than ethernet I think. You more easily get USB disconnects, when that happens how would you fix it? Normally this involves a power cycle, or often more than a power cycle as the power has to disappear on the USB.
My potential use case however was pi to pi for remote deployed locations, likely battery for wildlife use cases.
This is kind of the best way to do software development using an iPad. You can SSH or VNC into the Pi and then use all the tools available to the system. I've thought more than once about gluing a Pi to the back of my iPad so I can just take one device on longer travels and not have to take the iPad and the Mac (reason for the bringing the iPad is that all big streaming services typically have an iPad app that allows downloads, but no macOS app. I like having downloads for no / bad wifi situations).
While I like the iPad's screen (pretty great for reading pdfs), I'd much prefer something like the Starlite [0] for a more versatile usage. The iPad has nice app, but they're too constrained both by the platform and Apple's policy.
This looks great but god I cringe anytime I seed micro-HDMI being used for anything but a case study of a pointless, terrible port. I’d rather not have any display-out at all vs a port that is probably going to fail right when I need it to, if I can remember the stupid adapter.
Should’ve just been another USB-C port. Let me break it out to what I need, since I’m gonna need a dongle anyways.
I bought one of those for this reason. I really like starlabs and want to support them, but the keyboard cover for that device is .. not great. If it had a keyboard similar to the apple ipad keyboard (the expensive one with backlighting - I forget their name for it), the starlite would be a much more compelling device. At this point mine just sits in a desk drawer and may find its way to eBay.
I don’t have much hope for these types of keyboards and for the price of a Magic Keyboard, i’d prefer a better keyboard (not a high bar there) and some kind of stand even though a bit more cumbersome.
Pretty interesting. The Turtlebot 4 educational robot also uses this approach to power/ethernet interface the Pi 4 and the microROS controllers that run on the roomba. Before seeing that a while back I would've never imagined it possible.
Ha yes, definitely better in that regard. Also they now have a lidar too so navigation is trivial, but the M0 controllers and the Pi 4 are all really underpowered for ROS 2 so... there are still various issues lol.
I don't really get the iPad + RPi combo. I see it a lot, but why not simply run a web server on the iPad itself? Do that many people use the Pi's GPIO pins in combination with web dev?
I should have been more specific. I mean user-friendly in the sense that I give my RPi to a family member, they take it home, attach it to their iPad and open the web-page.
Raspberrypi.local normally works; (using the bonjour/avahi protocol for local DNS on both sides, which is set up by default on raspbian). Might be more tricky to get a proper certificate for https
As one-time-setup you’ll need to serve the ROOTCA.pem from the Pi and download and install it on the iPad, but once you’ve done this once, any certs you generate on the Pi will be accepted by the iPad.
mkcert has enabled so many crazy setups and workflows for me over the years, it’s truly fantastic.