UM1900
User manual
Getting started with the digital MEMS microphone expansion
board based on MP34DT01-M for STM32 Nucleo

Introduction
The X-NUCLEO-CCA02M1 is an evaluation board based on digital MEMS microphones. It is compatible
with the Morpho connector layout and is designed around STMicroelectronics MP34DT01-M digital
microphones. It has two microphones soldered on board and it is compatible with digital microphone
coupon boards such as STEVAL-MKI129Vx and STEVAL-MKI155Vx. The X-NUCLEO-CCA02M1
allows synchronized acquisition and streaming of up to four microphones through peripherals I²S, SPI orDFSDM. It represents a quick and easy solution for the development of microphone-based applications,as well as a starting point for audio algorithm implementation.

Figure 1: X-NUCLEO-CCA02M1 evaluation board

May 2017

DocID027905 Rev 4

1/20
www.st.com

Contents

UM1900Contents1

2

Getting started ................................................................................. 5
1.1

Hardware requirements ..................................................................... 5

1.2

System requirements ........................................................................ 5

Hardware description ...................................................................... 7
2.1

USB connector and power source ..................................................... 7

2.2

Audio acquisition strategy ................................................................. 8

2.3

2.2.1

DFSDM microphone acquisition ......................................................... 8

2.2.2

I²S and SPI microphone acquisition ................................................... 8

Solder bridge configurations.............................................................. 9
2.3.1

Solder bridge roles ............................................................................. 9

2.3.2

Sample use cases ............................................................................ 10

3

Nucleo 144 support ....................................................................... 14

4

Connectors .................................................................................... 15

5

Board schematics.......................................................................... 16

6
7

Layout ............................................................................................ 18
Revision history ............................................................................ 19

2/20

DocID027905 Rev 4

UM1900

List of tables

List of tables
Table 1: Solder bridge description .............................................................................................................. 9
Table 2: Solder bridge configuration for 1 or 2 microphone acquisition ................................................... 10
Table 3: Solder bridge configuration for 4 microphone acquisition .......................................................... 11
Table 4: Solder bridge configuration for 1 microphone acquisition .......................................................... 11
Table 5: Solder bridge configuration for 2 microphone acquisition .......................................................... 12
Table 6: Solder bridge configuration for 4 microphone acquisition .......................................................... 13
Table 7: ST morpho connector table ........................................................................................................ 15
Table 8: Arduino connector table .............................................................................................................. 15
Table 9: Document revision history .......................................................................................................... 19

DocID027905 Rev 4

3/20

List of figures

UM1900

List of figures
Figure 1: X-NUCLEO-CCA02M1 evaluation board .................................................................................... 1
Figure 2: X-NUCLEO-CCA02M1 on STM32 Nucleo board ........................................................................ 5
Figure 3: Connection with STEVAL-MKI155V1 .......................................................................................... 7
Figure 4: General acquisition strategy using I²S and SPI ........................................................................... 9
Figure 5: Board schematic (Part 1) ........................................................................................................... 16
Figure 6: Board schematic (Part 2) ........................................................................................................... 16
Figure 7: Board schematic (Part 3) ........................................................................................................... 17
Figure 8: Board schematic (Part 4) ........................................................................................................... 17
Figure 9: Top layout .................................................................................................................................. 18
Figure 10: Bottom layout ........................................................................................................................... 18

4/20

DocID027905 Rev 4

UM1900

1

Getting started

Getting started
This section describes the hardware requirements for the X-NUCLEO-CCA02M1
evaluation board.

1.1

Hardware requirements
The X-NUCLEO-CCA02M1 is an expansion board for use with STM32 Nucleo boards(refer to UM1724 on www.st.com for further information).
The STM32 Nucleo board must be connected to the X-NUCLEO-CCA02M1 board, as
shown below.
Figure 2: X-NUCLEO-CCA02M1 on STM32 Nucleo board

The connection between the STM32 Nucleo and the X-NUCLEO-CCA02M1 is designed foruse with any STM32 Nucleo board. When mounting the X-NUCLEO-CCA02M1 on the
STM32 Nucleo, ensure that all the pins are aligned with their corresponding connector. It isvery important to handle both boards carefully during this operation to avoid damaging or
bending the male/female pins and connectors.
ESD prevention measures must also be implemented to avoid damaging any X-NUCLEOCCA02M1 board components.

1.2

System requirements
Using the Nucleo boards with the X-NUCLEO-CCA02M1 expansion board requires thefollowing software and hardware:a Windows® (XP, Vista, 7, 8) PC for the software

DocID027905 Rev 4

5/20

Getting started


UM1900a USB type A to Mini-B USB cable to connect the Nucleo to the PC for installation of
the board firmware package (order code: X-CUBE-MEMSMIC1); a utility running on
the user's PC will complete the demo.

The user PC must have the following characteristics:



6/20

at least 128 MB of RAM
40 MB of available hard disk space for the X-CUBE-MEMSMIC1 firmware package
and relative documentation, available on www.st.com.

DocID027905 Rev 4

UM1900

2

Hardware description

Hardware description
The board allows the user to test the function of the STMicroelectronics MEMS
microphones. For this purpose, two MP34DT01-M digital MEMS microphone are mounted
on the board and 6 headers (4 mounted with 2 additional footprints) are available forconnecting additional microphones using digital microphone coupon boards (STEVALMKI129Vx or STEVAL-MKI155Vx), for further information refer to www.st.com.
The connection between the X-NUCLEO-CCA02M1 and the STEVAL-MKI155V1 is shownin Figure 3: "Connection with STEVAL-MKI155V1".
The board interfaces with the STM32 Nucleo microcontrollers via the I²S, SPI or DFSDM
peripherals for the synchronized acquisition of up to 4 microphones. The board also
provides USB streaming using the STM32 Nucleo microcontroller USB peripheral; for thispurpose, a USB connector is available as well as the footprint to mount a dedicatedoscillator that can be used to feed the host MCU through the OSC_IN pin.
Solder bridges are used in order to choose from different options, depending on thenumber of microphones and the MCU peripherals involved.
Figure 3: Connection with STEVAL-MKI155V1

2.1

USB connector and power source
A USB connector available on the board supports audio streaming to the host PC. It canalso be used to power the whole system , including the STM32 Nucleo board. To enablesystem power sourcing from the X-NUCLEO-CCA02M1 expansion board USB connector:close Jumper J1 on the X-NUCLEO-CCA02M1 expansion board
place JP5 in position E5 on the STM32 Nucleo board

DocID027905 Rev 4

7/20

Hardware description

2.2

UM1900

Audio acquisition strategy
A digital MEMS microphone can be acquired via different peripherals, such as SPI, I²S,GPIO or DFSDM. It requires an input clock and it outputs a PDM stream at the same
frequency of the input clock. This PDM stream is further filtered and decimated forconversion into PCM standard for audio transmission.
Two different digital MEMS microphones can be connected on the same data line,
configuring the first to generate valid data on the rising edge of the clock and the other on
the falling edge, by setting the L/R pin of each microphone accordingly. On the XNUCLEO-CCA02M1 expansion board, two microphones share the same data line and canbe managed differently, depending on the MCU capabilities.
If a digital filter for sigma delta modulators (DFSDM) peripheral is available, themicrophones can be routed to DFSDM channels, otherwise use the I²S peripheral for the
first and the second microphone and the SPI peripheral for the third and the fourth.

2.2.1

DFSDM microphone acquisition
The DFSDM peripheral generates the precise clock needed by the microphones and reads
the data on the rising and falling edges of each PDM line. Acquired signals are then input
to DSFDM filters for hardware filtering and decimation to generate standard PCM streams.
An additional software high pass filtering stage removes any DC offset in the output
stream. DMA is used to reduce MCU load.

2.2.2

I²S and SPI microphone acquisition
In this scenario, a precise clock signal is generated by the I²S peripheral while the SPI is
configured in slave mode and is fed by the same timing signal generated by I²S. This clockis then halved by a timer and input to the microphones. The SPI and I²S peripherals
operate at twice the microphone frequency to read the data on both the rising and fallingedges of the microphone clock, thus reading the bits of two microphones each.
A software demuxing step separates the signal from the two microphones and allows
further processing like PDM-to-PCMa conversion.

a For further information regarding MEMS microphone and PDM-to-PCM decimation, please refer to applicationnote AN3998 on www.st.com.

8/20

DocID027905 Rev 4

UM1900

Hardware description
Figure 4: General acquisition strategy using I²S and SPI

For single microphone acquisition, the correct microphone timer is generated directly by I²S
and one single microphone data line is read by the same peripheral.

2.3

Solder bridge configurations
Various board configurations are possible, depending on the use cases. MEMS
microphones can be plugged into ST morpho pins, and thus to MCU peripherals, withappropriate solder bridges. Clock routing can also be changed according to specific needs.

2.3.1

Solder bridge roles
The table below lists the solder bridge functions with respect to audio acquisition strategies.
Table 1: Solder bridge description
Function

Solder Bridge

Connects USB DM pin from connector to MCU

SB1Connects USB DP pin from connector to MCU

SB2Routes onboard oscillator output to OSC_IN MCU pin

SB6Connect MEMS clock to MCU timer output channel

SB7

Routes I²S clock to SPI clock

SB8

Merges onboard microphone PDMs in order to be acquired with 1 interface

SB9

Connects MIC34 PDM to MCU SPI

SB10Connects MIC12 PDM to MCU I2S

SB11

DocID027905 Rev 4

9/20

Hardware description

UM1900Function

2.3.2

Solder Bridge

Clock from the DFSDM peripheral

SB12

I2S clock from MCU

SB13Connects I²S clock directly to MIC clock without passing through timer

SB14

Connect I²S clock to MCU timer input channel

SB15

Connects MIC12 PDM to MCU DFSDM

SB16Connects MIC34 PDM to MCU DFSDM

SB17

Sample use cases
In this section, we analyze specific use cases together with the corresponding solder bridge
configurations. Custom setups are also possible for ad-hoc functionalities.
SB1, SB2, SB6 are reserved for the USB or Oscillator pins and are not part of theaudio acquisition process.

These configurations depend on the acquisition peripherals involved.

2.3.2.1

Jumper settings for DFSDM-based systems
1 or 2 microphone acquisition
The clock is generated by DFSDM peripheral and the PDM line of the first and second
microphone is routed to the MCU.
Table 2: Solder bridge configuration for 1 or 2 microphone acquisition

10/20

SB

Status

SB7

Open

SB8

Open

SB9

Open/Close

SB10

Open

SB11

Open

SB12

Close

SB13

Open

SB14

Open

SB15

Open

SB16

Close

SB17

Open

SB18

Open

SB19

Open

SB20

Open

SB21

Open

DocID027905 Rev 4

UM1900

Hardware description
In addition, J2 must be placed in position 1-2 for on-board microphone acquisition or 2-3
when using an external microphone while J3 must be left open. When acquiring on-board
microphones, close SB9 to acquire both of them.

4 microphone acquisition
In this case, the PDM line of the third and fourth microphone is also routed to the MCU.
Table 3: Solder bridge configuration for 4 microphone acquisition
SB

Status

SB7

Open

SB8

Open

SB9

Open

SB10

Open

SB11

Open

SB12

Close

SB13

Open

SB14

Open

SB15

Open

SB16

Close

SB17

Close

SB18

Open

SB19

Open

SB20

Open

SB21

Open

In addition, J2 and J3 must be placed in position 2-3 for external microphone acquisition.

2.3.2.2

Jumper settings for I²S-plus-SPI-based systems
1 microphone acquisition
The I²S peripheral is used directly to give the right clock to the microphone and thus
acquires the same microphone.
Table 4: Solder bridge configuration for 1 microphone acquisition
SB

Status

SB7

Open

SB8

Open

SB9

Open

SB10

Open

SB11

Close

SB12

Open

SB13

Close

SB14

Close

DocID027905 Rev 4

11/20

Hardware description

UM1900SB

Status

SB15

Open

SB16

Open

SB17

Open

SB18

Open

SB19

Open

SB20

Open

SB21

Open

In addition, J2 must be placed in position 1-2 for on-board microphone acquisition or 2-3
when using an external microphone, while J3 must be left open. If using external
microphones, do not plug anything in M2_EXT header.

2 microphone acquisition
In this case, the I²S peripheral is used to generate twice the frequency needed by the
microphones. In this scenario, the clock is then halved by the timer and routed to themicrophones to give them the right clock. I²S therefore reads values from both edges of themerged PDM lines.
Table 5: Solder bridge configuration for 2 microphone acquisition
SB

Status

SB7

Close

SB8

Open

SB9

Open /Close

SB10

Open

SB11

Close

SB12

Open

SB13

Close

SB14

Open

SB15

Close

SB16

Open

SB17

Open

SB18

Open

SB19

Open

SB20

Open

SB21

Open

In addition, J2 must be placed in position 1-2 for on-board microphone acquisition or 2-3
when using external microphones, while J3 must be left open. When acquiring on-board
microphones, close SB9 to acquire both of them.

12/20

DocID027905 Rev 4

UM1900

Hardware description
4 external microphone acquisition
In this case, the I²S peripheral is used to generate a clock frequency that is twice thefrequency needed by the microphones, and SPI is configured in slave mode in order to use
such timing. As in the previous case, the clock is then halved by the timer and routed to themicrophones to give the right clock. I²S and SPI read values from both the edges of themerged PDM lines. For this use case you need the following SB configuration:
Table 6: Solder bridge configuration for 4 microphone acquisition
SB

Status

SB7

Close

SB8

Close

SB9

Open

SB10

Close

SB11

Close

SB12

Open

SB13

Close

SB14

Open

SB15

Close

SB16

Open

SB17

Open

SB18

Open

SB19

Open

SB20

Open

SB21

Open

In addition, J2 and J3 must be placed in position 2-3 for external microphone acquisition.
Other configurations are available, based on the MCU used.

When acquiring 4 microphones using an STM32 F746Nucleo-144 development
board, JP6 jumper on the board must be opened.

DocID027905 Rev 4

13/20

Nucleo 144 support

3

UM1900

Nucleo 144 support
In order to accept Nucleo-144 boards, morpho header connectors must be soldered on therelevant footprint available on the Nucleo.
You only need a pair of 2 x 38 pin stripline connectors for the expansion board;
you don't need to solder the whole 2 x 80 pin header.

14/20

DocID027905 Rev 4

UM1900

4

Connectors

Connectors
The pin assignments for the Arduino UNO R3 and the ST morpho connectors are shown in
Table 7: "ST morpho connector table" and Table 8: "Arduino connector table" respectively.
Table 7: ST morpho connector table
Connector

CN7

CN10

Pin

SignalRemarks

1

MIC_CLKx2

If SB20 is closed

3

MIC_PDM34

If SB20 is closed

6

E5V

12

3V3

16

3V3

18

5V

20

GND

22

GND

24

V_IN

29

OSC_CLK_OUT

If SB6 is closed

35

MIC_CLK_NUCLEO

If SB12 is closed

11

MIC_CLKx2

If SB8 is closed

12

OTG_FS_DP_NUCLEO

If SB1 is closed

14

OTG_FS_DM_NUCLEO

If SB2 is closed

15

MIC_PDM34

If SB10 is closed

25

MIC_PDM34

If SB17 is closed

26

MIC_PDM12

If SB11 is closed

27

MIC_CLKx2

If SB15 is closed

28

MIC_PDM12

If SB16 is closed

29

MIC_CLK_NUCLEO

If SB7 is closed

30

MIC_CLKx2

If SB13 is closed

Table 8: Arduino connector table
Connector

CN6

CN5

CN9

Pin

Signal

2

3V3

4

3V3

Remarks

5

5V

6

GND

7

GND

8

V_IN

6

MIC_CLKx2

If SB8 is closed

4

MIC_PDM34

If SB10 is closed

7

MIC_PDM34

If SB17 is closed

6

MIC_CLKx2

If SB15 is closed

5

MIC_CLK_NUCLEO

If SB7 is closed

DocID027905 Rev 4

15/20

Board schematics

5

UM1900Board schematics
Figure 5: Board schematic (Part 1)

Figure 6: Board schematic (Part 2)

16/20

DocID027905 Rev 4

UM1900

Board schematics
Figure 7: Board schematic (Part 3)

Figure 8: Board schematic (Part 4)

DocID027905 Rev 4

17/20

Layout

6

UM1900LayoutFigure 9: Top layout

Figure 10: Bottom layout

18/20

DocID027905 Rev 4

UM1900

7

Revision history

Revision history
Table 9: Document revision history
Date

Revision

Changes

28-May-2015

1

Initial release.

28-Jan-2016

2

Minor text edits throughout document.
Updated Section "Introduction".
Updated Section 3.3: "Audio acquisition strategy".
Updated Section 3.4: "Solder bridge configurations".

14-Jul-20163

Added Section 4: "Nucleo 144 support".

09-May-2017

4

Updated Section 2.3.2.2: "Jumper settings for I²S-plus-SPI-based
systems".

DocID027905 Rev 4

19/20

UM1900
IMPORTANT NOTICE – PLEASE READ CAREFULLYSTMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, andimprovements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST
products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of orderacknowledgement.

Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or thedesign of Purchasers’ products.

No license, express or implied, to any intellectual property right is granted by ST herein.

Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.

ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners.

Information in this document supersedes and replaces information previously supplied in any prior versions of this document.

© 2017 STMicroelectronics – All rights reserved

20/20

DocID027905 Rev 4