INS4Droid is a lightweight, high-performance inertial navigation system (INS) for Android that uses built-in device sensors to track position without GNSS, GSM, Wi-Fi, or network connectivity.
The system relies on an initial frame of reference and performs real-time inertial dead-reckoning using accelerometer and gyroscope data.
It is implemented in C with SDL2, prioritizing speed, efficiency, and minimal overhead.
- No external signals required
- Works without GPS, GSM, Wi-Fi, or internet
- Pure inertial navigation
- Uses Android’s built-in IMU sensors
- Super fast & lightweight
- Native C implementation with SDL2
- High accuracy
- Average deviation < 1 m per 2 km (real-world testing)
- Low overhead
- Suitable for long-running offline operation
- An initial frame of reference is established at startup
- Sensor data (accelerometer + gyroscope) is continuously integrated
- Position is updated using inertial dead-reckoning
- No external corrections or network dependencies are used
Accuracy depends on sensor quality and initial calibration.
- Clone the repository
- Open
android-project/in Android Studio - Let Gradle sync complete
- Build and run on a physical Android device
Ensure the Android SDK, NDK, and CMake are installed.
cd android-project
./gradlew assembleDebug