Yes, looking at the status register I only see that the device has detected an UVLO and and UVLO on the ADC (both bits = 0). Also OCD is active low, so OCD =1 means no overcurrent detected. UVLO and UVLO_ADC are the ones that keep the red LED on.
An UVLO_ADC is detected because the X-NUCLEO-IHM03A1 by default does not have any component mounted on the ADC pin, so the voltage on it is around zero. In my board I've already some components on ADC, I forgot to specify it :grinning_face_with_sweat: .
I see two possibilities:
- If you don't need the ADC in your application (it is not mandatory to run a motor), you can just disable the related alarm using bit4 in Reg. 0x17 (ALARM_EN).
- If you need ADC, just mount a proper couple of resistor on R27 and R28: UVLO threshold is max. 1.35V, the voltage on ADC pin must not exceed 3.3V.
The other bit UVLO is referred to Vs: at the start up there is always a detection because the voltage supply is ramping-up
All these bits are latched, meaning that even if the UVLO condition is gone, the bits stay in the error condition until a "GetStatus�? command is sent.
I expect that if 18V are applied on Vs and you send a "GetStatus�? , the UVLO bit becomes 1 (error released).