Skip to main content
KJose.1
Associate II
August 19, 2026
Solved

ISM330DLC - 3 wire SPI mode

  • August 19, 2026
  • 1 reply
  • 45 views

Hi,

How does the 3 wire SPI mode work in ISM330DLC? How is the physical connection for this mode? Are there any changes to be made in register configuration other than enabling SIM bit in register 12h?

Regards,
KJ

Best answer by Federica Bossi

Hi ​@KJose.1 ,

You can refer to AN5125

In 3-wire SPI mode, the device uses:

  • CS on pin 12
  • SPC/SCK on pin 13
  • one single bidirectional data line on pin 14 (SDA)

Pin 14 is SPI serial data input (SDI) and, in 3-wire mode, also serial data output (SDO), which means the same pin is used for both transmit and receive.

The SIM bit in CTRL3_C (12h) selects the SPI mode:

  • SIM = 0 → 4-wire SPI
  • SIM = 1 → 3-wire SPI

Therefore, the physical connection for primary 3-wire SPI is:

  • MCU CS → ISM330DLC CS
  • MCU SCK → ISM330DLC SPC
  • MCU bidirectional SPI data line (SDIO) → ISM330DLC SDA

Pin 1 (SDO/SA0) is the dedicated output pin for 4-wire SPI, while in 3-wire SPI the shared data line is pin 14 (SDA). When SIM = 1, a pull-up is enabled on pin 1.

As for the register configuration, the only setting required to enable primary 3-wire SPI is the SIM bit in CTRL3_C (12h). 

1 reply

Federica Bossi
Federica BossiBest answer
ST Technical Moderator
August 20, 2026

Hi ​@KJose.1 ,

You can refer to AN5125

In 3-wire SPI mode, the device uses:

  • CS on pin 12
  • SPC/SCK on pin 13
  • one single bidirectional data line on pin 14 (SDA)

Pin 14 is SPI serial data input (SDI) and, in 3-wire mode, also serial data output (SDO), which means the same pin is used for both transmit and receive.

The SIM bit in CTRL3_C (12h) selects the SPI mode:

  • SIM = 0 → 4-wire SPI
  • SIM = 1 → 3-wire SPI

Therefore, the physical connection for primary 3-wire SPI is:

  • MCU CS → ISM330DLC CS
  • MCU SCK → ISM330DLC SPC
  • MCU bidirectional SPI data line (SDIO) → ISM330DLC SDA

Pin 1 (SDO/SA0) is the dedicated output pin for 4-wire SPI, while in 3-wire SPI the shared data line is pin 14 (SDA). When SIM = 1, a pull-up is enabled on pin 1.

As for the register configuration, the only setting required to enable primary 3-wire SPI is the SIM bit in CTRL3_C (12h). 

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question.