I have an X-NUCLEO-IKS4A1 mounted on top of a NUCLEO-L476RG and I am trying to connect that to Mems Studio. I get one of the two errors in the attached screenshots. Either "Board not identified" or "Some device is already connected".
The NUCLEO (STM32) must be programmed with compatible firmware with MEMS Studio. You can check chapter 2.6 Hardware and firmware compatibility in UM3233.
NUCLEO-L476RG + X-NUCLEO-IKS4A1 can be used in AlgoBuilder in MEMS Studio.
Sensor evaluation firmware (DatalogExtended) is unfortunately not available for NUCLEO-L476RG, please check X-CUBE-MEMS1 package.
However I am using the NUCLEO-H503RB with the X-NUCLEO-IKS4A1A and I have been trying to build the application using STM32CubeMX with X-CUBE-MEMS1 using the "Device MEMS1 Applications" mode.
I am running the following:
Windows 11 Pro Version 21H2
STM32CubeMX 6.12.0
STM32Cube FW_H5 V1.3.0
X-CUBE-MEMS1 10.0.0
STM32CubeIDE1.16.0
I have also experimented with different X-CUBE-MEMS1 settings without success.
The "Board not identified" message is not helpful as it is.
I don't have at my disposal the NUCLEO-F401 board to compare against.
I don't know what is the root cause of the issue and what to look for:
Is it a firmware/hardware configuration issue in STM32CubeMX?
The "Getting started with the STMicroelectronics X-CUBE-MEMS1 software package for STM32CubeMX" documentation make use of the IC pin numbers for the NUCELO-64 board for the F401, but isn't compatible with every NUCLEO-64 such as the H503RB. So I have to manually remap all the GPIO to the corresponding IKS4A1 which has limited exposure in the documentation).
Is MEMS Studio working properly or are there possible OS, driver, firewall, antivirus interaction?
User error?
Incompatible hardware/firmware? I am unsure unless the H503RB is not supported.
The documentation is lacking a very important aspect which is establishing that all the prerequisites are met:
When attempting to establish communication with the board, what is MEMS Studio looking for? Is it trying to communicate with part of the code within the MCU or is it trying to communicate with the sensor devices over the I2C interface?
Can an incorrectly mapped GPIO between MCU and IKS4A1 be a problem (ie: swapped interrupt lines...)?
Are there any steps, documentation that can describe how the MEMS application on the board is supposed to work? How can I make sure it works on my board?
If the firmware and the hardware isn't the problem, then what would be next?
I do not have any project file. I have only connected the NUCLEO-L476RG to my windows device. I have the X-NUCLEO-IKS4A1 mounted on top of the NUCLEO-L476RG at the same time. I opened MEMS Studio and tried clicking on the Connect button in the Connect Tab after selecting the correct port number. This is the error that is being thrown. How do I successfully connect now?
the MEMS Studio opens the serial port and send "CMD_Read_PresString" command to read presentation string. This string describes the firmware and MEMS Studio can adjust the GUI according to the connected firmware.
The firmware from X-CUBE-MEMS1 will not work properly without appropriate X-NUCLEO board connected so it will not able able to respond to the "CMD_Read_PresString" command and the connection will not be establisted.