I’d like to try using my voice as an input to my Pico. I think I should be able to define a pair of one-word voice commands, and train a Tensor Flow Lite Micro for Pico model on them.

What I can’t figure out is if I can connect a microphone to the Pico. I hope it might be possible to connect a small mic through the ADC GPIO pins, but I’m uncertain and my research has no conclusive answer, one way or the other.

Any thoughts on viability, or suggestions for making it a reality, would be much appreciated. Thanks in advance

  • 1
    I think this sort of question would be more appropriate on the raspberrypi.org/forums
    – joan
    Apr 18 '21 at 21:08
  • 1
    I would look at using a MEMS microphone with a digital output, rather than struggle with analogue input. I believe that it has already been done and documented. Save analogue input for signals with low dynamic range.
    – Mick
    Apr 19 '21 at 3:42
  • did you manage to connect a microphone to the pi?
    – user17915
    Aug 31 '21 at 5:50

Yes, you can actually hook up an analog electret mic and use Pi Pico's inbuilt ADC to convert to Digital values. Then you need to convert those PCM values to suitable PDM values which can be fed into the feature provider.

Because it has DMA, no CPU cycles are wasted to access mic data from ADC. I read somewhere that we can sample up to 0.5 MHz using the built-in ADC !! a lot more than we need - 16khz.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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