QMC5883L I2C found but cannot communicate

Just bought 3x QMC5883L from amazon and have set them up as per docs.

The I2C scan finds the device but it fails to initialise.

I have tried all 3 devices with 1K pullups, each is detected but none will initialize.

Has anyone else recently succeed with these devices on the latest ESPhome ?

i2c:
  sda: GPIO18
  scl: GPIO19
  scan: true
  # frequency: 10

sensor:
  - platform: qmc5883l
    id: compass_sensor
    address: 0x0d
    range: 800uT
    oversampling: 64x
    update_interval: 10s
    field_strength_x:
      name: "QMC5883L Field Strength X"
    field_strength_y:
      name: "QMC5883L Field Strength Y"
    field_strength_z:
      name: "QMC5883L Field Strength Z"
    heading:
      name: "QMC5883L Heading"
      id: qmc5883l_heading
      unit_of_measurement: "°"
      accuracy_decimals: 1
    temperature:
      name: "QMC5883L Temperature"
      filters:
        - offset: 34.0

Output:

[10:47:34][I][i2c.arduino:096]: Results from i2c bus scan:
[10:47:34][I][i2c.arduino:102]: Found i2c device at address 0x0D
...
...
...
[10:47:34][C][qmc5883l:069]: QMC5883L:
[10:47:34][C][qmc5883l:070]:   Address: 0x0D
[10:47:34][E][qmc5883l:072]: Communication with QMC5883L failed!
[10:47:34][C][qmc5883l:074]:   Update Interval: 60.0s
[10:47:34][C][qmc5883l:076]:   X Axis 'QMC5883L Field Strength X'
[10:47:34][C][qmc5883l:076]:     State Class: 'measurement'
[10:47:34][C][qmc5883l:076]:     Unit of Measurement: 'µT'
[10:47:34][C][qmc5883l:076]:     Accuracy Decimals: 1
[10:47:34][C][qmc5883l:076]:     Icon: 'mdi:magnet'
[10:47:34][C][qmc5883l:077]:   Y Axis 'QMC5883L Field Strength Y'
[10:47:34][C][qmc5883l:077]:     State Class: 'measurement'
[10:47:34][C][qmc5883l:077]:     Unit of Measurement: 'µT'
[10:47:34][C][qmc5883l:077]:     Accuracy Decimals: 1
[10:47:34][C][qmc5883l:077]:     Icon: 'mdi:magnet'
[10:47:34][C][qmc5883l:078]:   Z Axis 'QMC5883L Field Strength Z'
[10:47:34][C][qmc5883l:078]:     State Class: 'measurement'
[10:47:34][C][qmc5883l:078]:     Unit of Measurement: 'µT'
[10:47:34][C][qmc5883l:078]:     Accuracy Decimals: 1
[10:47:34][C][qmc5883l:078]:     Icon: 'mdi:magnet'
[10:47:34][C][qmc5883l:079]:   Heading 'QMC5883L Heading'
[10:47:34][C][qmc5883l:079]:     State Class: ''
[10:47:34][C][qmc5883l:079]:     Unit of Measurement: '°'
[10:47:34][C][qmc5883l:079]:     Accuracy Decimals: 1
[10:47:34][C][qmc5883l:079]:     Icon: 'mdi:screen-rotation'
[10:47:34][C][qmc5883l:080]:   Temperature 'QMC5883L Temperature'
[10:47:34][C][qmc5883l:080]:     Device Class: 'temperature'
[10:47:34][C][qmc5883l:080]:     State Class: 'measurement'
[10:47:34][C][qmc5883l:080]:     Unit of Measurement: '°C'
[10:47:34][C][qmc5883l:080]:     Accuracy Decimals: 1
[10:47:34][E][component:082]:   Component qmc5883l.sensor is marked FAILED

I am at a loss as to what might be wrong, any help appreciated, but especially somebody who is sucessfully using these devices now.

Thanks