Get your body scale data out of the Renpho app and into Google Sheets where it belongs.
The Renpho app locks your health data in a local SQLite database on your phone. This project uses Frida to extract that database so you can actually use your own data. Once extracted, it syncs everything to Google Sheets with proper analytics.
Important: You don't need a Renpho account. The app stores measurements locally even without cloud sync, so you can use the scale completely offline and still extract your data.
# Install deps
uv sync
# Patch the APK with Frida gadget
uv run objection patchapk -s apk_files/base.apk
# Install patched APK on your phone, open the app, then:
./get_renpho_db.sh
# Sync to Google Sheets
uv run python renpho_to_sheets.pyDownload Renpho Health APK from your preferred source and save as apk_files/base.apk. The patching process will create base.objection.apk which you install on your device.
- Hit up Google Cloud Console
- Enable Sheets API
- Create OAuth 2.0 credentials
- Download as
credentials.json
First run opens a browser for auth. Token gets saved locally.
Raw SQLite database with everything:
- Weight, BMI, body fat %, muscle mass
- Water %, bone mass, BMR
- Visceral fat, protein levels
- Historical data with timestamps
Google Sheets with:
- All raw measurements
- 7-day and 30-day averages
- Trend analysis
- Auto-generated charts
- Objection patches the APK with Frida gadget
- Frida script runs inside the app and copies the database
- ADB pulls it to your machine
- Python script reads SQLite and pushes to Sheets
The Frida script (download_health_db.js) is minimal - just copies the database file. There's also renpho_monitor.js if you want to see what the app is doing under the hood.
get_renpho_db.sh- Main extraction scriptrenpho_to_sheets.py- Google Sheets syncdownload_health_db.js- Frida script that grabs the databasefrida-gadget.config- Gadget config (listens on port 27042)
- Only works on Android
- Tested with Renpho Health v3.x
- Database format might change in future versions
- Your data stays local (except what you explicitly sync to Sheets)
Frida can't connect: Make sure the patched app is running and ADB works
No database found: Log into the app first, take a measurement
Sheets API errors: Check your credentials.json and quota limits
APK won't install: Uninstall the original app first
This extracts data from your own device that you generated. Don't use it for anything sketchy.
MIT licensed. See LICENSE file.