State-of-charge is an important variable in a battery management system. However, it cannot be measured directly from a battery. Instead, it is estimated from measurable variables like current and voltage. This paper addresses a discrete-time observer-based SOC estimation such that it has an asymptotic stability guarantee with some assumptions. The second-order equivalent circuit model and a piecewise linear approximation representing a relationship between the state-of-charge and the open circuit voltage are utilized. Simulations are conducted in Python to evaluate the designed observer. Some simulation scenarios also include the appearance of the model uncertainty, disturbance, and measurement noise. The estimated state-of-charge can track the real one for these situations, despite performance degradation.