A system for assuring safe use of a battery pack comprising: a switch connecting the battery pack to a DC power system; a display unit; a state of health (SoH) monitor connected to the battery pack, the SoH monitor including: a processor; and a memory block comprising a non-transitory computer-readable medium with instructions stored thereon, characterized in that when executed by the processor, the processor is adapted to perform the steps: a) instruct the SoH monitor to measure terminal voltage of the battery pack at a beginning of a current flow cycle; b) instruct the SoH monitor to measure terminal voltage of the battery pack after completion of the current flow cycle c) instruct the SoH monitor to successively re-measure terminal voltage of the battery pack after completion of the current flow cycle until one of the successively re-measured terminal voltages is equal to a previous one of the re-measured terminal voltage; d) instruct the SoH monitor to determine and record ampere-hours (Ah) passing through the battery pack during the time period between steps a) and c); e) instruct the SoH monitor to determine SoH of the battery pack as a function of a quotient of a difference between terminal voltages determined in steps a) and c) divided by the Ah determined in step d), and f) instruct the SoH monitor to send the SoH determined in step e) to the display unit for display as an updated SoH of the battery pack; wherein the switch is operable to disconnect the battery pack from the DC power system upon the display unit indicating SoH of the battery pack being below a predetermined value. a switch connecting the battery pack to a DC power system; a display unit; a state of health (SoH) monitor connected to the battery pack, the SoH monitor including: a processor; and a memory block comprising a non-transitory computer-readable medium with instructions stored thereon, characterized in that when executed by the processor, the processor is adapted to perform the steps: a) instruct the SoH monitor to measure terminal voltage of the battery pack at a beginning of a current flow cycle; b) instruct the SoH monitor to measure terminal voltage of the battery pack after completion of the current flow cycle c) instruct the SoH monitor to successively re-measure terminal voltage of the battery pack after completion of the current flow cycle until one of the successively re-measured terminal voltages is equal to a previous one of the re-measured terminal voltage; d) instruct the SoH monitor to determine and record ampere-hours (Ah) passing through the battery pack during the time period between steps a) and c); e) instruct the SoH monitor to determine SoH of the battery pack as a function of a quotient of a difference between terminal voltages determined in steps a) and c) divided by the Ah determined in step d), and f) instruct the SoH monitor to send the SoH determined in step e) to the display unit for display as an updated SoH of the battery pack; a processor; and a memory block comprising a non-transitory computer-readable medium with instructions stored thereon, characterized in that when executed by the processor, the processor is adapted to perform the steps: a) instruct the SoH monitor to measure terminal voltage of the battery pack at a beginning of a current flow cycle; b) instruct the SoH monitor to measure terminal voltage of the battery pack after completion of the current flow cycle c) instruct the SoH monitor to successively re-measure terminal voltage of the battery pack after completion of the current flow cycle until one of the successively re-measured terminal voltages is equal to a previous one of the re-measured terminal voltage; d) instruct the SoH monitor to determine and record ampere-hours (Ah) passing through the battery pack during the time period between steps a) and c); e) instruct the SoH monitor to determine SoH of the battery pack as a function of a quotient of a difference between terminal voltages determined in steps a) and c) divided by the Ah determined in step d), and f) instruct the SoH monitor to send the SoH determined in step e) to the display unit for display as an updated SoH of the battery pack; a) instruct the SoH monitor to measure terminal voltage of the battery pack at a beginning of a current flow cycle; b) instruct the SoH monitor to measure terminal voltage of the battery pack after completion of the current flow cycle c) instruct the SoH monitor to successively re-measure terminal voltage of the battery pack after completion of the current flow cycle until one of the successively re-measured terminal voltages is equal to a previous one of the re-measured terminal voltage; d) instruct the SoH monitor to determine and record ampere-hours (Ah) passing through the battery pack during the time period between steps a) and c); e) instruct the SoH monitor to determine SoH of the battery pack as a function of a quotient of a difference between terminal voltages determined in steps a) and c) divided by the Ah determined in step d), and f) instruct the SoH monitor to send the SoH determined in step e) to the display unit for display as an updated SoH of the battery pack; wherein the switch is operable to disconnect the battery pack from the DC power system upon the display unit indicating SoH of the battery pack being below a predetermined value.