nPM1300 MIKROE Click – VOUT1 and VOUT2 not turning OFF after entering ship mode

I am using nPM1300 MIKROE Click with ESP32 over I2C and enter ship mode by writing the required I2C registers from ESP32.

Observed Behavior

Ship mode command is sent successfully

 VOUT1 is not fully OFF

VOUT2 is not fully OFF

~2.4 V is still present on VOUT2

Board is not completely powered down

Expected Behavior

  • In ship mode, VOUT1 and VOUT2 should be OFF (0 V)

  • PMIC Click board should be completely powered down

Questions

  • Is it expected behavior that VOUT1/VOUT2 are not fully OFF in ship mode?

  • Could back-powering from ESP32 (I2C / GPIO / VDDIO) prevent full shutdown?

  • Are there any additional registers required to disable VOUTs before ship mode?

Attachments

Parents
  • Hello,

    I am using nPM1300 MIKROE Click with ESP32 over I2C and enter ship mode by writing the required I2C registers from ESP32.

    So what do you exactly send to the I2C registers? Do you do anything more than just sending the ship mode command?

    Have you read this page of nPM1300 datasheet? https://docs.nordicsemi.com/bundle/ps_npm1300/page/chapters/core_components/ship/doc/ship-mode.html

    It says for example about waiting for a few events before going into ship mode

     VOUT1 is not fully OFF

    VOUT2 is not fully OFF

    ~2.4 V is still present on VOUT2

    What is the voltage set by you on VOUT1 and VOUT2? Is it 2.4V or something else?

    Is it expected behavior that VOUT1/VOUT2 are not fully OFF in ship mode?
    Are there any additional registers required to disable VOUTs before ship mode?

    Please look at the page I have linked almost at the top. It should say all about the events, how to properly discharge bucks, etc.

    Could back-powering from ESP32 (I2C / GPIO / VDDIO) prevent full shutdown?

    I2C shouldn't, but I don't know how do you connect the rest, especially with those USB-C cables.

    Have you disconnected the USB-C cable from the PMIC before going into ship mode?

    Best regards,

    Michal

  • Hello,

    Even after disabling BUCK1 and BUCK2 before ship mode, I still measure:

    • VOUT1 ≈ 1.8 V

    • VOUT2 ≈ 2.4 V

    Code used:

    void vDisableAllBuck()
    {
      // Disable BUCK1
      vWriteRegister(NPM1300_ADDR, 0x00000400, 0x01, 0x01);
      delay(2);
    
      // Disable BUCK2
      vWriteRegister(NPM1300_ADDR, 0x00000400, 0x03, 0x01);
      delay(2);
    }
    
    void vShipMode()
    {
      stopCharging();
      delay(10);
    
      vDisableAllBuck();
      delay(10);
    
      // Enter ship mode
      vWriteRegister(NPM1300_ADDR, 0x00000B00, 0x02, 0x01);
    }

    Setup details:

    • VOUT1 = 1.8 V

    • VOUT2 = 3.3 V

    • USB-C disconnected before ship mode

    Observation:

    • VOUT1/VOUT2 are not fully OFF after ship mode

    • Voltages look like back-powered rails, not regulated outputs

    According to the nPM1300 datasheet (Ship Mode section), outputs are left high-impedance in ship mode unless discharged beforehand. This suggests:

    • BUCKs may need explicit discharge and event wait before ship mode

    • ESP32 GPIO / VDDIO / I2C lines may be back-powering the rails

    Questions:

    1. Is there a recommended register sequence to fully discharge BUCKs before ship mode?

    2. Any hardware recommendations to avoid back-powering (GPIO isolation, resistors, load switch)?

    Thanks for your guidance.

  • From ship mode documentation:

    When entering Ship mode, BUCK can be configured to discharge by enabling their pull downs, see BUCKCTRL0.

    You should try that. First enable pull downs, then turn off bucks.

    Best regards,

    Michal

Reply Children
No Data
Related