I have a breakout that comes with two 10kOhm resistors: one on the SDA and one on SCL. The chip takes a max of 3.6V. AFAIK, I2C needs pull-ups on its pins, but could SPI be used on this module? I'm powering it with an Arduino and SCL seems to be around 4.5V - is it too high or is the pull-up going to shift it down?



The schematic of the breakout is essentially this:

enter image description here

  • \$\begingroup\$ Which module? If the I/O pins are specified with a maximum voltage of 3.6v, then you cannot connect it to 4.5v directly. \$\endgroup\$ – rdtsc Nov 25 '15 at 12:57
  • \$\begingroup\$ It's a breakout of LIS3DH . I've updated my question with the schematic. \$\endgroup\$ – John M. Nov 25 '15 at 13:07

If you want to use the SPI bus, you need to remove the pull-up resistors.

You need to connect all wire lines like SDI, SDO, SPC and CS to the master device.

The LIS3DH is not 5V tolerant and the maximum voltage is 3.6V. If you put higher voltage, you will damage the chip inputs.

You can put logic level translator between the Arduino card and your LIS3DH card.

  • \$\begingroup\$ Right. How come it's necessary to remove the pull-ups? \$\endgroup\$ – John M. Nov 25 '15 at 15:41
  • \$\begingroup\$ If the communications protocol is SPI, then pull-ups are not used and even detrimental. They are required for I2C however, as I2C only has open-collector outputs, so can only pull a line low. Two different bus topologies, two different ways to communicate data. \$\endgroup\$ – rdtsc Nov 25 '15 at 17:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.