Good USB dongle microphones are practical, but rare or expensive in good quality. This could change with the open source and open hardware microphone Mico. Mahesh Venkitachalam developed an I.2S-USB microphone based on the RP2040 chip, known from the Raspberry Pico. The microphone is cheap, good quality, and the blueprints are completely open source.
Mahesh Venkitachalam was looking for a good and small USB microphone dongle for future audio and machine learning projects on the Raspberry Pi. To a project with I2S-Microphones disappointed him but the quality of the devices offered, which use extremely cheap microphones. So he decided to design his own I.2S-USB mics. A search for USB-2-I2S-Chips initially only brought to light chips that were either already outdated, difficult to obtain or associated with extreme development costs.
Like almost everyone, Mahesh had of course already tried the Raspberry Pico, so the idea of using the RP2040 chip was obvious. Indeed, using the one from the RP2040 TinyUSB supports audio and there is one Microphone Library for Pico by Sandeep Mistry, the firmware was almost complete and the idea for Mico was born. The RP2040 is readily available, well documented by the manufacturer and the community and also affordable in individual pieces.
Due to the relatively large RP2040 chip and the use of a standard USB Type-A connector, the design was mechanically somewhat larger than the commercially available variants, but it could also be manufactured in a stable and cost-effective manner. The RP2040 only needs a few external components such as a flash chip, crystal and voltage regulator: This way, the circuit diagram remained clear.
The microphone was a MP23DB01HPTR selected by STM, which is already supported by the library, has good values and is available. This microphone is equipped with a MEMS sensor (Micro-Electro-Mechanical System) and is used in smartphones, laptops and the like.
The result was a circuit board layout that worked straight away and is now available to everyone GitHub is available. This project re-established Mahesh’s view of the powerful open source and hardware community. At the moment only USB audio and a PIO program is running on the hardware, which makes the LED blink when recording, but the RP2040 has enough power to do some audio processing. One Tensor Flow Lite Library already exists and can, for example, react to wake words (such as “Hey Google” or “Alexa”).