This document describes a hybrid Kalman filtering approach for estimating the state of charge (SOC) of lithium-ion batteries used in low-powered microcontrollers. An electrical equivalent circuit battery model is developed and its parameters are identified through discharge cycle simulations and experiments. Extended Kalman filtering is then used to estimate SOC with errors less than 1% based on simulations and experiments. The algorithm is implemented on an STM microcontroller, where a hybrid Coulomb counting and EKF approach is used to estimate SOC with less than 0.5% error to suit the microcontroller's limited memory.