I am attempting to do some real-time audio processing using the Pi Pico. I know that a MEMS microphone can be connected and used for this purpose (see here and here). However, I need to use an analog microphone that runs through an XLR cable to an ADC preamp and out into a USB format. Is connecting this to the Pi Pico possible and how could I go about this? Could I skip the preamp and connect the mic directly to the ADC pins of the Pi Pico? Or is there some expansion board that would support connecting a USB mic directly to the Pico? Bonus if you could help me understand how I2S would fit into this picture, if at all. Thanks!

  • 2
    You need USB host code to handle USB devices, maybe github.com/hathach/tinyusb. The signal level of a mic is probably too low for an ADC pin. I think you would need an analog preamp. (Some protective circuitry for your input pins is also recommended.)
    – Bodo
    Nov 21, 2022 at 15:36
  • 1
    This might help: Create a USB Microphone with the Raspberry Pi Pico - Sandeep Mistry 2021may20 hackster.io/sandeep-mistry/…
    – tlfong01
    Nov 22, 2022 at 3:04
  • 1
    Thanks. I read through this page, but it is specifically about connecting analog and PDM mics to the Pico and transferring that data using USB, whereas I would like the Pico to itself accept a USB input. I think this is the concept of USB host referenced in the top comment.
    – fishfinder
    Nov 22, 2022 at 16:19
  • Or this might help: How to use Rpi python to control PCM1802 24-bit HiFi stereo ADC and MAX4466 microphone amplifier, Asked 2 years, 10 months ago Modified 1 year, 8 months ago Viewed 3k times raspberrypi.stackexchange.com/questions/107778/…
    – tlfong01
    Nov 23, 2022 at 6:56

1 Answer 1


So you would need to be a USB host and support UAC2. The driver that the raspberry pi pico has is tiny USB and that currently doesn't support UAC2 in host mode. You can be a device, so you could be a mic. But there's not drivers to have a usb mic connect to the raspberry pi pico currently.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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