UMA-16 USB mic array

16 channels Low cost USB microphone array, Uniform Rectangular Array (URA), 16 x raw audio ASIO driver, perfect for a DIY acoustic camera, USB to PDM interface for up to 16 x MEMS Array
275 USD
  • Description
  • Specifications
  • Support
  • Application Notes
  • Reviews

Written by
UMA-16 USB mic array
40 100 1

UMA-16 USB mic array

UMA-16 USB mic array : 16 channels Low cost USB microphone array, Uniform Rectangular Array (URA), 16 x raw audio ASIO driver, perfect for a DIY acoustic camera, USB to PDM interface for up to 16 x MEMS.
USD275.00 InStock Customer Support
USB Audio Streaming

The UMA-16 is a high-performance yet low cost 16 channel USB microphone array with plug&play USB audio connectivity. With its onboard SHARC+XMOS controller board, the UMA-16 is the perfect fit for development of beamforming algorithms or DIY acoustic camera. Its system architecture consists of two core elements:

- The microphone array PCB has 16 x SPH1668LM4H MEMS Knowles laid out in a Uniform Rectangular Array (URA). A center hole fits an optional USB camera for applications such as an acoustic camera. Being a simple 2layer PCN, one can easily customize his own array layout by following our schematics.

- At the helm of the UMA-16 operation is the nanoSharc kit. A 400MHz SHARC ADSP21489 + 500MHz multicore CPU providing substantial processing power for high SNR PDM to PCM conversion and multichannel low latency USB audio. The UMA-16 can also be used as a low cost USB to PDM mems board to acquire and convert audio for 3rd party MEMS. 

With the UMA-16, miniDSP makes high channel count microphone array processing very affordable and hopes to further technological advances for beamforming technology.


  • Multichannel USB microphone array for voice command
  • 16 channels of RAW audio for development of custom beamforming algorithms
  • High quality MEMS from Knowles SPH1668LM4H
  • USB to PDM conversion for up to 16 x PDM MEMS microphones
  • Center Hole for USB camera (Not provided)
  • Sample Matlab code to get started

Product Downloads

What's in the box?

  • 1 x UMA-16 USB microphone array interface
  • 1 x 1.5m USB miniUSB cable
  • 1 x 12V power supply with EU/UK/US plugs 
  • Access to the UserDownloads section for ASIO drivers/Firmware updates once the product purchased. 


Make sure to check out our Microphone array application notes for more details. 


Item Description
Digital Signal Processor 32-bit Floating point Analog Devices SHARC ADSP21489 / 400 MHz - Configuration locked
USB audio input XMOS Xcore200 asynchronous USB audio up to 192 kHz, USB Audio Class 2 compliant
  • ASIO drivers for Windows
  • Driverless for Mac OS X
PDM inputs Up to 16 x MEMS microphone connections (8 x stereo PDM data lines)
MEMS microphone 16 x SPH1668LM4H - Acoustic Overload @ 120dBSPL / High SNR of 65dB / RF shielded
ADC/DAC Sample rate & Resolution

Resolution: 24 bit

Sample rate:  14.7k/11.025k/12k/16k/22.05k/44.1k/48k

USB port USB port type Mini-B for audio streaming and firmware upgrade
Power supply 12 VDC single supply / Header input / 2.5W
Dimensions (H  x W x D) mm 132 x 195 x 25 mm
Mounting 4 x M3 holders for front panel mounting /  CAD drawings available on demand

The miniDSP UMA-16 & UMA-8 microphone arrays are low cost USB microphone arrays and the perfect fit for software developpers looking for a plug&play USB audio interface. Thanks to their RAW/Unprocessed audio multichannel capability, one can test/develop beamforming or AEC algorithms in a very short time within Matlab. In this app note we'll showcase an example on how to discover the UMA-16/UMA-8 within Matlab. For non commercial applications, we recommend Matlab Home (only 99USD at time of writing) as a very powerful & affordable solution to get started!

Important note: While this app note showcases how to discover the UMA-16 within Matlab environment, we'd like to highlight that our team will not be providing any tech support for custom Matlab applications. Please contact Matlab technical support/community. 

Why use the UMA-16 or UMA-8?[Top]

As a software/firmware or hardware engineer, building a microphone array that easily interfaces with your development environment isn't always straightforward. System design, schematics, layout, prototyping will seriously slowdown your ability to focus on what may matter the most: software and product development. That is actually the reason why miniDSP engineered the UMA-8 and UMA-16! As our team struggled ways to quickly develop proof of concepts for new mic arrangements, we built the UMA16. A two-board design with a brain (XMOS + SHARC doing PDM to PCM to USB conversion) and a low cost 2layer MEMS PCB stacked on top. Want to modify the arrangement? Sure, we've provided all schematics to get you started! 

UMA-16 with camera

Discovering the UMA-8/16 with Matlab[Top]

Plug the supplied USB cable into the miniUSB port on the UMA-16, and plug the other end into a spare USB port on your PC/Mac. Plug the 12V external power supply. 

Inside Matlab, you can define your recording interface using the device reader object. More info on this object can be found here. 

fs = 48000;
audioFrameLength = 1024;
deviceReader = audioDeviceReader(...
'Device', 'miniDSP ASIO Driver',...
'Driver', 'ASIO', ...
'SampleRate', fs, ...
'NumChannels', 16 ,...
'SamplesPerFrame', audioFrameLength);

Notice how the UMA-8/16 will be discovered as "miniDSP ASIO Driver". Make sure that you use ASIO for your definition as standard WDM recording object won't be working. 

That's all, you now have real time audio within your environment! Time to get started on your coding. :)


Some great links worth reading


To get you started in your development, here are few links to some great resources. Please send us more examples/comments so we can populate this list! 

While this example isn't 100% similar (linear vs rectangular/circular array), the concepts of live/recorded are very much applicable and could be a great starting point for your project. 

AudioArrayDOAEstimationExample 01

Similar to the above example, here is a great app note with examples on how to make use of the real time audio libraries within Matlab. 

audiostreamprocessing developmentworkflow 

A great starting point to understand how geometry will affect the performance of your array is ploting the Grating Lobe diagram showing the positions of the peaks of the narrowband array pattern. The array pattern depends only upon the geometry of the array and not upon the types of elements which make up the array. Visible and nonvisiblegrating lobes are displayed as open circles.

GratingLobeDiagramForURAExample 01

It's the structure of the UMA-16 so you may as well learn to use this toolbox! Check out examples here and do note that the indexing is different from the miniDSP channel assignment. 

fg ura arrayindexing

Wrapping up[Top]

That's it for this app note! Have fun, and please send us your feedback by contacting us on how we can improve this app note for future users! Hopefully an open source project will spring up from the community effort! 
Have fun! 

{loadposition related_product}

There are yet no reviews for this product.