Indoor positioning technology is one of the cornerstones for many services in Internet-of-Things (IoT) systems. However, the existing indoor positioning systems are still suffering from several issues, such as unstable positioning accuracy, a high system complexity, and a high deployment cost. To tackle these issues, this article presents a Particle Filter-based Indoor Positioning System (PFIPS) that can localize and track a tag that broadcasts Bluetooth Low Energy (BLE) beacon messages to BLE receivers. The proposed PFIPS uses a Kalman Filter to preprocess collected Received Signal Strength Indication (RSSI) information in order to smooth the fluctuated RSSI data. It also designs an effective Particle Filter (PF) to approximate the location of a tag, which gradually reduces the location uncertainties in a Gaussian belief space. To show the applicability of our PFIPS, we have developed PFIPS in a testbed based on commercial off-the-shelf (COTS) devices. Through intensive simulations and experiments, our experiment results show that our PFIPS outperforms the legacy indoor positioning systems in terms of location accuracy by 24.1% and achieves median accuracy of 1.16 m.