MicArray 麦克风阵列
1. Summary#
Sipeed microphone array consists of six microphones along the board and a center microphone. The 12 leds on the array board can be used to visualize and identify the location of the sound source, which can be used to do the sound source localization experiment.
Get it:
2. Product figure#

Click me to download datasheet
Click me to download schematic
Click me to download Assembly_drawing
3. Introduction#
- MEMS microphone :7 MSM261S4030H0 make up the array
Click me to download datasheet of MSM261S4030H0 - Sensitivity : -26(dB,dBFS @1kHz 1Pa)
- Signal noise ratio : 57dB(20kHz bandwidth, A-weighted)
- Size :78.1*88.8mm
- LED :12 SK9822 LED make up the round led array
Click me to download datasheet of SK9822- Multiple leds are cascaded through dual signal lines
- 8 Bit(256 levels) for color adjustment,5 Bit(32 levels) for brightness adjustment
- Connector: Supports 2 x 5P 2.54mm terminals and a 10P 0.5mm FPC connector
4. Parameters#
Item | Parameter |
---|---|
Sound pressure level | 140 dB SPL |
Sensitivity | -26(dB,dBFS @1kHz 1Pa) |
Signal noise ratio | 57 dB (20kHz bandwidth,A-weighted) THD<1% (100dB SPL @1kHz S=Nom,Rload>2k ) |
Clock frequency | 1.0-4.0Mhz(Normal mode) 150-800khz(Low energy mode) |
5. Pin definition#
Pin number | Pin name | Type | Pin description |
---|---|---|---|
1 | VIN | VCC | Power input pin |
2 | GND | GND | Power ground pin |
3 | MIC_D0 | I/O | Serial data output from I²S interface of microphone 0 and microphone 1 |
4 | MIC_D1 | I/O | Serial data output from I²S interface of microphone 2 and microphone 3 |
5 | MIC_D2 | I/O | Serial data output from I²S interface of microphone 4 and microphone 5 |
6 | MIC_D3 | I/O | Serial data output from I²S interface of center microphone |
7 | MIC_WS | I/O | I²S interface serial data word selection |
8 | MIC_CK | I/O | I²S interface serial clock |
9 | LED_CK | I/O | LED serial clock |
10 | LED_DA | I/O | LED serial data |

6. Example code#
6.1. Connection#
Jumper Wire connection
Microphone array | Pins on development board | Parameter in code |
---|---|---|
VIN | 3.3v/5v | —— |
GND | GND | —— |
LED_CK | I/O Port | sk9822_clk |
LED_DA | I/O Port | sk9822_dat |
MIC_D0 | I/O Port | i2s_d0 |
MIC_D1 | I/O Port | i2s_d1 |
MIC_D2 | I/O Port | i2s_d2 |
MIC_D3 | I/O Port | i2s_d3 |
MIC_WS | I/O Port | i2s_ws |
MIC_CK | I/O Port | i2s_sclk |
Because of the FPIOA feature of K210, each peripheral can be mapped to any pin. Therefore, connect the I/O port
in the above table with the pins with digital identification on your board. Those with special identification such as GND are not the so-called digital identification pins. After connecting the pins, you can see the description of the pins in the code below.
6.2. Burn firmware#
Go to Download station to download firmware, download the default firmware described in Firmware naming instructions .
6.3. Micropython Code#
According to the pin number of your own connection, init(i2s_d0=23, i2s_d1=22, i2s_d2=21, i2s_d3=20, i2s_ws=19, i2s_sclk=18, sk9822_dat=24, sk9822_clk=25)
. For example, if the MIC_D0
on the microphone array is connected to the pin labeled 25 on the K210 board, then the corresponding parameter in this code needs to be changed to i2s_d0=25
, the other seven pins should be changed by the same way. Since configuration of everyone is different, there are no identical connection instructions for using jumper wires, modify the pin parameters individually, and don't forget to delete the comment before mic.init(...).
(just delete #
).
Make sure not use the pin which has been used for peripherals(Like camera pins or lcd pins should not bu used for this micarray pin), which will make amazing error.
6.4. C code#
6.4.1. SK9822 driver codes#
For reference only, source:github; It is recommended to copy the code to the computer local editor to view if analyzing the code.
sipeed_sk9822.c
6.4.2. Micarray code#
For reference only, source:github; It is recommended to copy the code to the computer local editor to view if analyzing the code.
7. Other information#
8. More Usage#
Go to bbs(Only Chinese) for more.
9. Question#
9.1. This error occurs#
Use other IO port.
Related Issues not found
Please login GitHub to create issue