User Manual for ST models including: STEVAL-MKI109V3 Professional MEMS Tool Motherboard, STEVAL-MKI109V3, Professional MEMS Tool Motherboard, MEMS Tool Motherboard, Tool Motherboard, Motherboard
File Info : application/pdf, 50 Pages, 13.21MB
DocumentDocumentUM2116 User manual STEVAL-MKI109V3 Professional MEMS Tool motherboard for MEMS adapter boards Introduction The STEVAL-MKI109V3 motherboard provides users with a complete, ready-to-use platform for the evaluation of STMicroelectronics MEMS products. It includes a high-performance 32-bit microcontroller which functions as a bridge between the sensors and a PC, on which you can download and run the graphical user interface (GUI) or dedicated software routines for customized applications. The board features a DIL24 socket to mount all available adapters for both digital and analog output MEMS devices. UM2116 - Rev 12 - May 2024 For further information contact your local STMicroelectronics sales office. www.st.com UM2116 Demonstration kit description 1 Demonstration kit description The Professional MEMS Tool is a complete demonstration kit for digital and analog MEMS sensors. Thanks to its DIL24 connector, a wide range of MEMS adapter boards can be used. Figure 1. Demonstration board block diagram The Professional MEMS Tool demonstration kit is based on the STM32F401VE microcontroller and can be connected to a PC via USB. Data from MEMS sensors connected to the board can be read through the PC GUI provided with the kit. The Professional MEMS Tool also implements the device firmware upgrade (DFU) feature, so it can be reprogrammed with a new firmware release without the need to use a programmer (see www.st.com/mems). The Professional MEMS Tool integrates: · Six LEDs: two LEDs connected via FET buffers to the interrupt pins of digital adapters a power/USB LED three general-purpose LEDs for firmware state indication · Three buttons: two user buttons on a dedicated GPIO of the microcontroller a microcontroller reset button All the MEMS adapter pins are available on board connectors J1 and J3. UM2116 - Rev 12 page 2/50 UM2116 Demonstration kit description Figure 2. Top silkscreen of the Professional MEMS Tool kit UM2116 - Rev 12 page 3/50 UM2116 Demonstration kit description Figure 3. Top view of Professional MEMS Tool kit Figure 3 highlights some of the main components on the top layer of the Professional MEMS Tool kit. 1. Button BT3 is used to reset the STM32. 2. Button BT2 connected to STM32 GPIOs and available to the user. To enter DFU mode: a. press buttons BT3 (Reset) and BT2 together b. first release BT3 and then release BT2 3. BT1 connected to STM32 GPIOs and available to the user. 4. Jumpers J13 (VDD) and J14 (VDDIO) allow the user to measure the sensor current consumption by connecting a multimeter in series with their terminals. 5. Jumper J10 is used as a general purpose input to manually set certain features for several MEMS adapters. 6. Jumper J12 is used as a general purpose input to manually set certain features for several MEMS adapters. 7. Jumper J11 is used to set the self-test feature during testing of Professional MEMS Tool PCB. 8. Jumper J7 is used to select either JTAG (JP7 open NRST control not allowed from programming connector J6) or SWD mode (JP7 shorted NRST control allowed from connector J6). 9. J6 connector can be used to reprogram the STM32 and debug the code through the JTAG or SWD protocols. 10. Jumper J4 can be used to directly supply the board (from 4.5 V to 5.5 V) instead of through the USB connector. 11. LED D6 lights up when the board is powered. 12. J8 connector can be used for UART RX/TX communication. UM2116 - Rev 12 page 4/50 UM2116 Demonstration kit description 13. LEDs D1, D2, and D3 are general-purpose LEDs used to indicate firmware states; e.g.: a. LED D3 YELOW light up when specific firmware is selected from those available b. LED D2 RED on indicates that the microcontroller is properly configured for communication with the sensor c. LED D1 GREEN blinks according to the sensor data rate selected 14. J9 connector can be used for general purpose SPI bus. 15. LEDs D4 and D5 are directly connected to the interrupt pins of the MEMS digital adapters (if available on the sensor mounted on the adapter board). Figure 4. How to plug the DIL24 adapter on STEVAL-MKI109V3 shows how to plug the DIL 24 adapter MEMS module on the Professional MEMS Tool. VDD and VDDIO are in the top left corner (pins 1 and 2) and GND is in the bottom right corner (pin 13). Figure 4. How to plug the DIL24 adapter on STEVAL-MKI109V3 UM2116 - Rev 12 page 5/50 2 2.1 Note: UM2116 Professional MEMS Tool board installation Professional MEMS Tool board installation Professional MEMS Tool board can be used with Unico-GUI graphical user interface. The Unico-GUI package (.zip) downloaded from st.com contains a "FIRMWARE" folder with .dfu/.bin files for firmware upgrade. Similarly in MEMS Studio a proper firmware must be used to program the motherboard (firmware\mems-studio\). Hardware installation · For Windows 10, Linux® and Mac OS® platforms, no driver installation is required. · For older Windows platforms, install the STM32 virtual COM port driver from the STSW-STM32102 package. Once the driver is installed, connect the demonstration kit board to a free USB port. A confirmation message should appear. On Windows 7 platform, confirm which COM port has been assigned to the board: right click on My Computer and select Manage, then select Device Manager and scroll through the list to Ports (COM & LPT). The STM32 virtual COM port driver for Windows 7 platform and related documents are packaged with the STSW-STM32102 software downloadable at www.st.com. Figure 5. Virtual COM port assignment 2.2 Note: Note: Firmware upgrade You can reprogram the STEVAL-MKI109V3 MEMS evaluation board both by the ST-LINK hardware programmer using J6 connector, or by simply connecting to the USB connector using the STM32CubeProgrammer software and using the DFU mode of the evaluation board. This is in accordance with the DFU class specification defined by the USB Implementers Forum. The following steps show the most simple way using the STM32CubeProgrammer software and the DFU mode of STEVAL-MKI109V3. The input files can be both *.bin or *.dfu for the STM32CubeProgrammer. The STM32CubeProgrammer software uses *.bin source files for firmware upgrade. In case you have installed older DfuSe software on your machine, you must uninstall it before installing the STM32CubeProgrammer software. For all details on the use of STM32CubeProgrammer software, refer to user manual UM2237 on www.st.com. UM2116 - Rev 12 page 6/50 2.2.1 2.2.2 UM2116 Professional MEMS Tool board installation Entering DFU mode The direct reprogramming of the microcontroller is particularly suited to USB applications where the same USB connector can be used both for the standard operating mode and the reprogramming process. To configure the Professional MEMS Tool board in DFU mode: · press button BT2 before supplying the board and release it when LED D6 lights up · or 1. press BT3 (Reset) and BT2 together 2. release BT3 followed by BT2 Led D6 lights up and the device should appear in the Windows Device manager as "STM device in DFU mode". It is necessary to switch the Professional MEMS Tool board in DFU mode before executing the firmware upgrade procedures described in the following sections. Firmware upgrade on Windows with STM32CubeProgrammer using *.bin source files To upgrade the firmware by using the *.bin source files, follow the steps below. Step 1. Attach the STEVAL-MKI109V3 MEMS board to the USB port while you are holding the BT2 button on it (procedure described in Section 2.2.1). The STEVAL-MKI109V3 becomes then visible in your system as a device in DFU mode. Step 2. Open the STM32CubeProgrammer software application. Step 3. Select [USB] at the top-right corner roller blue button and then click on the [Connect] green button at the right side. In the log window, the "Data read successfully" message should appear. The connection state indicator should show the "Connected" green state. Step 4. Click on [Open File] and select the proper *.bin file that you want to download into the STEVALMKI109V3. Figure 6. Opening the selected .bin file in STM32CubeProgrammer UM2116 - Rev 12 page 7/50 UM2116 Professional MEMS Tool board installation Step 5. After choosing the tab with the selected .bin file, click on the [Download] blue button at the top right (there you can check the proper starting address "0x08000000"). The programming process then starts. Figure 7. Programming process in STM32CubeProgrammer Step 6. After the successful update of the STEVAL-MKI109V3, the "File download complete" message should appear. The firmware update is then complete. Click on the [OK] button and then click on the [Disconnect] green button at the top right. Figure 8. File download complete message after successful firmware update UM2116 - Rev 12 page 8/50 UM2116 Professional MEMS Tool board installation 2.2.3 2.2.4 DFU on Windows using the older DfuSe software To upgrade the firmware by using the *.dfu source files, follow the steps below. Step 1. To install the DFU software, launch the "DfuSe_Demo_V3.0.5_Setup.exe" included in the software package and follow the instructions on the screen. Step 2. Attach the STEVAL-MKI109V3 MEMS board to the USB port while you are holding the BT2 button on it (procedure described in Section 2.2.1). The STEVAL-MKI109V3 becomes then visible in your system as a device in DFU mode. Step 3. Launch newly installed DfuSeDemo software by selecting [Start]>[STMicroelectronics]>[DfuSe]>[DfuSeDemo]. (The software is located at C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.5\Bin\DfuSeDemo.exe"). Step 4. Note: In the [Upgrade or Verify Action] section of the DfuseDemo too, click on the [Choose...] button and select the target.dfu file; then, click on the [Upgrade] button to start the firmware upgrade. For more details regarding the DFU and the microcontroller ST GUI, see the related user manual located at C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.5\Bin\Doc\UM0412.pdf or downloadable from [Start]>[STMicroelectronics]>[DfuSe]>[Docs]>[UM0412.pdf]. You can find the DFU utility tool and the related documents at the related ST web page. DFU on Linux® The DFU program for Linux operating systems is dfu-util. The procedure for Ubuntu Linux operating systems is described below. Step 1. Open a terminal and run (with sudo to ensure the correct permissions): sudo apt-get install dfu-util Step 2. Create a udev rules file: sudo gedit /etc/udev/45-Professional MEMS Tool.rules Step 3. Fill it with the following content: # 0483:5740 - STM32F4 in USB Serial Mode (CN5) ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", ENV{MTP_NO_PROBE}="1" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", MODE:="0666" KERNEL=="ttyACM*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", MODE:="0666" # 0483:df11 - STM32F4 in DFU mode (CN5) SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666" Step 4. Step 5. Step 6. Instruct udev to reload its rules: sudo udevadm control --reload-rules You should now be able to program the board. Attach the STEVAL-MKI109V3 MEMS board to the USB port while you are holding the BT2 button on it (procedure described in Section 2.2.1). Then, run the command: sudo dfu-util -a 0 -D dfu_path/file.dfu -d 0483:df11 where: dfu_path is the path to the dfu file file.dfu is the dfu file name example: sudo dfu-util -a 0 -D Desktop/Professional MEMS ToolV2_REL_4_0.dfu -d 0483:df11. Disconnect and reconnect the board to exit DFU mode and start using the board with the new firmware. UM2116 - Rev 12 page 9/50 2.2.5 UM2116 Professional MEMS Tool board installation DFU on Mac OS® The DFU program used for Mac operating systems is dfu-util. Step 1. Before installing DFU on your Mac OS, you need to install Homebrew. Open a terminal and run: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ install/master/install)" Step 2. Install dfu-utils: brew install dfu-util You should now be able to program the board Step 3. Attach the STEVAL-MKI109V3 MEMS board to the USB port while you are holding the BT2 button on it (procedure described in Section 2.2.1). Then, run the command: dfu-util -a 0 -D dfu_path/file.dfu -d 0483:0000 where: dfu_path is the path to the dfu file file.dfu is the dfu file name example: dfu-util -a 0 -D Desktop/Professional MEMS ToolV2_REL_4_0.dfu -d0483:0000 Step 4. Disconnect and reconnect the board to exit DFU mode and start using the board with the new firmware. UM2116 - Rev 12 page 10/50 UM2116 Supported MEMS adapter boards 3 Supported MEMS adapter boards Adapter board STEVAL-MET001V1 STEVAL-MKI087V1 STEVAL-MKI089V1 STEVAL-MKI092V1 STEVAL-MKI105V1 STEVAL-MKI106V1 STEVAL-MKI107V1 STEVAL-MKI107V2 STEVAL-MKI108V2 STEVAL-MKI110V1 STEVAL-MKI122V1 STEVAL-MKI125V1 STEVAL-MKI134V1 STEVAL-MKI135V1 STEVAL-MKI136V1 STEVAL-MKI137V1 STEVAL-MKI141V1 STEVAL-MKI142V1 STEVAL-MKI151V1 STEVAL-MKI154V1 STEVAL-MKI158V1 STEVAL-MKI159V1 STEVAL-MKI160V1 STEVAL-MKI161V1 STEVAL-MKI163V1 STEVAL-MKI164V1 STEVAL-MKI165V1 STEVAL-MKI166V1 STEVAL-MKI167V1 STEVAL-MKI168V1 STEVAL-MKI169V1 STEVAL-MKI170V1 STEVAL-MKI172V1 STEVAL-MKI173V1 STEVAL-MKI174V1 STEVAL-MKI175V1 STEVAL-MKI176V1 STEVAL-MKI177V1 Table 1. List of supported MEMS adapter boards Device LPS22HB LIS331DL LIS331DLH LIS331HH LIS3DH LSM303DLHC L3G4200D L3GD20 9AXISMODULE v2 [LSM303DLHC + L3GD20] AIS328DQ LSM330DLC A3G4250D LIS3DSH LIS2DH L3GD20H LIS3MDL HTS221 LPS25H LIS2DH12 LSM9DS0 AIS3624DQ LSM9DS1 LSM6DS3 LSM6DS0 LSM303C LIS2HH12 LPS25HB H3LIS100DL H3LIS200DL IIS2DH I3G4250D IIS328DQ LSM303AGR LSM303AH LIS2DS12 LIS2DE12 LSM6DS3H LPS35HW *setb command string 001V1 087V1 089V1 092V1 105V1 106V1 107V1 107V2 108V2 110V1 122V1 125V1 134V1 135V1 136V1 137V1 141V1 142V1 151V1 154V1 158V1 159V1 160V1 161V1 163V1 164V1 165V1 166V1 167V1 168V1 169V1 170V1 172V1 173V1 174V1 175V1 176V1 177V1 UM2116 - Rev 12 page 11/50 Adapter board STEVAL-MKI178V1 STEVAL-MKI178V2 STEVAL-MKI179V1 STEVAL-MKI180V1 STEVAL-MKI181V1 STEVAL-MKI182V1 STEVAL-MKI183V1 STEVAL-MKI184V1 STEVAL-MKI185V1 STEVAL-MKI186V1 STEVAL-MKI188V1 STEVAL-MKI189V1 STEVAL-MKI190V1 STEVAL-MKI191V1 STEVAL-MKI192V1 STEVAL-MKI193V1 STEVAL-MKI194V1 STEVAL-MKI195V1 STEVAL-MKI196V1 STEVAL-MKI197V1 STEVAL-MKI198V1K STEVAL-MKI199V1K STEVAL-MKI200V1K STEVAL-MKI201V1K STEVAL-MKI202V1K STEVAL-MKI203V1K STEVAL-MKI204V1K STEVAL-MKI205V1 STEVAL-MKI206V1 STEVAL-MKI207V1 STEVAL-MKI208V1K STEVAL-MKI209V1K STEVAL-MKI210V1K STEVAL-MKI211V1K STEVAL-MKI212V1 STEVAL-MKI213V1 STEVAL-MKI214V1 STEVAL-MKI215V1 STEVAL-MKI216V1 STEVAL-MKI217V1 STEVAL-MKI218V1 LSM6DSL LSM6DSL LIS2DW12 LIS3DHH LIS2MDL ISM330DLC LPS33HW ISM303DAC IIS2MDC IIS3DHHC L20G20IS LSM6DSM LIS2DTW12 IIS2DLPC LPS22HH ASM330LHH LSM6DSR LSM6DSRX LSM6DSO LSM6DSOX STTS751 STLM20 STTS22H STTS75 STDS75 STCN75 STLM75 LPS33W AIS2DW12 ISM330DHCX IIS3DWB IIS2ICLX ISM330DHCX LIS25BA ASM330LHHX LPS27HHW LPS33K LSM6DSO32 IIS3DHHC LSM6DSOX+LIS2MDL AIS2IH Device UM2116 - Rev 12 UM2116 Supported MEMS adapter boards *setb command string 178V1 178V2 179V1 180V1 181V1 182V1 183V1 184V1 185V1 186V1 188V1 189V1 190V1 191V1 192V1 193V1 194V1 195V1 196V1 197V1 198V1K 199V1K 200V1K 201V1K 202V1K 203V1K 204V1K 205V1 206V1 207V1 208V1K 209V1K 210V1K 211V1K 212V1 213V1 214V1 215V1 216V1 217V1 218V1 page 12/50 Adapter board STEVAL-MKI219V1 STEVAL-MKI220V1 STEVAL-MKI221V1 STEVAL-MKI222V1 STEVAL-MKI223A STEVAL-MKI224V1 STEVAL-MKI225A STEVAL-MKI226KA STEVAL-MKI227KA STEVAL-MKI228KA STEVAL-MKI229A STEVAL-MKI230KA STEVAL-MKI231KA STEVAL-MKI232A STEVAL-MKI233KA STEVAL-MKI234KA STEVAL-MKI235KA STEVAL-MKI236A STEVAL-MKI237KA STEVAL-MKI238A STEVAL-MKI239A STEVAL-MKI241KA STEVAL-MKI242A STEVAL-MKI243A LPS22CH LPS27HHTW LSM6DSO32X LISDU12 ILPS28QSW LPS22DF LPS28DFW AIS25BA LSM6DSV16X ILPS22QS LSM6DSO16IS ISM330IS STHS34PF80 LSM6DSO16ISN ISM330ISN LSM6DSV16BX LIS2DUXS12 2x ASM330LHB LSM6DSV16BX LIS2DUX12 LSM6DSV LSM6DSV16B ST1VFE6AX ASM330LHHXG1 Device UM2116 Supported MEMS adapter boards *setb command string 219V1 220V1 221V1 222V1 223A 224V1 225A 226KA 227KA 228KA 229A 230KA 231KA 232A 233KA 234KA 235KA 236A 237KA 238A 239A 241KA 242A 243A UM2116 - Rev 12 page 13/50 4 4.1 4.1.1 UM2116 Supported commands Supported commands The microcontroller mounted on the Professional MEMS Tool board is equipped with dedicated firmware that allows control of the digital output MEMS sensor, and acquisition of the measured data. The firmware also handles the communication between the board and the PC through the USB bus. Getting started Before using the commands supported by the firmware, the following procedure must be performed: Step 1. Connect the Professional MEMS Tool to the USB port Step 2. Launch an application that allows sending commands through the virtual serial port. The remainder of this document assumes the use of Microsoft® HyperTerminal program available with the Windows XP operating system, but you can use any similar tool. Step 3. Create a new connection, enter a name (e.g. STEVAL-MKI109V3), and click OK. Step 4. In the Connect Using field, select the virtual COM port to which the USB port has been mapped, and click OK. Step 5. In port settings, set bits per second to 115200, data bits to 8, parity to none, stop bits to 1, and flow control to none; click OK Step 6. In the HyperTerminal application window, select files > properties > settings, then click ASCII Setup. Step 7. Select Send line ends with line feeds and Echo typed characters locally Step 8. Click OK to close the ASCII Setup window Step 9. Click OK button to close the Properties window. Once this procedure has been completed you can use the commands described in the following sections by typing them in the "HyperTerminal" window. Quick start The basic sequence of commands (based on the LIS3DH accelerometer) to start a data communication session and to retrieve X, Y, and Z acceleration data from the demonstration kit is: Step 1. Connect the Professional MEMS Tool to the USB port Step 2. Start "Microsoft© HyperTerminal" (or another similar application) and configure it as described in Section 4.1: Getting started Step 3. Enter the *setdb105v1 command in the HyperTerminal" window, (supposing the LIS3DH adapter board is used for other adapters see the relevant datasheets to check the register configuration), enter the command * Zoff to enable the control of the device by the STM32F401VE microcontroller, and *w2047 to switch on the LIS3DH and to set the data rate to 50 Hz Step 4. Send the *debug command to get the X, Y, and Z data measured by the sensor Step 5. Send *stop to end the continuous acquisition and visualization. UM2116 - Rev 12 page 14/50 4.2 UM2116 Supported commands Supported commands The firmware supports a wide range of MEMS adapters; the complete list of supported commands and their descriptions are given below. Commands are not case sensitive. Command *setdbXXXVY *start *debug *stop *zon *zoff *dev *ver *board *rAA *wAADD *grAA *gwAADD *mrAA *mwAADD *prAAx *pwAADD *hrAA *hwAADD *trAA *twAADD *single *sindebug *list *listdev *echoon *echooff *fiforst *fifomde *fifostr *fifostf *fifobtf Table 2. List of supported commands Description Returned value(1) Selects firmware according to the adapter connected Device name e.g.: LIS3DH Starts continuous data acquisition (see Table 4. Returned values for *start command) Returns the output data in readable text format Stops data acquisition Forces High impedance state. Turns off VDD and VDDIO power supply. Exits from High impedance state. Turns on VDD and VDDIO power supply Device name e.g.: LIS3DH Firmware version e.g.: V1.5.2 Returns board name Accelerometer register read e.g.: RAAhDDh Accelerometer register write Gyroscope register read e.g.: GRAAhDDh Gyroscope register write Magnetometer register read e.g.: MRAAhDDh Magnetometer register write Pressure sensor register read e.g.: PRAAhDDh Pressure sensor register write Humidity sensor register read e.g.: HRAAhDDh Humidity sensor register write Temperature sensorregister read e.g.: TRAAhDDh Temperaturesensor register write It gets a single point data acquisition (see Table 4. Returned values for *start command) It gets a single point data acquisition in readable text e.g.: MKI001V1LPS22HB Prints the list of MKIs supported MKI087V1LIS331DL MKI089V1 LIS331DLH Prints the list of devices supported e.g.: LIS331DL LIS331DLH LIS331HH... Activates the write verbose mode e.g.: RAAhDDh Deactivates the write verbose mode Accelerometer "Reset mode" enable st XH XL YH YL ZH ZL IR FC FS Accelerometer "FIFO mode" enable st XH XL YH YL ZH ZL IR FC FS Accelerometer "FIFO stream" enable st XH XL YH YL ZH ZL IR FC FS Accelerometer "Stream to FIFO" enable st XH XL YH YL ZH ZL IR FC FS Accelerometer "Bypass to FIFO" enable st XH XL YH YL ZH ZL IR FC FS UM2116 - Rev 12 page 15/50 UM2116 Supported commands Command Description Returned value(1) *fifobts Accelerometer "Bypass to stream" enable st XH XL YH YL ZH ZL IR FC FS *fifodstr Accelerometer "Dynamic stream" enable st XH XL YH YL ZH ZL IR FC FS *gfiforst Gyroscope "Reset mode" enable st XH XL YH YL ZH ZL IR FC FS *gfifomde Gyroscope "FIFO mode" enable st XH XL YH YL ZH ZL IR FC FS *gfifostr Gyroscope "FIFO stream" enable st XH XL YH YL ZH ZL IR FC FS *gfifostf Gyroscope "Stream to FIFO" enable st XH XL YH YL ZH ZL IR FC FS *gfifobtf Gyroscope "Bypass to FIFO" enable st XH XL YH YL ZH ZL IR FC FS *gfifobts Gyroscope "Bypass to stream" enable st XH XL YH YL ZH ZL IR FC FS *gfifodstr Gyroscope "Dynamic stream" enable st XH XL YH YL ZH ZL IR FC FS *pfiforst Pressure sensor "Reset mode" enable st XH XL YH YL ZH ZL IR FC FS *pfifomde Pressure sensor "FIFO mode" enable st XH XL YH YL ZH ZL IR FC FS *pfifostr Pressure sensor "FIFO stream" enable st XH XL YH YL ZH ZL IR FC FS *pfifostf Pressure sensor "Stream to FIFO" enable st XH XL YH YL ZH ZL IR FC FS *pfifobtf Pressure sensor "Bypass to FIFO" enable st XH XL YH YL ZH ZL IR FC FS *pfifobts Pressure sensor "Bypass to stream" enable st XH XL YH YL ZH ZL IR FC FS *pfifodstr Pressure sensor "Dynamic stream" enable st XH XL YH YL ZH ZL IR FC FS *rmAA1NN Multiple read of NN Accelerometer successive registers RMAA1hNNhDD1hDD2...DDNNh Accelerometer registers *mutli-rAA1AA2 AA3... multiple read MULTI-RAA1hDD1h AA2hDD2h.... AAnDDnh *grmAA1NN Multiple read of NN Gyroscope successive registers GRMAA1hNNhDD1hDD2...DDNNh *multi-grAA1AA2 AA3... Gyroscope registers multiple read MULTI-GRAA1hDD1h AA2hDD2h.... AAnDDnh *mrmAA1NN Multiple read of NN Magnetometer successive registers MRMAA1hNNhDD1hDD2...DDNNh *multi-mrAA1AA2 AA3... Magnetometer registers multiple read MULTI-MRAA1hDD1h AA2hDD2h.... AAnDDnh *prmAA1NN Multiple read of NN Pressure sensor successive registers PRMAA1hNNhDD1hDD2...DDNNh *multi-prAA1AA2 AA3... Pressure sensor registers multiple read MULTI-PRAA1hDD1h AA2hDD2h.... AAnDDnh *hrmAA1NN Multiple read of NN Humidity sensor successive registers HRMAA1hNNhDD1hDD2...DDNNh *multi-hrAA1AA2 AA3... Humidity sensor registers multiple read MULTI-HRAA1hDD1h AA2hDD2h.... AAnDDnh *trmAA1NN Multiple read of NN Temperature sensor successive registers TRMAA1hNNhDD1hDD2...DDNNh *multi-trAA1AA2 AA3... Temperature sensor registers multiple read MULTI-TRAA1hDD1h AA2hDD2h.... AAnDDnh *odr [param] Sets ODR speed 1. RP: Reference pressure XLSB.MSB, IR: interrupt byte; FC: FIFO control register; FS: FIFO source register UM2116 - Rev 12 page 16/50 4.2.1 4.2.2 UM2116 Supported commands Table 3. List of supported commands for power supply control and I/V measurement Command Description Returned value *power_on Turns on VDD and VDDIO power supply *power_off Turns off VDD and VDDIO power supply *set_vddaV.VVV Sets VDD voltage value "V.VVV" Volts. Value defined by 1 or 2 decimal places is possible. e.g. 1.8; 1.86; 1.825 are all valid inputs *set_vddioV.VVV Sets VDDIO voltage value "V.VVV" Volts. Value defined by 1 or 2 decimal places is possible. e.g. 1.8; 1.86; 1.825 are all valid inputs *get_i [param] Measures IDD, IDDIO with automatic / semiautomatic current ranges toggling e.g. param = A and measurement method selection. Output values format selected by parameters [F / B / A] [S] [C] [L] ida Idd = 152 µA IddIO = 0.092 µA *get_v [param] Measures VDD, VDDIO Output values format selected by parameters [F/B/A] e.g. param = A vda Vdd = 1.807 V VddIO = 1.806 V *ranges_auto Turns on automatic IDD/IDDIO ranges selection (default) *ranges_man Turns off automatic IDD/IDDIO ranges selection (manual IDD/IDDIO ranges selection possible) *range_ma [param] Selects current range for IDD *range_mb [param] Selects current range for IDDIO *adc_run_time [param] Sets time period during which ADC samples the measured current waveforms *adc_uni_stop Stops all measurements The commands listed in Table 3 work regardless of whether an adapter is physically inserted in the DIL24 socket or not, and also whether the STEVAL-MKIxxxxx of the adapter is selected or not (using the *Setdb command). *setdbXXXVY This command selects the part of the firmware able to handle the adapter board sensor connected to the board. For example, *setdb105V1 selects the firmware for the LIS3DH. The D3 LED (yellow) switches on automatically. *start This command initiates continuous data acquisition. When sent, the device returns a string of bytes (plus carriage return and line feed) like st OUT1 OUT2 OUT3 IR STP BT. The first two bytes are always the ASCII char s and t which correspond to the hexadecimal values {73h 74h}. OUT1, OUT2, and OUT3 contain the values measured at device outputs; if the output data is represented in more than 8 bits, OUT1, OUT2, and OUT3 are split into high byte (e.g., XH) and low byte (e.g., XL). In case of 24-bit resolution for some sensors, there is also an extra-low byte (e.g., pressure data: PXL PL PH). IR (INT1 INT2) contains the interrupt bytes and BT SW1|SW2 contains the bytes that describe the state of the buttons integrated on the board. Specifically, bit#0 of the SW1|SW2 data corresponds to the status of the SW1 button on the demonstration kit board: it is set to 1 when the SW1 is pressed (otherwise 0). Bit#1 has the same behavior but is dedicated to the SW2. STP (STPL STPH) contains the step counter bytes for the internal device step counter value. The string is ended with the carriage return (\r) and line feed (\n) bytes. Before sending the *start command, the device must be out of 3-state (high impedance) and some registers must be configured according to user needs. Therefore, *start must be preceded by a * zoff and some Register Write commands. UM2116 - Rev 12 page 17/50 UM2116 Supported commands As data is continuously acquired, LED D1 (green) blinks according to sensor data rate selected. Table 4. Returned values for *start command shows the format of the string returned for each device when a *start command is sent. Similar byte strings are returned for groups of commands related to FIFO, as is shown in Table 5. Digital output accelerometers: supported commands list, Table 6. Digital output gyroscopes: supported commands list, Table 7. Digital output magnetometer: supported commands list, Table 8. Digital output pressure sensor: supported commands list, Table 9. Digital output humidity sensor: supported commands list, Table 10. Digital output temperature sensor: supported commands list and Table 11. Analog output temperature sensor: supported commands list. STEVAL # (Device) STEVAL-MKI089V1 (LIS331DLH) STEVAL-MKI092V1 (LIS331HH) STEVAL-MKI105V1 (LIS3DH) STEVAL-MKI110V1 (AIS328DQ) STEVAL-MKI125V1 (A3G4250D) STEVAL-MKI134V1 (LIS3DSH) STEVAL-MKI135V1 (LIS2DH) STEVAL-MKI136V1 (L3GD20H) STEVAL-MKI151V1 (LIS2DH12) STEVAL-MKI158V1 (AIS3624DQ) STEVAL-MKI164V1 (LIS2HH12) STEVAL-MKI168V1 (IIS2DH) STEVAL-MKI170V1 (IIS328DQ) STEVAL-MKI179V1 (LIS2DW12) STEVAL-MKI180V1 (LIS3DHH) STEVAL-MKI186V1 (IIS3DHHC) STEVAL-MKI191V1 (IIS2DLPC) STEVAL-MKI206V1 (AIS2DW12) STEVAL-MKI216V1 (IIS3DHHC) STEVAL-MKI218V1 (AIS2IH) STEVAL-MKI087V1 (LIS331DL) STEVAL-MKI175V1 (LIS2DE12) STEVAL-MKI166V1 (H3LIS100DL) STEVAL-MKI167V1 (H3LIS200DL) STEVAL-MKI208V1K (IIS3DWB) STEVAL-MKI174V1 (LIS2DS12) STEVAL-MKI176V1 (LSM6DS3H) STEVAL-MKI137V1 (LIS3MDL) STEVAL-MKI181V1 (LIS2MDL) STEVAL-MKI185V1 (IIS2MDC) STEVAL-MKI107V1 (L3G4200D) STEVAL-MKI107V2 (L3GD20) STEVAL-MKI169V2 (I3G4250D) STEVAL-MKI188V1 (L20G20IS) STEVAL-MKI122V1 (LSM330DLC) STEVAL-MKI106V1(LSM303DLHC) STEVAL-MKI108V2 (9AXIS MODULE) STEVAL-MKI159V1 (LSM9DS1) STEVAL-MKI154V1 (LSM9DS0) STEVAL-MKI159V1 (LSM9DS1) Table 4. Returned values for *start command Returned value (1) s t XH XL YH YL ZH ZL int1 int2 sw1|sw2 \r \n s t X Y Z int1 int2 sw1|sw2 \r \n s t X 0 Y 0 Z 0 int1 int2 sw1|sw2 \r \n s t XH XL YH YL ZH ZL int1 sw1|sw2 \r \n s t XH XL YH YL ZH ZL int1 int2 stpL stpH 0 sw1|sw2 \r \n s t M_XH M_XL M_YH M_YL M_ZH M_ZL int1 sw1|sw2 \r \n s t G_XH G_XL G_YH G_YL G_ZH G_ZL G_int1 G_int2 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZLA_int1 A_int2 G_int1 G_int2 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL M_XH M_XL M_YH M_YL M_ZH M_ZL A_int1 A_int2 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL M_XH M_XL M_YH M_YL M_ZH M_ZL A_int1 G_int2 G_int3 0 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL M_XH M_XL M_YH M_YL M_ZH M_ZL A_int1 A_int2 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL M_XH M_XL M_YH M_YL M_ZH M_ZL A_int1 A_int2 G_int3 0 sw1|sw2 \r \n UM2116 - Rev 12 page 18/50 STEVAL # (Device) STEVAL-MKI160V1 (LSM6DS3) STEVAL-MKI161V1 (LSM6DS0) STEVAL-MKI178V1 (LSM6DSL) STEVAL-MKI178V2 (LSM6DSL) STEVAL-MKI182V1 (ISM330DLC) STEVAL-MKI189V1 (LSM6DSM) STEVAL-MKI163V1 (LSM303C) STEVAL-MKI172V1 (LSM303AGR) STEVAL-MKI173V1 (LSM303AH) STEVAL-MKI184V1 (ISM303DAC) STEVAL-MKI142V1 (LPS25H) STEVAL-MKI165V1 (LPS25HB) STEVAL-MET001V1 (LPS22HB) STEVAL-MKI177V1 (LPS35HW) STEVAL-MKI183V1 (LPS33HW) STEVAL-MKI192V1 (LPS22HH) STEVAL-MKI205V1 (LPS33W) STEVAL-MKI213V1 (LPS27HHW) STEVAL-MKI214V1 (LPS33K) STEVAL-MKI219V1 (LPS22CH) STEVAL-MKI220V1 (LPS27HHTW) STEVAL-MKI224V1 (LPS22DF) STEVAL-MKI225A (LPS28DFW) STEVAL-MKI141V1 (HTS221) STEVAL-MKI190V1 (LIS2DTW12) STEVAL-MKI222V1 (LISDU12) STEVAL-MKI235KA (LIS2DUXS12) STEVAL-MKI238A (LIS2DUX12) STEVAL-MKI198V1K (STTS751) STEVAL-MKI199V1K (STLM20) STEVAL-MKI200V1K (STTS22H) STEVAL-MKI201V1K (STTS75) STEVAL-MKI202V1K (STDS75) STEVAL-MKI203V1K (STCN75) STEVAL-MKI204V1K (STLM75) STEVAL-MKI194V1 (LSM6DSR) STEVAL-MKI196V1 (LSM6DSO) STEVAL-MKI215V1 (LSM6DSO32) STEVAL-MKI221V1 (LSM6DSO32X) STEVAL-MKI211V1K (LIS25BA) STEVAL-MKI226A (AIS25BA) STEVAL-MKI195V1 (LSM6DSRX) STEVAL-MKI197V1 (LSM6DSOX) STEVAL-MKI207V1 (ISM330DHCX) STEVAL-MKI210V1K (ISM330DHCX) STEVAL-MKI212V1 (ASM330LHHX) STEVAL-MKI243A (ASM330LHHXG1) STEVAL-MKI209V1 (IIS2ICLX) STEVAL-MKI217V1 (LSM6DSOX + LIS2MDL hub) STEVAL-MKI223A (ILPS28QSW) STEVAL-MKI228KA (ILPS22QS) UM2116 - Rev 12 Returned value (1) s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL Int1 Int2 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL Int1 Int2 StpL StpH 0 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL M_XH M_XL M_YH M_YL M_ZH M_ZL A_int G_int sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL M_XH M_XL M_YH M_YL M_ZH M_ZL A_int1 Aint2 M_int sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL M_XH M_XL M_YH M_YL M_ZH M_ZL A_int1 A_int2 M_int StpL StpH sw1|sw2 \r \n s t PXL PL PH TL TH REF_PXL REF_PL REF_PH P_int1 sw1|sw2 \r \n UM2116 Supported commands s t PXL PL PH TL TH REF_PXL REF_PL REF_PH P_int1 sw1|sw2 \r \n s t HL HH TL TH H_int1 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL Int1 Int2 TL TH sw1|sw2 \r \n s t TH TL Int1 sw1|sw2 \r \n s t TH TL sw1|sw2 \r \n s t TH TL Int1 sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL Int1 Int2 FSMLC_INT FSM1 FSM2 StpL StpH TL TH sw1|sw2 \r \n s t XH XL YH YL ZH ZL sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL Int1 Int2 FSMLC_INT FSM1 FSM2 StpL StpH MLC0 MLC1 MLC2 MLC3 MLC4 MLC5 MLC6 MLC7 TL TH sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL Int1 Int2 FSMLC_INT FSM1 FSM2 StpL StpH MLC0 MLC1 MLC2 MLC3 MLC4 MLC5 MLC6 MLC7 TL TH sw1|sw2 \r \n s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL M_XH M_XL M_YH M_YL M_ZH M_ZL Int1 Int2 FSMLC_INT FSM1 FSM2 MGN_INT StpL StpH MLC0 MLC1 MLC2 MLC3 MLC4 MLC5 MLC6 MLC7 0 sw1|sw2 \r \n st PXL PL PH TL TH 0 REF_PL REF_PH SGNB QXL QL QH INT1 sw1|sw2 \r \n page 19/50 UM2116 Supported commands STEVAL # (Device) Returned value (1) STEVAL-MKI193V1 (ASM330LHH) STEVAL-MKI229A (LSM6DSO16IS) STEVAL-MKI230KA (ISM330IS) s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL Int1 Int2 TL TH sw1|sw2 \r \n STEVAL-MKI231KA (STHS34PF80) s t Tobj_H Tobj L Tobj_comp_H Tobj_comp_L Tambient_H Tambient_L Tpresence_H Tpresence_L Tmotion_H Tmotion L Tambient_shock_H Tambient_shock_L Int1 Int_status sw1|sw2 \r\n STEVAL-MKI234KA (LSM6DSV16BX) STEVAL-MKI237KA (LSM6DSV16BX) STEVAL-MKI241KA (LSM6DSV16BX) UI string: s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL QH QL Q_FH Q_FL A_Int1 A_Int2 FSMLC_INT FSM1 StpL StpH DT1 DT2 DT3 DT4 TL TH sw1|sw2 \r \n TDM string: t d A_XH A_XL A_YH A_YL A_ZH A_ZL 'T' \r \n STEVAL-MKI242A (ST1VAFE6AX) s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL QH QL Q_FH Q_FL A_Int1 A_Int2 FSMLC_INT FSM1 StpL StpH DT1 DT2 DT3 DT4 TL TH sw1|sw2 \r \n STEVAL-MKI236A (2x ASM330LHB) s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL A2_XH A2_XL A2_YH A2_YL A2_ZH A2_ZL 2G_XH G2_XL G2_YH G2_YL G2_ZH G2_ZL A_Int1 A_Int2 FSMLC_INT FSM1 FSM2 StpL StpH DT1 DT2 DT3 DT4 DT5 DT6 DT7 DT8 TL TH sw1|sw2 \r \n STEVAL-MKI239A (LSM6DSV) UI string: s t A_XH A_XL A_YH A_YL A_ZH A_ZL G_XH G_XL G_YH G_YL G_ZH G_ZL A_Int1 A_Int2 FSMLC_INT FSM1 StpL StpH DT1 DT2 DT3 DT4 TL TH sw1|sw2 'U' \r \n OIS string: s t A_XH A_XL A_YH A_YL A_ZH A_ZL 'O' \r \n STEVAL-MKI232A (LSM6DSO16ISN) STEVAL-MKI233KA (ISM330ISN) Output string is defined by Unico / MEMS studio. See proper documentation of device setting with .UCF file 1. XH: X-axis output high byte (same for Y axis, Z axis, G gyroscope, M Magnetometer, P pressure, H humidity, T temperature, Stp step counter). XL: X-axis output low byte (same for Y axis, Z axis, G gyroscope, M Magnetometer, P pressure, H humidity, T temperature, Q Qvar data, Stp step counter). FSMx: Finite state machine bytes. MLCx: Machine Learning core source registers bytes DTx : data bytes. sw1|sw2: User buttons BT1, BT2 state. Standalone ASCII characters: 'U', 'O', 'T' for data type row recognition. 4.2.3 *debug This command starts continuous data acquisition in debug mode. When sent to the board, it returns the output values measured by the device formatted in a readable text format. 4.2.4 *stop This command interrupts any acquisition session that has been started with either the *start or *debug commands. 4.2.5 *zon and *zoff These commands put the STM32F401VE microcontroller on the demonstration kit in 3-state (high impedance). They allow the isolation of the sensor from the microprocessor and let the user interact with the sensor in a purely analog fashion. When the kit is first turned on, the lines are in 3-state (high impedance) mode and you must send the *zoff command to allow communication between the sensor and the microcontroller. Note that the Zoff command also internally calls *power_on command which enables sensor Vdd and Vddio at default level defined internally in FW. In case user wants to change Vdd and Vddio levels he has to use *set_vdda and *set_vddio commands with proper values. See also example below. After this command has been executed, LED D2 (Red) is turned on. If the *zoff command has not been launched, the firmware ignores any other command sent to sensor. Correct example of *zoff command folowed by different supply voltage setting is following : *setdb MKI181V1 *zoff // Default Vdd=2.5V Vddio = 2.5V are set *set_vdda3.6 //settling Vdda to 3.6V *set_vddio2.8 /settling Vddio to 1.8V ... *gr4f // read whoami to check correct sensor is present ... 4.2.6 *dev This command retrieves the name of the adapter connected to the demonstration kit; e.g., LIS3DH. UM2116 - Rev 12 page 20/50 UM2116 Supported commands 4.2.7 4.2.8 4.2.8.1 4.2.8.2 4.2.9 4.2.10 4.2.10.1 4.2.10.2 *ver This command returns the version of the firmware loaded in the microprocessor; e.g., V1.5.2. *rAA This command reads the contents of the accelerometer registers in the demonstration kit board. The hexadecimal value AA written in upper case represents the address of the register to be read. Once the read command is issued, the board returns RAAhDDh, where AA is the address sent by the user and DD is the data present in the register. For example, to read the register at address 0x20, the user issues the command *r20, which would return a result like R20hC7h. *rmAA1NN This command allows the contents of multiple accelerometer registers in the demonstration kit board to be read in single data block. Once this command is issued, the board returns a set of NN values starting with RMAA1hNNhDD1hDD2h... DDNNh where AA1 is the starting address set by user and DD1 is the data present in this register and so on for next registers. For example, *rm2006 reads six registers starting from 0x20, which would return a result like RM20h06h27h00h00h00hA0h0Bh. *multi-rAA1AA2AA3...AAN This command reads multiple accelerometer registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of N values starting RAA1hDD1h... AANhDDNh where AA1 is the starting address set by user and DD1 is the data present in this register. For example, *multi-r202425292B2D reads six register starting from 0x20, which would return a result like MULTI-R20h27h24hA0h25h0Bh29hE0h2Bh3Fh2Dh90h. *wAADD This command writes the contents of the accelerometer registers in the demonstration kit board. The hexadecimal upper case values AA and DD represent the address of the register and the data to be written, respectively. For example, *w20C7 writes 0xC7 to the register at address 0x20 *grAA Section Revision historySection Revision historyThis command allows the contents of the gyroscope registers in the demonstration kit board to be read. The hexadecimal, upper case AA represents the address of the register to be read. Once the read command is issued, the board returns GRAAhDDh, where AA is the address sent by the user and DD is the data present in the register. For example, *gr20 reads the register at address 0x20, which would return a result like GR20hC7h. *grmAA1NN This command allows the contents of multiple gyroscope registers in the demonstration kit board to be read in single data block. Once this command is issued, the board returns set of NN values starting with GRMAA1hNNhDD1hDD2h... DDNNh where AA1 is the starting address set by user and DD1 is the data present in this register and so on. For example, *grm2006 reads six registers starting from 0x20, which would return a result like GRM20h06h27h00h00h00hA0h0Bh. *multi-grAA1AA2AA3...AAN This command reads multiple gyroscope registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of N values starting with MULTI-GRAA1hDD1h... AANhDDNh where AA1 is the starting address set by user and DD1 is the data present in this register and so on. For example, *multi-gr202425292B2D reads six registers starting from 0x20, which would return a result like MULTI-GR20h27h24hA0h25h0Bh29hE0h2Bh3Fh2Dh90h. UM2116 - Rev 12 page 21/50 UM2116 Supported commands 4.2.11 4.2.12 4.2.12.1 4.2.12.2 4.2.13 4.2.14 4.2.14.1 4.2.14.2 *gwAADD This command writes the contents of the gyroscope registers in the demonstration kit board. The hexadecimal, upper case. AA and DD represent the address of the register and the data to be written, respectively. For example, *gw20C7 writes 0xC7 to the register at address 0x20. *mrAA This command allows the contents of the magnetometer registers in the demonstration kit board to be read. The hexadecimal, upper case AA represents the address of the register to be read. Once the read command is issued, the board returns MRAAhDDh, where AA is the address sent by the user and DD is the data present in the register. For example, *mr00 reads the register at address 0x00, which would return a result like MR00h10h. *mrmAA1NN This command readss the contents of multiple magnetometer registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of NN values starting with RMAA1hNNhDD1hDD2h... DDNNh where AA1 is the starting address set by user and DD1 is the data present in this register. For example, *mrm2006 reads six register starting from 0x20, which would return a result like MRM20h06h27h00h00h00hA0h0Bh. *multi-mrAA1AA2AA3...AAN This command reads multiple magnetometer registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of N values starting with MULTI-MRAA1hDD1h... AANhDDNh, where AA1 is the starting address set by user and DD1 is the data present in this register, and so on. For example, *multi-mr202425292B2D reads six registers starting from 0x20, which would return a result like MULTI-MR20h27h24hA0h25h0Bh29hE0h2Bh3Fh2Dh90h. *mwAADD This command writes the contents of the magnetometer registers in the demonstration kit board. Hexadecimal, upper case AA and DD represent the address of the register and the data to be written, respectively. For example, *mw0120 writes 0x20 to the register at address 0x01. *prAA This command reads the contents of the pressure sensor registers in the demonstration kit board. The hexadecimal, upper case AA represents the address of the register to be read. Once the read command is issued, the board returns PRAAhDDh, where AA is the address sent by the user and DD is the data present in the register. For example, *pr20 reads the register at address 0x20, which would return a value like PR20h10h. *prmAA1NN This command reads the contents of multiple pressure sensor registers in the demonstration kit in a single data block. Once this command is issued, the board returns set of NN values starting with PRMAA1hNNhDD1hDD2h... DDNNh where AA1 is the starting address set by user and DD1 is the data present in this register, and so on... For example, *prm2006 reads six registers starting from 0x20, which would return a value like PRM20h06h27h00h00h00hA0h0Bh. *multi-prAA1AA2AA3...AAN This command reads multiple pressure sensor registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of N values starting with MULTI-PRAA1hDD1h... AANhDDNh where AA1 is the starting address set by user and DD1 is the data present in this register, and so on. For example, *multi-pr202425292B2D reads six registers starting from 0x20, which would return a result like MULTI-PR20h27h24hA0h25h0Bh29hE0h2Bh3Fh2Dh90h. UM2116 - Rev 12 page 22/50 UM2116 Supported commands 4.2.15 4.2.16 4.2.16.1 4.2.16.2 4.2.17 4.2.18 4.2.18.1 4.2.18.2 *pwAADD This command writes the contents of the pressure sensor registers in the demonstration kit board. The hexadecimal, upper case AA and DD represent the address of the register and the data to be written, respectively. For example, *pw20C7 writes 0xC7 to the register at address 0x20. *hrAA This command reads the contents of the humidity sensor registers in the demonstration kit board. The hexadecimal, upper case AA represents the address of the register to be read. Once the read command is issued, the board returns HRAAhDDh, where AA is the address sent by the user and DD is the data present in the register. For example, *hr20 reads the register at address 0x20, which would return a result like HR20h10h. *hrmAA1NN This command reads the contents of multiple humidity sensor registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of NN values starting with HRMAA1hNNhDD1hDD2h... DDNNh where AA1 is the starting address set by user and DD1 is the data present in this register, and so on. For example, *hrm2006 reads six registers starting from 0x20, which would return a result like HRM20h06h27h00h00h00hA0h0Bh. *multi-hrAA1AA2AA3...AAN This command reads multiple humidity sensor registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of N values starting with MULTI-HRAA1hDD1h... AANhDDNh where AA1 is the starting address set by user and DD1 is the data present in this register, and so on. For example, *multi-hr202425292B2D reads six registers starting from 0x20, which would return a result like MULTI-HR20h27h24hA0h25h0Bh29hE0h2Bh3Fh2Dh90h. *hwAADD This command writes the contents of the humidity sensor registers in the demonstration kit board. The hexadecimal, upper case AA and DD represent the address of the register and the data to be written, respectively. For example *hw20C7 writes 0xC7 to the register at address 0x20. *trAA This command reads the contents of the temperature sensor registers in the demonstration kit board. The hexadecimal, upper case AA represents the address of the register to be read. Once the read command is issued, the board returns TRAAhDDh, where AA is the address sent by the user and DD is the data present in the register. For example, *tr20 reads the register at address 0x20, which would return a result like TR20h10h. *trmAA1NN This command reads the contents of multiple temperature sensor registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of NN values starting with TRMAA1hNNhDD1hDD2h... DDNNh where AA1 is the starting address set by user and DD1 is the data present in this register, and so on. For example, *trm2006 reads six registers starting from 0x20, which would return a result like TRM20h06h27h00h00h00hA0h0Bh. *multi-trAA1AA2AA3...AAN This command reads multiple temperature sensor registers in the demonstration kit board in a single data block. Once this command is issued, the board returns set of N values starting with MULTI-TRAA1hDD1h... AANhDDNh where AA1 is the starting address set by user and DD1 is the data present in this register, and so on. For example, *multi-tr202425292B2D reads six registers starting from 0x20, which would return a result like MULTITR20h27h24hA0h25h0Bh29hE0h2Bh3Fh2Dh90h. UM2116 - Rev 12 page 23/50 4.2.19 4.2.20 4.2.21 4.2.22 4.2.23 4.2.24 4.2.25 4.2.26 4.2.27 4.2.28 4.2.29 4.2.30 4.2.31 4.2.32 UM2116 Supported commands *twAADD This command writes the contents of the temperature sensor registers in the demonstration kit board. The hexadecimal, upper case AA and DD represent the address of the register and the data to be written, respectively. For example *tw20C7 writes 0xC7 to the register at address 0x20. *single This command may be used to read just one set of data. It returns the read values of one data sample if the sensor is configured properly. *sindebug This command returns a single point data acquisition in readable text ASCII format. *list The command returns the list of the MKI adapters and devices supported by the firmware in ASCII format. *listdev This command returns the list of devices supported by the firmware in ASCII format. *echoon This command is used to activate the write command verbose mode so that the firmware automatically reads the contents of a register that has just been written to check if the write was successful. For example, * echoon launched after *w2027 returns R2027. *echooff This command stops the write command verbose mode. *fiforst This command enables the accelerometer FIFO reset mode. For more details see application note AN3308 on www.st.com. *fifomde This command enables the accelerometer FIFO mode. For more details see application note AN3308 on www.st.com. *fifostr This command enables the accelerometer FIFO stream mode. For more details see application note AN3308 on www.st.com. *fifostf This command enables the accelerometer Stream-to-FIFO mode. For more details see application note AN3308 on www.st.com. *fifobtf This command enables the accelerometer Bypass-to-FIFO mode. *fifobts This command enables the accelerometer Bypass-to-Stream mode. *fifodstr This command enables the accelerometer Dynamic Stream mode. UM2116 - Rev 12 page 24/50 4.2.33 4.2.34 4.2.35 4.2.36 4.2.37 4.2.38 4.2.39 4.2.40 4.2.41 4.2.42 4.2.43 4.2.44 4.2.45 4.2.46 4.2.47 UM2116 Supported commands *gfiforst This command enables the gyroscope FIFO reset mode. *gfifomde This command enables the gyroscope FIFO mode. *gfifostr This command enables the gyroscope FIFO stream mode. *gfifostf This command enables the gyroscope Stream-to-FIFO mode. *gfifobtf This command enables the gyroscope Bypass-to-FIFO mode. *gfifobts This command enables the gyroscope Bypass-to-Stream mode. *gfifodstr This command enables the gyroscope Dynamic Stream mode. *pfiforst This command enables the pressure sensor FIFO reset mode. *pfifomde This command enables the pressure sensor FIFO mode. *pfifostr This command enables the pressure sensor FIFO stream mode. *pfifostf This command enables the pressure sensor Stream-to-FIFO mode. *pfifobtf This command is used to enable the pressure sensor Bypass-to-FIFO mode. *pfifobts This command is used to enable the pressure sensor Bypass-to-Stream mode. *pfifodstr This command enables the pressure sensor Dynamic Stream mode. *set_vddaV.VVV and *set_vddioV.VVV These commands set the power supply VDD and VDDIO voltage values of device adapter. For example, *set_vdda3.6 sets 3.6V on VDDA. Up to 3 decimal places can be used for set of V.VVV voltage value. If * set_vdda and * set_vddio have not been sent before the * power_on command, the setting is the default voltage defined in the device datasheet selected during the * setdb initialization. Please refer to device datasheet regarding specified VDD and VDDIO values and their relationship (i.e., which of these can be higher, etc.). As the maximum voltages are defined also by the * setdb command, you cannot set values above these limits. UM2116 - Rev 12 page 25/50 4.2.48 4.2.49 4.2.50 4.2.51 4.2.52 UM2116 Supported commands *power_on and *power_off These commands are used to switch on and to switch off the VDD and VDDIO power supplies of the device adapter together. The proper power-on sequence of both voltages is handled internally by firmware. Note that command *power_on must be sent after commands *setvddaV.VVV and *setvddioV.VVV otherwise it sets voltages to 0V (default). Correct example of *power_on and power_off commands is following: *setdb181V1 *zoff // Default Vdd=2.5V Vddio = 2.5V are set *power_off // physical switch-off of sensor *set_vdda3.6 //settling Vdda to 3.6V *set_vddio2.8 /settling Vddio to 1.8V *power_on // physical switch-on of sensor ... *gr4f // read whoami to check correct sensor is present ... *odr [p1] This command is used to set ODR speed when data acquisition is driven by TIMER (analog sensors). · P1 ODR in mHz: 1 to 2000000 *get_i [p1] [p2] [p3] [p4] This command is used to get average IDD and IDDIO during set/calculated time interval. Current ranges toggling and measurement method selection is done automatically as default setup. · P1 form of output data: F or f - floating-point (1 µA base) B or b - fixed-point (1 nA base) A or a - ASCII (readable text) · P2 status bits: S or s - Two bytes containing information (overflow, underflow, current range index) will be added at the end of the IDD, IDDIO data · P3 continuous (repetitive) measurement: C or c - firmware will send measured values periodically · P4 Long Time Enable: L or l firmware will wait for waveform edges or Drdy pulses until it appears or until another *get_i or *adc_uni_stop command interrupts it *get_v [p1] This command is used to get average VDD and VDDIO VddIO (precise measurement with calibrations). · P1 form of output data: F or f - floating-point (1 V base) B or b - fixed-point (1 mV base) A or a - ASCII (readable text) *ranges_auto and *ranges_man These commands are used to toggle between automatic and manual current ranges selection. The default command is *ranges_auto. UM2116 - Rev 12 page 26/50 4.2.53 4.2.54 4.2.55 UM2116 Supported commands *range_ma [p1] and *range_mb [p1] These commands are used to select current ranges manually. · *range_ ma ... IDD, *range_ mb ... IDDIO · P1 current range: 5, 10, 25, 50, 100, 200, 500, 1000, 2500, 5000, 10000, 20000, 50000, 100000 · Full scale of the selected range = 300000 / P1 [µA] *adc_run_time [p1] This command is used to set the time interval during which ADC samples the measured current waveforms. · P1 time in milliseconds: 1 to 50000 (default is 500 ms) *adc_uni_stop This command is used to stop all measurements. UM2116 - Rev 12 page 27/50 4.3 UM2116 Supported commands Digital output accelerometers: supported commands Table 5. Digital output accelerometers: supported commands list Command Description Returned value(1) *setdbXXXVY Selects firmware according to the adapter connected *start Starts continuous data acquisition (See Table 4. Returned values for *start command) *debug Returns the output data in readable text format *stop Stops data acquisition *zon(2) Forces High impedance state. Turns off VDD and VDDIO power supply *zoff Exits from High impedance state. Turns on VDD and VDDIO power supply, configures IO communication type and sets special registers if needed *dev Device name e.g.: LIS3DH *ver Firmware version e.g.: V1.5.2 *rAA Accelerometer register read e.g.: RAAhDDh *rmAA1NN Multiple accelerometer registers read e.g.: RMAA1hNNhDD1h...DDNNh *multi-rAA1 .. AAN Multiple accelerometer registers read e.g.:MULTI-RAA1hDD1h...AANhDDNh *wAADD Accelerometer register write *single It gets a single point data acquisition (See Table 4. Returned values for *start command) *sindebug It gets a single point data acquisition in readable text format e.g.: MKI001V1LPS22HB *list Prints the list of MKIs supported MKI087V1 LIS331DL MKI089V1 LIS331DLH *listdev Prints the list of devices supported e.g.: LIS331DL LIS331DLH LIS331HH... *echoon Activates the write verbose mode e.g.: RAAhDDh *echooff Deactivates the write verbose mode *fiforst (3) Accelerometer "Reset mode" enable st XH XL YH YL ZH ZL IR FC FS \r \n *fifomde(3) Accelerometer "FIFO mode" enable st XH XL YH YL ZH ZL IR FC FS \r \n *fifostr(3) Accelerometer "FIFO stream" enable st XH XL YH YL ZH ZL IR FC FS \r \n *fifostf(3) Accelerometer "Stream-to-FIFO" enable st XH XL YH YL ZH ZL IR FC FS \r \n *fifobtf(3) Accelerometer "Bypass-to-FIFO" enable st XH XL YH YL ZH ZL IR FC FS \r \n *fifobts(3) Accelerometer "Bypass-to-Stream" enable st XH XL YH YL ZH ZL IR FC FS \r \n *fifodstr(3) Accelerometer "Dynamic Stream" enable st XH XL YH YL ZH ZL IR FC FS \r \n 1. IR: interrupt bytes; FC: FIFO control register; FS: FIFO source register 2. Correctly turns off sensor, deinitializes communication with sensor, forces High impedance state and turns off VDD and VDDIO power supply 3. Available only for devices with embedded FIFO UM2116 - Rev 12 page 28/50 4.4 UM2116 Supported commands Digital output gyroscopes: supported commands The table below lists the commands supported by the devices/demonstration boards including a digital output gyroscope. Table 6. Digital output gyroscopes: supported commands list Command Description Returned value(1) *setdbXXXVY Selects FW according to the adapter connected *start Starts continuous data acquisition (See Table 4. Returned values for *start command) *debug Returns the output data in readable text format *stop Stops data acquisition *zon Forces High impedance state. Turns off VDD and VDDIO power supply *zoff Exits from High impedance state. Turns on VDD and VDDIO power supply. *dev Device name e.g.: L3GD20H *ver Firmware version e.g.: V1.5.2 *grAA Gyroscope register read e.g.: GRAAhDDh *grmAA1NN Multiple gyroscope registers read e.g.: GRMAA1hNNhDD1h...DDNNh *multi-grAA1 .. AAN Multiple gyroscope registers read e.g.:MULTI-GRAA1hDD1h...AANhDDNh *gwAADD Gyroscope register write *single It gets a single point data acquisition (See Table 4. Returned values for *start command) *sindebug It gets a single point data acquisition in readable text format e.g.: MKI001V1LPS22HB *list Prints the list of MKIs supported MKI087V1 LIS331DL MKI089V1 LIS331DLH *listdev Prints the list of devices supported e.g.: LIS331DL LIS331DLH LIS331HH... *echoon Activates the write verbose mode e.g.: GRAAhDDh *echooff Deactivates the write verbose mode *gfiforst (2) Gyroscope "Reset mode" enable st XH XL YH YL ZH ZL IR FC FS \r \n *gfifomde(2) Gyroscope "FIFO mode" enable st XH XL YH YL ZH ZL IR FC FS \r \n *gfifostr(2) Gyroscope "FIFO stream" enable st XH XL YH YL ZH ZL IR FC FS \r \n *gfifostf(2) Gyroscope "Stream to FIFO" enable st XH XL YH YL ZH ZL IR FC FS \r \n *gfifobtf(2) Gyroscope "Bypass to FIFO" enable st XH XL YH YL ZH ZL IR FC FS \r \n *gfifobts(2) Gyroscope "Bypass to stream" enable st XH XL YH YL ZH ZL IR FC FS \r \n *gfifodstr(2) Gyroscope "Dynamic stream" enable st XH XL YH YL ZH ZL IR FC FS \r \n 1. IR: interrupt bytes; FC: FIFO control register; FS: FIFO source register 2. Available only for devices with embedded FIFO UM2116 - Rev 12 page 29/50 4.5 UM2116 Supported commands Digital output magnetometers: supported commands Table 7. Digital output magnetometer: supported commands list Command *setdbXXXVY Description Selects firmware according to the adapter connected *start Starts continuous data acquisition *debug Returns the output data in readable text format *stop Stops data acquisition *zon Forces High impedance state. Turns off VDD and VDDIO power supply. *zoff Exits from High impedance state. Turns on VDD and VDDIO power supply. *dev Device name *ver Firmware version *mrAA Magnetometer register read *mrmAA1NN Multiple magnetometer registers read *multi-mrAA1...AAN Multiple magnetometer registers read *mwAADD Magnetometer register write *single It gets a single point data acquisition *sindebug It gets a single point data acquisition in readable text format *list Prints the list of MKIs supported *listdev Prints the list of devices supported *echoon Activates the write verbose mode *echooff Deactivates the write verbose mode 1. IR: interrupt bytes; FC: FIFO control register; FS: FIFO source register Returned value(1) (See Table 4. Returned values for *start command) e.g.: LIS2MDL e.g.: V1.5.2 e.g.: MRAAhDDh e.g.: MRMAA1hNNhDD1h...DDNNh e.g.:MULTI-MRAA1hDD1h...AANhDDNh (See Table 4. Returned values for *start command) e.g.: MKI001V1LPS22HB MKI087V1 LIS331DL MKI089V1 LIS331DLH e.g.: LIS331DL LIS331DLH LIS331HH... e.g.: MRAAhDDh UM2116 - Rev 12 page 30/50 4.6 UM2116 Supported commands Digital output pressure sensor: supported commands Table 8. Digital output pressure sensor: supported commands list Command Description Returned value(1) *setdbXXXVY Selects firmware according to the adapter connected *start Starts continuous data acquisition (See Table 4. Returned values for *start command) *debug Returns the output data in readable text format *stop Stops data acquisition *zon Forces High impedance state. Turns off VDD and VDDIO power supply. *zoff Exits from High impedance state. Turns on VDD and VDDIO power supply *dev Device name e.g.: LPS22HH *ver Firmware version e.g.: V1.5.2 *prAA Pressure sensor register read e.g.: PRAAhDDh *prmAA1NN Multiple pressure sensor registers read e.g.: PRMAA1hNNhDD1h...DDNNh *multi-prAA1 .. AAN Multiple pressure sensor registers read e.g.:MULTI-PRAA1hDD1h...AANhDDNh *pwAADD Pressure sensor register write *single It gets a single point data acquisition (See Table 4. Returned values for *start command) *sindebug It gets a single point data acquisition in readable text format e.g.: MKI001V1LPS22HB *list Prints the list of MKIs supported MKI087V1 LIS331DL MKI089V1 LIS331DLH *listdev Prints the list of devices supported e.g.: LIS331DL LIS331DLH LIS331HH... *echoon Activates the write verbose mode e.g.: PRAAhDDh *echooff Deactivates the write verbose mode *pfiforst (2) Pressure sensor "Reset mode" enable st PXL PL PH TL TH IR FC FS \r \n *pfifomde(2) Pressure sensor "FIFO mode" enable st PXL PL PH TL TH IR FC FS \r \n *pfifostr(2) Pressure sensor "FIFO stream" enable st PXL PL PH TL TH IR FC FS \r \n *pfifostf(2) Pressure sensor "Stream to FIFO" enable st PXL PL PH TL TH IR FC FS \r \n *pfifobtf(2) Pressure sensor "Bypass to FIFO" enable st PXL PL PH TL TH IR FC FS \r \n *pfifobts(2) Pressure sensor "Bypass to stream" enable st PXL PL PH TL TH IR FC FS \r \n *pfifodstr(2) Pressure sensor "Dynamic stream" enable st PXL PL PH TL TH IR FC FS \r \n 1. IR: interrupt bytes; FC: FIFO control register; FS: FIFO source register 2. Available only for devices with embedded FIFO UM2116 - Rev 12 page 31/50 4.7 UM2116 Supported commands Digital output humidity sensor: supported commands The table below lists the commands supported by the devices/demonstration boards including a digital output humidity sensor. Table 9. Digital output humidity sensor: supported commands list Command *setdbXXXVY Description Selects firmware according to the adapter connected *start Starts continuous data acquisition *debug Returns the output data in readable text format *stop Stops data acquisition *zon Forces High impedance state. Turns off VDD and VDDIO power supply. *zoff Exits from High impedance state. Turns on VDD and VDDIO power supply. *dev Device name *ver Firmware version *hrAA Humidity sensor register read *hrmAA1NN Multiple humidity sensor registers read *multi-hrAA1 .. AAN Multiple humidity sensor registers read *hwAADD Humidity sensor register write *single It gets a single point data acquisition *sindebug It gets a single point data acquisition in readable text format *list Prints the list of MKIs supported *listdev *echoon *echooff Prints the list of devices supported Activates the write verbose mode Deactivates the write verbose mode Returned value (See Table 4. Returned values for *start command) e.g.: HTS221 e.g.: V1.5.2 e.g.: HRAAhDDh e.g.: HRMAA1hNNhDD1h...DDNNh e.g.:MULTI-HRAA1hDD1h...AANhDDNh (See Table 4. Returned values for *start command) e.g.: MKI001V1LPS22HB MKI087V1 LIS331DL MKI089V1 LIS331DLH e.g.: LIS331DL LIS331DLH LIS331HH... e.g.: HRAAhDDh UM2116 - Rev 12 page 32/50 4.8 UM2116 Supported commands Digital output temperature sensor: supported commands The table below lists the commands supported by the devices/evaluation boards including a digital output temperature sensor. Table 10. Digital output temperature sensor: supported commands list Command *setdbXXXVY *start *debug *stop *zon *zoff *dev *ver *trAA *trmAA1NN *multi-trAA1 .. AAN *twAADD *single *sindebug *list *listdev *echoon *echooff Description Selects firmware according to the adapter connected Starts continuous data acquisition Returns the output data in readable textformat Stops data acquisition Forces High impedance state. Turns off VDD and VDDIO power supply. Exits from High impedance state. Turns on VDD and VDDIO power supply. Device name Firmware version Temperature sensor register read Multiple temperature sensor registers read Multiple temperature sensor registers read Temperature sensor register write It gets a single point data acquisition It gets a single point data acquisition in readable text format Prints the list of MKIs supported Prints the list of devices supported Activates the write verbose mode Deactivates the write verbose mode Returned value (See: Table 4. Returned values for *start command) e.g.:STTS22H e.g.: V1.5.2 e.g.:TRAAhDDh e.g.: TRMAA1hNNhDD1h...DDNNh e.g.:MULTI-TRAA1hDD1h...AANhDDNh (See: Table 4. Returned values for *start command) e.g.: MKI001V1LPS22HB MKI087V1 LIS331DL MKI089V1 LIS331DLH e.g.: LIS331DL LIS331DLH LIS331HH... e.g.: TRAAhDDh UM2116 - Rev 12 page 33/50 4.9 4.10 UM2116 Supported commands Analog output temperature sensor: supported commands The table below lists the commands supported by the devices/evaluation boards that include an analog output temperature sensor. Table 11. Analog output temperature sensor: supported commands list Command Description *setdbXXXVY Selects firmware according to the adapter connected *odr [param] Sets ODR speed (parameter: ODR in mHz) *start Starts continuous data acquisition *debug *stop *zon *zoff *dev *ver Returns the output data in readable text format Stops data acquisition Forces High impedance state. Turns off VDD and VDDIO power supply. Exits from High impedance state. Turns on VDD and VDDIO power supply. Device name Firmware version *single Gets a single point data acquisition *sindebug Gets a single point data acquisition in readable text format *list Prints the list of STEVAL-MKIxxxxx evaluation boards supported *listdev Prints the list of devices supported Returned value (See Table 4. Returned values for *start command) e.g.: Temp. = 22.93 [°C] e.g.: STLM20 e.g..: V3.7.30 (SeeTable 4. Returned values for *start command) e.g.: Temp. = 22.93 [°C] e.g.: MKI001V1LPS22HB MKI087V1 LIS331DL MKI089V1 LIS331DLH e.g.: LIS331DL LIS331DLH LIS331HH, etc. Configuration of FIFO mode on combined devices For the configuration of combined sensors as iNEMO class LSM6xxx and similar there are no dedicated commands for the Professional MEMS tool intended for device simple setup. As devices are becoming more complex in each generation and with dedicated functionalities it is not possible to implement general dedicated commands. Refer to the respective device data sheet for its exact configuration and, particularly, for FIFO configuration. The meaning of data in FIFO registers then depends on complex FIFO setup defined by the end user. UM2116 - Rev 12 page 34/50 UM2116 Schematic diagrams 5 Schematic diagrams Figure 9. STEVAL-MKI109V3 circuit schematic (1 of 8) Professional_MEMS_Tool_v1.0.5_Vdd_control_Idd_meas Vin ADC_V_REF Analog Signals A Analog Signals B Control Signals A Control Signals B VDD_DUT VDDIO_DUT VDDIO VDD_3.6V VDD_DUT VDDIO_DUT V DDI O Professional_MEMS_Tool_v1.0.5_Adapter VDD_3.6V Log Signals DIR_INT3_INT4 DIR_DEN_CS_A DIR_GP CTR_EN CTR_EN_I2C_SDI LOCK_1V98 TEST_Adapter_Connected TEST_3V6 PWM_TEST TEST_5 TEST_6 Professional_MEMS_Tool_v1.0.5_MCU ADC_V_REF Analog Signals A Analog Signals B Control Signals A Control Signals B VDD_3.6V USB_Disc USB_DUSB_D+ Vext_sense Vusb_sense STM32F401VET6 Log Signals DIR_INT3_INT4 DIR_DEN_CS_A DIR_GP CTR_EN CTR_EN_I2C_SDI LOCK_1V98 TEST_Adapter_Connected TEST_3V6 PWM_TEST TEST_5 TEST_6 BT_RX BT_RTS BT_TX BT_CTS BT_RST MISO_RF MOSI_RF SCK_RF CE_RF Professional_MEMS_Tool_v1.0.5_Power Vin VDD_3.6V USB_Disc USB_DUSB_D+ Vext_sense Vusb_sense Professional_MEMS_Tool_v1.0.5_Bluetooth VDD_3.6V BT_RX BT_RTS BT_TX BT_CTS BT_RST MISO_RF MOSI_RF SCK_RF CE_RF VDD_3.6V ADC_V_REF PWM_A PWM_B RANGE_100x_A RANGE_100x_B VDD_DUT VDDIO_DUT Figure 10. STEVAL-MKI109V3 circuit schematic (2 of 8) Professional_MEMS_Tool_v1.0.5_Vdd_control Vin VDD_3.6V ADC_V_REF PWM_A PWM_B RANGE_100x_A RANGE_100x_B VDD_DUT VDDIO_DUT Vin D S1 SEL S2 1 x AS21P2TLR Sense_Hi_A Sense_Lo_A 5 6 5 6 77 2 x TSV632IQ2T Sense_Hi_B Sense_Lo_B 2 x 2STR2230 2 x STR2N2VH5 2 x STT7P2UH7 Professional_MEMS_Tool_v1.0.5_Idd_measurement_2CH_lin Vin VDD_3.6V Sense_Hi_A Sense_Lo_A Sense_Hi_B Sense_Lo_B 33 22 11 5 x TSZ122IQ2T RANGE_50x_A RANGE_20x_A RANGE_5x_A RANGE_2x_A 5 6 5 6 7 7 1 x TSV632IQ2T TS3431CILT RANGE_20x_B RANGE_5x_B RANGE_2x_B ADC_I_A_(1) ADC_I_A_(2) ADC_V_A FILTER_A_(1) FILTER_A_(2) Control Signals A RANGE_50x_A RANGE_20x_A RANGE_5x_A RANGE_2x_A RANGE_100x_A PWM_A R_50x_A R_20x_A R_5x_A R_2x_A R_100x_A PWM_A Control signals B RANGE_20x_B RANGE_5x_B RANGE_2x_B RANGE_100x_B PWM_B R_20x_B R_5x_B R_2x_B R_100x_B PWM_B ADC_I_A_(1) ADC_I_A_(2) ADC_V_A ADC_log_I_A FILTER_A_(1) FILTER_A_(2) Analog Signals A ADC_I_A_(1) ADC_I_A_(2) ADC_V_A ADC_log_I_A FILTER_A( 1) FILTER_A (2) Control Signals A Control Signals B Analog Signals A ADC_V_REF ADC_log_I_A ADC_log_I_B Professional_MEMS_Tool_v1.0.5_Idd_measurement_2CH_log ADC_V_REF 33 22 11 ADC_log_I_A ADC_log_I_B 2 x TSZ122IQ2T Sense_Hi_A Sense_Hi_B Sense_Lo_ampl_A Sense_Lo_ampl_B VDD_3.6V 4.3V_A 4.3V_B Sense_Lo_ampl_A Sense_Lo_ampl_B 4.3V_A 4.3V_B D S1 SEL S2 4 x AS21P2TLR ADC_I_B ADC_V_B FILTER_B ADC_V_REF VDDIO ADC_I_B ADC_V_B ADC_log_I_B FILTER_B Analog Signals B ADC_I_B ADC_V_B ADC_log_I_B FILTER_B ADC_V_REF VDDIO ADC_V_REF Analog Signals B UM2116 - Rev 12 page 35/50 UM2116 Schematic diagrams Figure 11. STEVAL-MKI109V3 circuit schematic (3 of 8) Dual channel Vdd control CH_A U5B ADC_V_REF Ref 3.00V7 S1 D5 PWM_A 6 S2 SEL 4 AS21P2TLR GND PWM_A R25 470k GND R12 100k PWM + Filter Au = 1.20 U1B 55 66 77 C8 22nF TSV632IQ2T R19 20k R13 100k C9 22nF VDD_set_A C10 22nF GND R22 100k GND GND CH_B Ref 3.00V U5A 2 S1 D 10 PWM_B 1 S2 SEL 9 AS21P2TLR GND PWM_B R44 470k GND R30 100k Au = 1.20 U1A 33 22 11 C15 22nF TSV632IQ2T R36 20k R31 100k C16 22nF VDD_set_B C17 22nF GND R43 100k GND GND PWM controlled Power Supply CH_A 5Vin U2A BC857BT,115 T3 1 3 VDD_set_A 2 2 R175 3 3 11 R60 4k7 4k7 TSV632IQ2T C28 2 C99 100nF R176 4k7 1 To MEMS VDD_DUT J13 2 1 4.7uF R71 R69 100k 10R 0.1% 0805 C30 10uF 3 2 R53 6.8R C22 C23 47uF 100nF R130 10R GND GND T4 2STR2230 GND R59 3k3 C25 10uF Sense_Hi_A T7 R70 1 1k 0.1% 3 4 T2 3 R1315Vin 100k 1 2 5 6 2 STR2N2VH5 STT7P2UH7 1 3 PDTC115EE,115 T6 2 Sense_Lo_A RANGE_100x_A GND VDD_3.6V 3.6V Vin FB1 5Vin 8 GND Vcc 3 AS21P2TLR 3.6V U5C C79 100nF CH_B 5Vin U2B BC857BT,115 T8 1 3 VDD_set_B 6 6 R177 5 5 77 4k7 TSV632IQ2T R100 4k7 C36 2 C100 100nF R178 4k7 1 To MEMS VDDIO_DUT J14 2 1 4.7uF R94 R91 100k 10R 0.1% 0805 C40 10uF 3 2 R113 6.8R C32 C33 47uF 100nF R140 10R GND GND T9 2STR2230 GND R144 3k3 C34 10uF Sense_Hi_B T11 R92 1 1k 0.1% 3 4 T10 3 R1325Vin 100k 1 2 5 6 2 STR2N2VH5 STT7P2UH7 1 3 PDTC115EE,115 T12 2 8 5Vin R157 22R U1C 8 Sense_Lo_B 5Vin R158 22R U2C RANGE_100x_B GND C77 100nF 4 C78 100nF 4 TSV632IQ2T TSV632IQ2T GND GND GND GND GND GND Figure 12. STEVAL-MKI109V3 circuit schematic (4 of 8) V1 - Dual Channel Idd measurement - lin CH_A Sense_Hi_A Sense_Lo_A Sense_Hi_A Sense_Lo_A Au = 1 - 2 - 5 - 10 R9 3k0 0.1% R10 82k R14 4k7 0.1% U8A 10 D S1 2 R15 24k 0.1% U8B 5D S1 R11 10k 7 RANGE_2x_A RANGE_5x_A 9 SEL S2 1 AS21P2TLR R29 GND 470k 4 SEL S2 6 AS21P2TLR R1 470k GND Differential Amp. Au = 5 3.6V R7 U3A 33 22 1 20k 0.1% 1 U3B R8 0.1% C7 55 100k 100pF 6 6 77 TSZ122IQ2T GND GND TSZ122IQ2T R18 R23 R27 20k0.1% 100k 0.1% 27k 0.1% C12 C13 Sense_Lo_ampl_A 100pF 150pF R17 R16 100R 100k U31A C6 33 22 11 470nF TSZ122IQ2T R20 10k GND RB520S30T1G D10 ADC_I_A_(1) C11 100pF 3.6V GND R26 R1631k5 10k RB520S30T1G D11 FILTER_A_(1) C58 100nF GND GND GND Sense_Hi_A Sense_Lo_A RANGE_20x_A RANGE_50x_A Au = 10 - 20 - 50 - 100 R48 R49 8k2 300R 0.1% R52 470R 0.1% U13A 10 D S1 2 9 SEL S2 1 AS21P2TLR R61 GND 470k R4 R51 3k0 0.1% 2k4 0.1% U13B 5D S1 R21 10k 7 4 SEL S2 6 AS21P2TLR R62 470k GND Differential Amp. Au = 10 R2 U15A 33 22 1 10k 0.1% 1 U15B R3 0.1% C19 5 5 100k 100pF 6 6 77 TSZ122IQ2T GND GND TSZ122IQ2T R55 R56 R58 10k 0.1% 100k 0.1% 27k 0.1% C20 R33 100k C21 470nF R50 100R U31B 55 66 77 TSZ122IQ2T C24 150pF 100pF R57 10k GND 3.6V RB520S30T1G D12 ADC_I_A_(2) C65 100pF 3.6V GND R101 1k5 R164 10k RB520S30T1G D13 FILTER_A_(2) C67 100nF GND GND GND U32A Sense_Lo_A 3 3 22 11 TSZ122IQ2T R24 0.1% 10k R28 0.1% 10k C88 22nF ADC_V_A GND GND VDD_3.6V 3.6V 4.3V_A 4.3V_A 4.3V_A 8 U3C 8 8 U31C U15C TSZ122IQ2T TSZ122IQ2T TSZ122IQ2T 4 4 4 GND GND GND 4.3V_A 4.3V_A 4.3V_A C81 100nF C92 100nF C82 100nF GND GND GND CH_B Sense_Hi_B Sense_Lo_B RANGE_5x_B RANGE_20x_B Au = 1 - 5 - 20 - 100 Sense_Lo_B R88 20k 0.1% R84 3k0 0.1% R85 1k5 0.1% R87 U17A 10 D 300R 0.1% S1 2 9 SEL S2 1 AS21P2TLR R151 GND 470k R66 137k R116 6k8 0.1% U17B 5D S1 4 SEL S2 AS21P2TLR R156 470k GND R67 10k 7 6 U16A 33 22 11 TSZ122IQ2T R147 27k 0.1% C66 150pF Sense_Lo_ampl_B RANGE_2x_B Differential Amp. Au = 5 - 10 U9A 10 D S1 9 SEL S2 AS21P2TLR R63 20k 0.1% 2 R65 20k 0.1% U16B R64 0.1% C27 5 5 100k 100pF 6 6 77 1 TSZ122IQ2T GND GND R141 R142 U9B 5D S1 7 4 SEL S2 6 AS21P2TLR 20k0.1% R149 20k0.1% 100k0.1% C64 100pF R128 100k C26 470nF R143 10k GND R166 100R U32B 55 66 77 TSZ122IQ2T 3.6V RB520S30T1G D14 ADC_I_B C86 100pF 3.6V GND R174 1k5 R165 10k RB520S30T1G D15 FILTER_B C87 100nF R160 470k GND GND GND GND U11B Ref 3.00V 5 5 66 77 TSV632IQ2T R96 R97 270k GND 120k R93 4.3V_A C37 22R C3180uF R98 4.3V_BC41100nF 22R C4120uF 100nF GND 5Vin_1 R89 470R C39 10uF Ref 3.00V ADC_V_REF R95 5k1 0.1% TS3431CILT U10 R99 3k6 0.1% GND GND GND 4.3V_A 4.3V_A 4.3V_B 4.3V_B R159 Vin 22R5Vin_1 4.3V_A 4.3V_A 4.3V_B 4.3V_B U8C U13C U9C U17C 8 GND Vcc 3 AS21P2TLR 8 GND Vcc 3 AS21P2TLR 8 GND Vcc 3 AS21P2TLR 8 GND Vcc 3 AS21P2TLR GND GND GND GND 8 5Vin_1 5Vin_1 U11C C80 100nF U11A Sense_Lo_B3 3 22 11 TSV632IQ2T R86 10R R148 0.1% 10k R150 0.1% 10k ADC_V_B C91 22nF GND GND TSV632IQ2T 4 GND GND 4.3V_B U16C 8 TSZ122IQ2T 4 4.3V_B 8 GND 4.3V_B U32C C96 100nF TSZ122IQ2T 4 GND GND To Level Shifters VL VDDIO C35 1uF GND UM2116 - Rev 12 page 36/50 UM2116 Schematic diagrams Figure 13. STEVAL-MKI109V3 circuit schematic (5 of 8) Power Supply: Ext. Power 5V Automatic switching over from Vusb to Vext +Vext 1 2 J4 GND C85 100nF GND BAS16XV2T1G D7 +Vusb 1 2 NOT Assembled 3 STT7P2UH7 6 5 T17 2 1 4 NOT Assembled R201 0R Vext_sense 2STR2230 Vin 2 3 NOT Assembled T18 1 R202 0R D201 R167 10k R54 100k 1 3 R124 1k5 T20 NTA4153NT1G 2 GND Vusb_sense T22 BC857BT,115 GND 2STR2230 2 3 T19 1 R125 1k5 3 3 R119 R68 100k 100k T21 1 NTA4153NT1G Vin C4 1uF U25 LDK220M36R 1 Vin Vout 5 3 C59 EN ByPass/Adj 4 100nF GND 3.6V C60 1uF VDD_3.6V C61 100nF 2 GND GND GND GND GND Power Supply: - VDD_3.6V ... Power supply for micro & BT - Vin ... 5V for Idd meas. analog circuits & VDD_DUT/ VDDIO_DUT 2 GND GND GND USB Connection: +Vusb +Vusb USB V+ DM DP ID GND 1 2 3 4 5 0 J5 GND DD+ GND GND U27 1 I/O1 I/O1 ESD 2 GND VBUS 3 I/O2 I/O2 USBLC6-2P6 6 R134 USB D- USB_D- 5 22R 4 R135 USB D+ USB_D+ 22R C63 100nF GND USB Connection: - USB device enumeration signal LED - USB ESD filter USB_Disc 3.6V +Vusb 3.6V R136 1k R90 47k BC846S R133 10k 2 6 BC846S T16A 3 5 T16B R138 36k 4 GND GND 1 D6 R139 1k5 R137 470R GND USB D+ Figure 14. STEVAL-MKI109V3 circuit schematic (6 of 8) Level Translation: Log Signals DIR_DEN_CS_A 3.6V Logic_signals1 DIR_GP R146 33k 3.6V U28 3 Vcc_A 4 5 1DIR 2DIR Vcc_B 1OE 2OE VDDIO 2 1 16 R145 33k CTR_EN DEN CS_A GP DEN_uP CS_A_uP GP_uP 6 7 8 9 1A1 1A2 2A1 2A2 1B1 1B2 2B1 2B2 15 14 13 12 DEN CS_A GP 10 GND GND 11 1.2 to 3.6V SN74AVC4T245RSVR 3.6V U29 3 Vcc_A Vcc_B 2 VDDIO DIR_INT3_INT4 4 5 1DIR 2DIR 1OE 2OE 1 16 CTR_EN CTR_EN INT2 INT1 INT3 INT4 INT2_uP INT1_uP INT3_uP INT4_uP 6 7 8 9 1A1 1A2 2A1 2A2 1B1 1B2 2B1 2B2 15 14 13 12 INT2 INT1 INT3 INT4 R153 R152 R154 R155 100k 100k 100k 100k 10 GND GND 11 1.2 to 3.6V SN74AVC4T245RSVR CS SCL SDA SDO CS_uP SCL_uP SDA_uP SDO_uP U30 3.6V 11 Vcc_B Vcc_A 1 VDDIO 10 9 8 7 B1 B2 B3 B4 A1 A2 A3 A4 2 3 4 5 CS SCL SDA SDO 6 GND OE 12 CTR_EN_I2C_SDI CTR_EN_I2C_SDI 1.65 to 5.5V NTS0104GU12 SDO_x SD_x SC_x CS_x SDO_x_uP SD_x_uP SC_x_uP CS_x_uP U33 3.6V 11 Vcc_B Vcc_A 1 VDDIO 10 9 8 7 B1 B2 B3 B4 A1 A2 A3 A4 2 3 4 5 SDO_x SD_x SC_x CS_x 6 GND OE 12 CTR_EN_I2C_SDI 1.65 to 5.5V NTS0104GU12 DIL24 Device Adapter: DIL24 Device Adapter - VDD and VDDIO pin separated 1 2 3 4 5 6 7 8 VDD_DUT VDDIO_DUT CS_x SC_x SD_x SDO_x TEST_5 TEST_6 1 2 3 4 5 6 7 8 9 9 10 10 11 11 12 12 24 23 22 21 20 19 18 17 16 15 14 13 GP DEN SDO SDA SCL CS CS_A INT4 INT3 INT2 INT1 GND 24 23 22 21 20 19 18 17 16 15 14 13 J1 J2 J3 LOCK_1V98 PWM_TEST TEST_3V6 TEST_Adapter_Connected VDD_DUT VDDIO_DUT VDD_DUT VDDIO_DUT TEST_6 TEST_5 TEST_6 TEST_5 C97 22nF C98 22nF GND GND VDD_3.6V 3.6V VDDIO VDDIO 3.6V VDDIO C72 C73 C74 C75 C102 4.7uF 100nF 100nF 100nF 100nF C68 C69 C70 C71 C101 4.7uF 100nF 100nF 100nF 100nF GND GND UM2116 - Rev 12 page 37/50 UM2116 Schematic diagrams Figure 15. STEVAL-MKI109V3 circuit schematic (7 of 8) Bluetooth Module Connection: BT_RTS BT_TX 3.6V U22 2.5V 8 Vcc_B Vcc_A 1 7 B1 A1 2 6 B2 A2 3 5 GND OE 4 1.2 to 3.6V SN74AVC2T244DQMR GND GND R5 33k GND R6 33k VDD_3.6V GND 3.6V U19 LDK120PU25R 6 Vin Vout 1 4 EN ByPass/Adj 3 C2 100nF GND N/C 2.5V C3 10nF C1 100nF BT_RTS_s BT_RST CE_RF CS_RF SCK_RF BT_MTOXS_Is_RF MISO_RF IRQ_RF / CS_SPI BT_CTS BT_RX GND 3.6V 1 2 3 4 5 6 7 8 J9 1 2 3 J8 GND 2 LED1 5 LED2 LED3 GND GND GND GND GND Figure 16. STEVAL-MKI109V3 circuit schematic (8 of 8) GND Vext_sense Vusb_sense LOCK_1V98 R161 ADC_V_REF R162 1k 100k 0.1% C84 100nF USB_Disc USB_DUSB_D+ ADC_I_A_(1) ADC_I_A_(2) ADC_V_A ADC_log_I_A CS_x_uP Vusb_sens/2 I2C3_SCL SW1 U24 23 24 25 26 29 30 31 32 67 68 69 70 71 PA0 / ADC0 / USART2_CTS / TIM2_CH1 / TIM2_ETR / TIM5_CH1 / WKUP PA1 / ADC1 / USART2_RTS / TIM2_CH2 / TIM5_CH2 PA2 / ADC2 / USART2_TX / TIM2_CH3 / TIM5_CH3 / TIM9_CH1 PA3 / ADC3 / USART2_RX / TIM2_CH4 / TIM5_CH4 / TIM9_CH2 PA4 / ADC4 / SPI1_NSS / SPI3_NSS / I2S3_WS / USART2_CK PA5 / ADC5 / SPI1_SCK / TIM2_CH1 / TIM2_ETR ADC10 / PC0 ADC11 / PC1 ADC12 / SPI2_MISO / I2S2ext_SD / PC2 ADC13 / SPI2_MOSI / I2S2_SD / PC3 ADC14 / PC4 ADC15 / PC5 15 16 17 18 33 34 PA6 / PA7 / PA8 / PA9 / PA10 PA11 PA12 ADC6 / SPI1_MISO / TIM1_BKIN / TIM3_CH1 ADC7 / SPI1_MOSI / TIM1_CH1N / TIM3_CH2 I2S2_MCK / USART6_TX / TIM3_CH1 / SDIO_D6 / PC6 I2S3_MCK / USART6_RX / TIM3_CH2 / SDIO_D7 / PC7 I2C3_SCL / USART1_CK / TIM1_CH1 / OTG_FS_SOF / MCO_1 USART6_CK / TIM3_CH3 / SDIO_D0 / PC8 I2C3_SMBA / USART1_TX / TIM1_CH2 / OTG_FS_VBUS I2S_CKIN / I2C3_SDA / TIM3_CH4 / SDIO_D1 / MCO_2 / PC9 / USART1_RX / TIM1_CH3 / OTG_FS_ID SPI3_SCK / I2S3_CK / SDIO_D2 / PC10 / USART1_CTS / USART6_TX / TIM1_CH4 / OTG_FS_DM I2S3ext_SD / SPI3_MISO / SDIO_D3 / PC11 / USART1_RTS / USART6_RX / TIM1_ETR / OTG_FS_DP SPI3_MOSI / I2S3_SD / SDIO_CK / PC12 63 64 65 66 78 79 80 R170 100k Vext_sens/2 JTMS_SWDIO 72 JTCK_SWCLK 76 JTDI 77 PA13 / *JTMS-SWDIO* PA14 / *JTCK-SWCLK* PA15 / *JTDI* / SPI1_NSS / SPI3_NSS / I2S3_WS / TIM2_CH1/ TIM2_ETR RTC_TAMP1 / RTC_OUT / RTC_TS / PC13 OSC32_IN / PC14 OSC32_OUT / PC15 7 8 9 R171 100k C93 22nF Vext_sens/2 TEST_5 BOOT0 GND R172 100k Vusb_sens/2 R173 100k C94 22nF BOOT1 JTDO JNTRST INT2_uP I2C_SCL I2C_SDA INT1_uP CS_A_uP SW2 GND 3.6V FB2 R102 CS_uP SPI2_SCL SDO_uP SPI2_SDA 22R C43 C44 1uF 100nF C45 C46 1uF 100nF 35 36 94 37 89 90 91 92 93 95 96 47 51 52 53 54 22 21 20 PB0 / ADC8 / TIM1_CH2N / TIM3_CH3 PB1 / ADC9 / TIM1_CH3N / TIM3_CH4 PD0 PD1 Vpp / BOOT0 TIM3_ETR / SDIO_CMD / PD2 SPI2_SCK / I2S2_CK / USART2_CTS / PD3 PB2 / BOOT1 USART2_RTS / PD4 USART2_TX / PD5 PB3 / *JTDO-SWO* / SPI1_SCK / SPI3_SCK / I2S3_CK / I2C2_SDA / TIM2_CH2 SPI3_MOSI / I2S3_SD / USART2_RX / PD6 PB4 / *NJTRST* / SPI1_MISO / SPI3_MISO / I2S3ext_SD / I2C3_SDA / TIM3_CH1 USART2_CK / PD7 81 82 83 84 85 86 87 88 PB5 / SPI1_MOSI / SPI3_MOSI / I2S3_SD / I2C1_SMBA / TIM3_CH2 PB6 / I2C1_SCL / USART1_TX / TIM4_CH1 PB7 / I2C1_SDA / USART1_RX / TIM4_CH2 PB8 / I2C1_SCL / TIM4_CH3 / TIM10_CH1 SDIO_D4 PB9 / SPI2_NSS / I2S2_WS / I2C1_SDA / TIM4_CH4 / TIM11_CH1 / SDIO_D5 PB10 / SPI2_SCK / I2S2_CK / I2C2_SCL / TIM2_CH3 PB12 / SPI2_NSS / I2S2_WS / I2C2_SMBA / TIM1_BKIN PB13 / SPI2_SCK / I2S2_CK / TIM1_CH1N PD8 PD9 PD10 PD11 TIM4_CH1 / PD12 TIM4_CH2 / PD13 TIM4_CH3 / PD14 TIM4_CH4 / PD15 55 56 57 58 59 60 61 62 PB14 / SPI2_MISO / I2S2ext_SD / TIM1_CH2N PB15 / SPI2_MOSI / I2S2_SD / TIM1_CH3N / RTC_REFIN VDDA VREF+ VSSA/VREF- TIM4_ETR / PE0 PE1 SPI4_SCK / TRACECLK / PE2 TRACED0 / PE3 SPI4_NSS / TRACED1 / PE4 SPI4_MISO / TIM9_CH1 / TRACED2 / PE5 SPI4_MOSI / TIM9_CH2 / TRACED3 / PE6 97 98 1 2 3 4 5 GND GND C47 ABM8-16.000MHZ-B2-T 1 18pF GND C48 2 4 3 X1 R103 18pF 100R NTRST GND 12 13 14 48 73 6 PH0 / OSC_IN PH1 / OSC_OUT NRST VCAP1 VCAP2 VBAT TIM1_ETR / PE7 TIM1_CH1N / PE8 TIM1_CH1 / PE9 TIM1_CH2N / PE10 SPI4_NSS / TIM1_CH2 / PE11 SPI4_SCK / TIM1_CH3N / PE12 SPI4_MISO / TIM1_CH3 / PE13 SPI4_MOSI / TIM1_CH4 / PE14 TIM1_BKIN / PE15 38 39 40 41 42 43 44 45 46 FILTER_B ADC_I_B ADC_log_I_B ADC_V_B FILTER_A_(1) FILTER_A_(2) PWM_A PWM_B I2C3_SDA I2C3_SCL PWM_TEST SC_x_uP SDO_x_uP SD_x_uP GPI DIR_DEN_CS_A Cal TEST_Adapter_Connected DIR_INT3_INT4 RANGE_100x_A RANGE_100x_B N/A in BGA100 TEST_6 DEN_uP CS_A_uP GP_uP INT3_uP INT4_uP RANGE_20x_A RANGE_50x_A RANGE_2x_A RANGE_5x_A RANGE_5x_B RANGE_20x_B RANGE_2x_B CTR_EN_I2C_SDI BT_RTS BT_CTS BT_RX BT_TX BT_RST DIR_GP CTR_EN LED2 LED3 LED1 CS_RF IRQ_RF / CS_SPI I2C3_SCL I2C3_SDA SCK_RF MISO_RF MOSI_RF CE_RF Control Signals A RANGE_50x_A RANGE_20x_A RANGE_5x_A RANGE_2x_A RANGE_100x_A PWM_A R_50x_A R_20x_A R_5x_A R_2x_A R_100x_A PWM_A Control signals B RANGE_20x_B RANGE_5x_B RANGE_2x_B RANGE_100x_B PWM_B R_20x_B R_5x_B R_2x_B R_100x_B PWM_B ADC_I_A_(1) ADC_I_A_(2) ADC_V_A ADC_log_I_A FILTER_A_(1) FILTER_A_(2) Analog Signals A ADC_I_A_(1) ADC_I_A_(2) ADC_V_A ADC_log_I_A FILTER_A( 1) FILTER_A (2) ADC_I_B ADC_V_B ADC_log_I_B FILTER_B Analog Signals B ADC_I_B ADC_V_B ADC_log_I_B FILTER_B GP_uP DEN_uP CS_A_uP INT1_uP INT2_uP INT3_uP INT4_uP SDO_uP SDA_uP SCL_uP CS_uP SDO_x_uP SD_x_uP SC_x_uP CS_x_uP Logic_signals1 GP DEN CS_A INT1 INT2 INT3 INT4 SDO SDA SCL CS SDO_x SD_x SC_x CS_x 2 VDD_3.6V 3.6V 1 BT3 C49 100nF C50 C76 2.2uF 2.2uF 11 19 28 50 75 100 VDD VDD VDD VDD VDD VDD GND GND GND 3.6V STM32F401VET6 STM32F401VET6 LQFP100 VSS VSS VSS VSS VSS 10 27 49 74 99 GND 2 R179 Cal 1 10k J10 GND Production Test Start TEST_3V6 2 1 3.6V J11 Production Tester Interconnection Check Control Signals A Control Signals B Analog Signals A Analog Signals B Log Signals 2 R180 GPI 1 10k J12 GND GPI C51 C52 C53 C54 C55 C56 C57 4.7uF 100nF 100nF 100nF 100nF 100nF 100nF GND JTAG/SWO Interface: 3.6V 12 34 56 78 9 10 J6 R120 R121 R122 10k 10k 10k JTMS_SWDIO JTCK_SWCLK JTDO JTDI NRST R129 10k J7 2 1 R123 10k JNTRST Signal LEDs: 3.6V 3.6V 3.6V R107 330R D1 R108 470R D2 R106 220R D3 BOOT Mode Selection: 3.6V Not Mounted R104 R105 10k 10k BOOT0 BOOT1 SW2 R109 R110 10k 10k GND BOOT Mode Selection: - Default boot from FLASH (BOOT0 low, BOOT1 low) User Switches: 3.6V 3.6V 1 1 BT1 BT2 2 2 SW1 SW2 R111 R112 10k 10k Interrupt LED signalization: 3.6V 3.6V R114 330R D4 D5 R115 220R 3 3 T13 INT1_uP 1 R126 100k 2 2 T14 1 INT2_uP R127 100k I2C and SPI connection: 3.6V R117 4k7 R118 4k7 I2C_SDA I2C_SCL SDA_uP SCL_uP SPI2_SCL SPI2_SDA GND GND GND GND UM2116 - Rev 12 page 38/50 6 Certified MEMS evaluation boards/kits The following MEMS evaluation boards are certified: · STEVAL-MET001V1 · STEVAL-MKI015V1 · STEVAL-MKI089V1 · STEVAL-MKI092V2 · STEVAL-MKI105V1 · STEVAL-MKI106V1 · STEVAL-MKI107V2 · STEVAL-MKI109V2 · STEVAL-MKI109V3 · STEVAL-MKI110V1 · STEVAL-MKI122V1 · STEVAL-MKI123V1 · STEVAL-MKI125V1 · STEVAL-MKI127V1 · STEVAL-MKI133V1 · STEVAL-MKI134V1 · STEVAL-MKI135V1 · STEVAL-MKI136V1 · STEVAL-MKI137V1 · STEVAL-MKI141V2 · STEVAL-MKI142V1 · STEVAL-MKI151V1 · STEVAL-MKI153V1 · STEVAL-MKI154V1 · STEVAL-MKI158V1 · STEVAL-MKI159V1 · STEVAL-MKI160V1 · STEVAL-MKI164V1 · STEVAL-MKI165V1 · STEVAL-MKI166V1 · STEVAL-MKI167V1 · STEVAL-MKI168V1 · STEVAL-MKI169V1 · STEVAL-MKI170V1 · STEVAL-MKI172V1 · STEVAL-MKI173V1 · STEVAL-MKI174V1 · STEVAL-MKI175V1 · STEVAL-MKI176V1 · STEVAL-MKI177V1 · STEVAL-MKI178V1 · STEVAL-MKI178V2 · STEVAL-MKI179V1 · STEVAL-MKI180V1 · STEVAL-MKI181V1 · STEVAL-MKI182V1 · STEVAL-MKI182V2 UM2116 - Rev 12 UM2116 Certified MEMS evaluation boards/kits page 39/50 · STEVAL-MKI183V1 · STEVAL-MKI184V1 · STEVAL-MKI185V1 · STEVAL-MKI186V1 · STEVAL-MKI188V1 · STEVAL-MKI189V1 · STEVAL-MKI190V1 · STEVAL-MKI191V1 · STEVAL-MKI192V1 · STEVAL-MKI193V1 · STEVAL-MKI194V1 · STEVAL-MKI195V1 · STEVAL-MKI196V1 · STEVAL-MKI197V1 · STEVAL-MKI198V1K · STEVAL-MKI199V1K · STEVAL-MKI200V1K · STEVAL-MKI201V1K · STEVAL-MKI202V1K · STEVAL-MKI203V1K · STEVAL-MKI204V1K · STEVAL-MKI205V1 · STEVAL-MKI206V1 · STEVAL-MKI207V1 · STEVAL-MKI208V1K · STEVAL-MKI209V1K · STEVAL-MKI210V1K · STEVAL-MKI210V2K · STEVAL-MKI211V1K · STEVAL-MKI212V1 · STEVAL-MKI213V1 · STEVAL-MKI214V1 · STEVAL-MKI215V1 · STEVAL-MKI216V1K · STEVAL-MKI217V1 · STEVAL-MKI218V1 · STEVAL-MKI219V1 · STEVAL-MKI220V1 · STEVAL-MKI221V1 · STEVAL-MKI224V1 · STEVAL-MKI225A · STEVAL-MKI228KA · STEVAL-MKI229A · STEVAL-MKI230KA · STEVAL-MKI231KA · STEVAL-MKI232A · STEVAL-MKI233KA · STEVAL-MKI234KA · STEVAL-MKI235KA · STEVAL-MKI236A UM2116 - Rev 12 UM2116 Certified MEMS evaluation boards/kits page 40/50 · STEVAL-MKI237KA · STEVAL-MKI238A · STEVAL-MKI239A · STEVAL-MKI241KA · STEVAL-MKI242A · STEVAL-MKI243A UM2116 Certified MEMS evaluation boards/kits UM2116 - Rev 12 page 41/50 7 Note: Note: UM2116 Regulatory compliance information Regulatory compliance information This regulatory compliance information applies to all the boards listed in Section 6: Certified MEMS evaluation boards/kits. The evaluation kit with order code STEVAL-MKIxxxY contains the board whose finished good is STEVAL$MKIxxxYA (x is a number and Y is a letter). Formal Notice Required by the U.S. Federal Communications Commission FCC NOTICE This kit is designed to allow: (1) Product developers to evaluate electronic components, circuitry, or software associated with the kit to determine whether to incorporate such items in a finished product and (2) Software developers to write software applications for use with the end product. This kit is not a finished product and when assembled may not be resold or otherwise marketed unless all required FCC equipment authorizations are first obtained. Operation is subject to the condition that this product not cause harmful interference to licensed radio stations and that this product accept harmful interference. Unless the assembled kit is designed to operate under part 15, part 18 or part 95 of this chapter, the operator of the kit must operate under the authority of an FCC license holder or must secure an experimental authorization under part 5 of this chapter 3.1.2. Formal Product Notice Required by Industry Canada Innovation, Science and Economic Development Canada compliance: For evaluation purposes only. This kit generates, uses, and can radiate radio frequency energy and has not been tested for compliance with the limits of computing devices pursuant to Industry Canada (IC) rules. À des fins d'évaluation uniquement. Ce kit génère, utilise et peut émettre de l'énergie radiofréquence et n'a pas été testé pour sa conformité aux limites des appareils informatiques conformément aux règles d'Industrie Canada (IC). Formal product notice required by EU This device is in conformity with the essential requirements of the Directive 2014/30/EU (EMC) and of the Directive 2015/863/EU (RoHS). UM2116 - Rev 12 page 42/50 Revision history Date 05-Oct-2016 26-Feb-2018 27-Jul-2018 23-Jan-2019 02-Jul-2019 07-Oct-2019 03-Mar-2020 15-Jul-2020 30-Jun-2021 21-Apr-2022 UM2116 Table 12. Document revision history Version 1 2 3 4 5 6 7 8 9 10 Changes Initial release. Updated List of supported MEMS adapter boards, List of supported commands and Returned values for *start command Updated List of supported MEMS adapter boards, List of supported commands and Returned values for *start command Changed all descriptions for *Zon to "Forces High impedance state" (was Forces 3-state) and *Zoff to "Exits from High impedance state" (was Exits from 3-state) Minor text changes Updated Table 1. List of supported MEMS adapter boards and Table 3. Returned values for *start command. Added Section 4.8 Digital output temperature sensor: supported commands. Updated Table 1. List of supported MEMS adapter boards and Table 3. Returned values for *start command. Updated Section 2 Professional MEMS Tool board installation, Table 1. List of supported MEMS adapter boards and Table 3. Returned values for *start command. Added Section 2.2.1 Firmware upgrade on Windows. Updated Table 1. List of supported MEMS adapter boards and Table 3. Returned values for *start command. Updated Section 2.2.3 DFU on Mac OS®, Section 3 Supported MEMS adapter boards, Section 4.2 Supported commands, Section 4.2.2 *start, Section 4.3 Digital output accelerometers: supported commands, Section 4.4 Digital output gyroscopes: supported commands, Section 4.5 Digital output magnetometers: supported commands, Section 4.6 Digital output pressure sensor: supported commands, Section 4.7 Digital output humidity sensor: supported commands and Section 4.8 Digital output temperature sensor: supported commands. Added Section 4.2.21 *sindebug, Section 4.2.50 *odr [p1], Section 4.2.51 *get_i [p1] [p2] [p3] [p4], Section 4.2.52 *get_v [p1], Section 4.2.53 *ranges_auto and *ranges_man, Section 4.2.54 *range_ma [p1] and *range_mb [p1], Section 4.2.55 *adc_run_time [p1], Section 4.2.56 *adc_uni_stop and Section 4.9 Analog output temperature sensor: supported commands. Updated Section 2 Professional MEMS Tool board installation, Section 2.1 Hardware installation, Section 3 Supported MEMS adapter boards and Section 4.2.2 *start. Added Section 4.10 Configuration of FIFO mode on combined devices. Updated Section 3 Supported MEMS adapter boards, Firmware upgrade using DFU mode, Section 4.2 Supported commands, Section 4.2.2 *start, Section 4.2.22 *list, Section 4.3 Digital output accelerometers: supported commands, Section 4.4 Digital output gyroscopes: supported commands, Section 4.5 Digital output magnetometers: supported commands, Section 4.6 Digital output pressure sensor: supported commands, Section 4.7 Digital output humidity sensor: supported commands, Section 4.8 Digital output temperature sensor: supported commands, and UM2116 - Rev 12 page 43/50 Date 25-Jan-2024 02-May-2024 UM2116 Version 11 12 Changes Section 4.9 Analog output temperature sensor: supported commands. Added Section 2.2 Firmware upgrade, Section 2.2.1 Entering DFU mode, Section 2.2.2 Firmware upgrade on Windows with STM32CubeProgrammer using *.bin source files, Section 2.2.3 DFU on Windows using the older DfuSe software, Section 6 Certified MEMS evaluation boards/kits, and Section 7 Regulatory compliance information. Removed Section 2.2.1 Firmware upgrade on Windows. Updated Section 3: Supported MEMS adapter boards, Section 4: Supported commands, Section 4.2.2: *start, Section 4.2.5: *zon and *zoff, Section 4.2.48: *power_on and *power_off, Section 4.3: Digital output accelerometers: supported commands and Section 6: Certified MEMS evaluation boards/kits Section ''*setvddaX.Y and *setvddioX.Y'' changed to Section 4.2.47: *set_vddaV.VVV and *set_vddioV.VVV. Added STEVAL-MKI242A. UM2116 - Rev 12 page 44/50 UM2116 Contents Contents 1 Demonstration kit description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Professional MEMS Tool board installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1 Hardware installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Firmware upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1 Entering DFU mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.2 Firmware upgrade on Windows with STM32CubeProgrammer using *.bin source files. . . . 7 2.2.3 DFU on Windows using the older DfuSe software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.4 DFU on Linux® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.5 DFU on Mac OS® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Supported MEMS adapter boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 4 Supported commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 4.1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1.1 Quick start. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 Supported commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.1 *setdbXXXVY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.2 *start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.3 *debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2.4 *stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2.5 *zon and *zoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2.6 *dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2.7 *ver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.8 *rAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.9 *wAADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.10 *grAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.11 *gwAADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2.12 *mrAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2.13 *mwAADD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2.14 *prAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2.15 *pwAADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.16 *hrAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.17 *hwAADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.18 *trAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.19 *twAADD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.20 *single . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.21 *sindebug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.22 *list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 UM2116 - Rev 12 page 45/50 UM2116 Contents 4.2.23 *listdev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.24 *echoon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.25 *echooff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.26 *fiforst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.27 *fifomde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.28 *fifostr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.29 *fifostf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.30 *fifobtf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.31 *fifobts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.32 *fifodstr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.33 *gfiforst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.34 *gfifomde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.35 *gfifostr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.36 *gfifostf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.37 *gfifobtf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.38 *gfifobts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.39 *gfifodstr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.40 *pfiforst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.41 *pfifomde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.42 *pfifostr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.43 *pfifostf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.44 *pfifobtf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.45 *pfifobts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.46 *pfifodstr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.47 *set_vddaV.VVV and *set_vddioV.VVV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.48 *power_on and *power_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.49 *odr [p1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.50 *get_i [p1] [p2] [p3] [p4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.51 *get_v [p1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.52 *ranges_auto and *ranges_man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.53 *range_ma [p1] and *range_mb [p1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2.54 *adc_run_time [p1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2.55 *adc_uni_stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3 Digital output accelerometers: supported commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.4 Digital output gyroscopes: supported commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.5 Digital output magnetometers: supported commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.6 Digital output pressure sensor: supported commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.7 Digital output humidity sensor: supported commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 UM2116 - Rev 12 page 46/50 UM2116 Contents 4.8 Digital output temperature sensor: supported commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.9 Analog output temperature sensor: supported commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.10 Configuration of FIFO mode on combined devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5 Schematic diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 6 Certified MEMS evaluation boards/kits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 7 Regulatory compliance information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 List of tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 List of figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 UM2116 - Rev 12 page 47/50 UM2116 List of tables List of tables Table 1. Table 2. Table 3. Table 4. Table 5. Table 6. Table 7. Table 8. Table 9. Table 10. Table 11. Table 12. List of supported MEMS adapter boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 List of supported commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 List of supported commands for power supply control and I/V measurement . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Returned values for *start command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Digital output accelerometers: supported commands list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Digital output gyroscopes: supported commands list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Digital output magnetometer: supported commands list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Digital output pressure sensor: supported commands list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Digital output humidity sensor: supported commands list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Digital output temperature sensor: supported commands list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Analog output temperature sensor: supported commands list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 UM2116 - Rev 12 page 48/50 UM2116 List of figures List of figures Figure 1. Figure 2. Figure 3. Figure 4. Figure 5. Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Demonstration board block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Top silkscreen of the Professional MEMS Tool kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Top view of Professional MEMS Tool kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 How to plug the DIL24 adapter on STEVAL-MKI109V3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Virtual COM port assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Opening the selected .bin file in STM32CubeProgrammer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Programming process in STM32CubeProgrammer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 File download complete message after successful firmware update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 STEVAL-MKI109V3 circuit schematic (1 of 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 STEVAL-MKI109V3 circuit schematic (2 of 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 STEVAL-MKI109V3 circuit schematic (3 of 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 STEVAL-MKI109V3 circuit schematic (4 of 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 STEVAL-MKI109V3 circuit schematic (5 of 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 STEVAL-MKI109V3 circuit schematic (6 of 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 STEVAL-MKI109V3 circuit schematic (7 of 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 STEVAL-MKI109V3 circuit schematic (8 of 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 UM2116 - Rev 12 page 49/50 UM2116 IMPORTANT NOTICE READ CAREFULLY STMicroelectronics NV and its subsidiaries ("ST") reserve the right to make changes, corrections, enhancements, modifications, and improvements 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 order acknowledgment. Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design 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. For additional information about ST trademarks, refer to www.st.com/trademarks. 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. © 2024 STMicroelectronics All rights reserved UM2116 - Rev 12 page 50/50