Mico: A PDM to USB Microphone Based on the Raspberry Pi RP2040
electronut.in
electronut.in
MEMS microphone used here is mp23db01hp
https://www.st.com/en/mems-and-sensors/mp23db01hp.html
and it looks like better than ICS 43434 that I stumbled on before
https://invensense.tdk.com/wp-content/uploads/2016/02/DS-000...
For theory about how microphone works and performs interesting read is
https://www.analog.com/en/analog-dialogue/articles/understan...
Here's the highest performing one today: https://www.digikey.com/en/products/detail/tdk-invensense/IC...
NoiseTorch detects speech and mutes the mic when you aren't speaking. I had tried Hushboard, which mutes the mic when you are typing, but sometimes I talk when I type. ReSpeaker is a microphone array, and it has a speaker output and can do noise cancelling on the mic from what is sent to the speaker. It was about $60.
https://www.seeedstudio.com/ReSpeaker-USB-Mic-Array-p-4247.h... https://github.com/lawl/NoiseTorch https://www.kryogenix.org/code/hushboard/
Microphones on computers can be such a source of pain - maybe not quite such a nightmare as printers, but it seems like you can never get them to work reliably for any period of time. I'd be willing to pay in an instant if I knew it would save me the hassle!
I’m curious if one could design a usb type A plug/port that is reversible such that the PDM is always facing up. I know there are some flexible/thin pcb that allow for this, although not sure how robust that design is (otherwise I’d assume we’d never have to worry about rotating the USB cable three times before getting it right side up. Maybe I just described usb type C :))
By contrast, the ESP8266 is not designed to be a USB peripheral. Usually it's used with a USB-to-serial converter when you need to connect it to a host computer. This allows, well, serial transfers. It can't appear to a host computer as an audio source. There might be ways to do it, such as bit banged USB or custom drivers on the host computer that treat a serial port as an audio source, but by using a microcontroller with built in USB support, a lot of headaches can be avoided.
If you are particularly "into" the Espressif ecosystem, the ESP32-S2 and ESP32-S3 microcontrollers both have native USB support which would make them potential candidates for a similar project.
A cortex-a part with QSPI/octSPI interface would be nice. I vaguely remember something, but I can not find it again.
Really happy to see now your project, I'm only wondering how to had one of that.
The PCBs can be ordered dirt cheap at Chinese shops like JCPCB. They are associated with LCSC, a cheap component supplier of Digikey, that also provides the RP2040 microcontroller (though currently out of stock, as expected with today’s supply chain.) They even provide cheap PCB assembly services.
It’s like pedantically correcting somebody that Acer isn’t a monitor maker because their monitors are produced by an ODM like Qisda…
2) What is the source of this information? (honest question)
Traditional SMT houses usually have very rigid and expensive processes on setting up their Pick&Place machines, so giving them JLCPCB heterogeneous volume would not necessarily yield their interest.