Boron 404X gives battery charge fault when on USB

My boron is not charging when connected to a power source by the USB plug and gives a Fault error. The yellow charge status led flashes about 1/second also indicating a fault.

So far I have:

  • used several different batteries that came with boron or electron orders

  • used several different cables and chargers

  • run SystemPowerConfiguration conf;

    SystemPowerConfiguration conf; System.setPowerConfiguration(conf);  to reset the PMIC
    
  • run diagnostic commands:

    Log.warn("Current PMIC settings:");
    
    Log.warn("VIN Imax_current_mA_max_limit: %u", power.getInputCurrentLimit());
    
    Log.warn("VIN Vmin_V_input_lowest: %u", power.getInputVoltageLimit());
    
    Log.warn("Ichg_current_mA_value: %u", power.getChargeCurrentValue());
    
    Log.warn("Iterm_charge_termination_V: %u", power.getChargeVoltageValue());
    
    int powerSource = System.powerSource(); waitMS(100); 
    
    int batteryState = System.batteryState(); waitMS(100); 
    
    float batterySoc = System.batteryCharge(); waitMS(100); 
    
  • which generated the following results:
    0000001333 [app] WARN: Current PMIC settings:
    0000001334 [app] WARN: VIN Imax_current_mA_max_limit: 900
    0000001335 [app] WARN: VIN Vmin_V_input_lowest: 3880
    0000001336 [app] WARN: Ichg_current_mA_value: 896
    0000001337 [app] WARN: Iterm_charge_termination_V: 4112
    0000001640 [app] WARN: Power source: usb host
    0000001640 [app] WARN: Battery state: 5-fault
    0000001640 [app] WARN: Battery charge: 77.984375

Any suggestions for something that might fix this fault is appreciated.

john

The battery fault is determined by the bq24195 PMIC in hardware. If swapping out the battery did not solve the problem, it could be a hardware failure.

Under normal conditions, the steps you have done should have cleared the fault.

Thanks for the feedback. After much more poking around my code I finally have the problem solved: It was that I had “hidden” among my code a command:

SystemPowerConfiguration conf;

conf.batteryChargeVoltage(3504); as part of an effort to stop charging when temperatures are below -10C. So even though I reset the PMIC to default, I later set the termination charge voltage to 3.504. This caused the system to indicate a fault (error 5) for battery state. I’m not sure why it didn’t just report battery charged but my approach to cold weather was misguided in several ways. So I deleted that code and the boron now charges the battery fine.
My code has gotten too bulky and messy to debug easily so I think I need to do some major code clean-up. john

1 Like