
Built indoor positioning system on ESP32 Using 3 Anchor Nodes
I recently built a Wi-Fi RSSI-based indoor positioning system entirely on ESP32 microcontrollers.
I used 3 ESP32s as anchor nodes broadcasting Wi-Fi signals
1)TestNetwork1
2)TestNetwork2
3)TestNetwork3
and a 4th ESP32 for scanning the RSSI signal strength from each anchor. It applies a Kalman filter to clean up the noise and then uses those filtered distances for trilateration to compute a real-time 2D position — all running on-device in MicroPython, no external computer needed.
To calculate the A and n parameters used in the path loss equation, I collected 50 RSSI samples at 1, 2, 3, and 4 metre distances and applied a moving average to smooth the readings. Then used least-squares regression to fit A = −61.92 dBm and n = 1.64.
Raw Captured Data For Computation Of A And N
Setup Used To Capture Signals At 1M
Distance Estimation After Capturing RSSI Signals
Kalman Filter vs Raw On Network1
Kalman Filter vs Raw On Network2
Moving Average Curve On Raw RSSI Captured For Calibration Of A And N