Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Apple USB C to 3.5 mm on the Raspberry Pi
Achieve iPhone-level audio quality on your Raspberry Pi under $15 using the Apple USB-C to 3.5 mm Headphone Jack Adapter.
The iPad Pro 2018 lost its 3.5 mm audio jack but gained the USB-C port. Clearly, wireless is the future, but there are applications where it is more practical to use a 3.5 mm jack. To cater to those use cases, Apple started selling a USB-C to 3.5 mm audio jack converter for the price of only $9.
I got one of these adapters myself and have been testing it in the past week. I used the adapter on multiple OSes (including Windows 10, OSX and Raspbian), and am happy to report it worked perfectly in all cases without needing any additional drivers. As it turns out, the Apple USB-C headphone jack adapter is actually a USB 2.0 device. With the right adapter, you can use it on devices with only USB 2.0, and this includes the Raspberry Pi.
I got the UGREEN USB-C to USB-A adapter from Amazon myself but any other brand should work.
Plugging it into my Raspberry Pi
It was picked up by Raspbian automatically.
pi@raspberrypi:~ $ cat /proc/asound/cards 0 [ALSA ]: bcm2835_alsa - bcm2835 ALSA bcm2835 ALSA 1 [A ]: USB-Audio - USB-C to 3.5mm Headphone Jack A Apple, Inc. USB-C to 3.5mm Headphone Jack A at usb-3f980000.usb-1.5, full speed
And I was able to control it using amixer just like the default analog audio output.
pi@raspberrypi:~ $ amixer -c 1 sset 'Headset',1 75% Simple mixer control 'Headset',1 Capabilities: pvolume pswitch pswitch-joined Playback channels: Front Left - Front Right Limits: Playback 0 - 120 Mono: Front Left: Playback 90 [75%] [-15.00dB] [on] Front Right: Playback 90 [75%] [-15.00dB] [on]
Audio-quality wise, it is a significant upgrade from the Raspberry Pi's built-in audio DAC and sounds pretty much identical to my iOS devices. If you are using your Raspberry Pi in an application where the audio quality matters (eg: Airplay servers), I would highly recommend using the Apple USB-C audio adapter on your Pi.