mkvenkit / mico

Open Source PDM to USB microphone based on the Raspberry PI RP2040.
MIT License
195 stars 20 forks source link

Smaller version with lower consumption? #5

Open dumblob opened 2 years ago

dumblob commented 2 years ago

Just noticed this on Crowdsupply. Very nice, thanks!

This sound like something I've been looking for during the last few years. With the exception of power consumption and size.

My needs could be summarized as:

  1. high sound quality and wider frequence range than mainstream digital mics
  2. two or more digital microphones (probably on some flex PCBs of 15-20 cm length; all such flex PCBs probably detachable but not necessarily so)
  3. very small size (width of a micro USB connector is kind of the threshold assuming max length of a "master" PCB would be 2-2.5 cm - maybe there is a way to make an edge of a PCB into a USB-C male connector like it's being done with USB-A, IDK)
  4. very low consumption - I was thinking of using some embedded USB aka eUSB2 (see What is eUSB2?) codec chip routed to both an on-PCB eUSB<->USB conversion circuit and to some breakout vias with the possibility to desolder/cut the power wire to the conversion chip by the end user to allow only the eUSB connection and save power

I wonder what do you think about such microphone(s)?

mahesh-electronut commented 2 years ago

Just noticed this on Crowdsupply. Very nice, thanks!

Thanks!

  1. high sound quality and wider frequence range than mainstream digital mics

You may want to look into the AudioMoth project. They use an analog MEMs mic and support a huge frequency range:

https://www.openacousticdevices.info/audiomoth

  1. two or more digital microphones (probably on some flex PCBs of 15-20 cm length; all such flex PCBs probably detachable but not necessarily so)

That's doable with the RP2040.

  1. very small size (width of a micro USB connector is kind of the threshold assuming max length of a "master" PCB would be 2-2.5 cm - maybe there is a way to make an edge of a PCB into a USB-C male connector like it's being done with USB-A, IDK)

The RP2040 footprint is quite small on the Mico. You can make it more compact by going for a double-sided PCB at a larger cost and using tinier packages for passives and the crystal.

  1. very low consumption - I was thinking of using some embedded USB aka eUSB2 (see What is eUSB2?) codec chip routed to both an on-PCB eUSB<->USB conversion circuit and to some breakout vias with the possibility to desolder/cut the power wire to the conversion chip by the end user to allow only the eUSB connection and save power

You need to quantify what you mean by "very low". The design considerations will come after that.

dumblob commented 2 years ago

Thanks for the pointers regarding size - sounds promising!

You need to quantify what you mean by "very low". The design considerations will come after that.

Ideally max 35mA during recording from 2 mics and streaming the data to a host (i.e. including all the USB bus losses at 1ms polling rate, the MCU etc.). I think I'd accept if it was 40-45 mA under certain conditions (especially if I got these savings on the host itself where there is not much left as it's about 20mA now and it needs to run Linux).

Do you think this is achievable with ordinary USB without eUSB?

dumblob commented 2 years ago
  1. two or more digital microphones (probably on some flex PCBs of 15-20 cm length; all such flex PCBs probably detachable but not necessarily so)

That's doable with the RP2040.

Btw. here I don't care if it'd behave as one stereo mic or two separate mono mics at the USB host. I think though one stereo mic would be easier to implement and have lower power consumption than two mono mics.

dumblob commented 2 years ago

ping