MAX30105 I2C problems

First post and not a happy one.
I bought the MAX30105 PCB, hooked it up by guesswork because the instructions, well, there aren’t any. I think I have it right being connected to the 3.3v supply of the top left pin (looking at the Pi with the USB at the bottom) GND picks up with the GND pin 4 places below that and the SDA,SCL and INT pins to the corresponding (GPIO2,3,4) pins in between. I guess this must be right as no other 3.3/5v and 0v pins line up so I’ve not tried any other connection.
I ran “sudo pip install max30105”
I enabled I2C in raspi-config
I opened “” using a sudo IDLE
Then I got this:

Traceback (most recent call last):

  • File “/home/pi/Downloads/max30105-python-master/examples/”, line 10, in *
  • max30105.setup(leds_enable=2)*
  • File “/usr/local/lib/python2.7/dist-packages/max30105/”, line 316, in setup*
  • self.soft_reset()*
  • File “/usr/local/lib/python2.7/dist-packages/max30105/”, line 358, in soft_reset*
  • self._max30105.MODE_CONFIG.set_reset(True)*
  • File “/usr/local/lib/python2.7/dist-packages/i2cdevice/”, line 92, in *
  • return lambda value: self.device.set_field(, name, value)*
  • File “/usr/local/lib/python2.7/dist-packages/i2cdevice/”, line 221, in set_field*
  • self.read_register(*
  • File “/usr/local/lib/python2.7/dist-packages/i2cdevice/”, line 174, in read_register*
  • self.values[] = self._i2c_read(register.address, register.bit_width)*
  • File “/usr/local/lib/python2.7/dist-packages/i2cdevice/”, line 246, in _i2c_read*
  • for x in self._i2c.read_i2c_block_data(self._i2c_address, register, bit_width // self._bit_width):*
    IOError: [Errno 121] Remote I/O error

Does anyone have any suggestions why I’m having this problem?
Pi and MAX30105 are both new from Pimoroni.



Just FYI the product page states the following:
We’ve designed this breakout board so that you can solder on the piece of right-angle female header and pop it straight onto the bottom left 5 pins on your Raspberry Pi’s GPIO header (pins 1, 3, 5, 7, 9).
3-5V goes to pin 1 (3.3V)
SDA goes to pin 3 (SDA)
SCL goes to pin 5 (SCL)
INT goes to pin 7 (GPIO 4)
GND goes to pin 9 (GND)
IMHO the labels on the board are pretty self explanatory. Not trying to rude etc, just saying for future reference.
IO error usually means i2c isn’t working so I’d double check your wiring. While on that subject, did you solder a header onto the MAX30105 breakout?