Currently, Lithium-ion batteries (LiB) are widely applied in energy storage devices in smart grids and electric vehicles. The state of charge (SOC) is an indication of the available battery capacity, and is one of the most important factors that should be monitored to optimize LiB’s performance and improve its lifetime. However, because the SOC relies on many nonlinear factors, it is difficult to estimate accurately. This paper presented the design of an effective SOC estimation method for a LiB pack Battery Management System (BMS) based on Kalman Filter (KF) and Artificial Neural Network (ANN). First, considering the configuration and specifications of the BMS and LiB pack, an ANN was constructed for the SOC estimation, and then the ANN was trained and tested using the Google TensorFlow open-source library. An SOC estimation model based on the extended KF (EKF) and a Thevenin battery model was developed. Then, we proposed a combined mode EKF-ANN that integrates the estimation of the EKF into the ANN. Both methods were evaluated through experiments conducted on a real LiB pack. As a result, the ANN and KF methods showed maximum errors of 2.6% and 2.8%, but the EKF-ANN method showed better performance with less than 1% error.