An unofficial Android history viewer for Bluetooth thermometers running the pvvx/ATC_MiThermometer firmware.
The app remembers one thermometer and reconnects to it directly, so reading temperature, humidity, and battery history does not require scanning and selecting the device in a browser every time.
When adjusting hotel air conditioning, a history graph is more useful than one current temperature reading. The original project already provides the excellent GraphMemo.html page, but Web Bluetooth requires a new scan and device selection on each use. It may also read every stored sample unless a sample count is entered first.
This small Android utility is intended to make that recurring task quicker. It does not replace the upstream project.
- Scan once, save the device name and MAC address, then reconnect without scanning.
- Continuous scanner with a
LYW,ATCprefix filter by default; clear it to show all named devices. - Read the latest 1,000 samples by default, configurable from 5 to 65,535.
- Native temperature, humidity, and battery charts.
- Chart spacing follows the actual interval between adjacent records, so a 30-minute gap is wider than a 2-minute gap.
- Preserve the actual Flash record order instead of re-sorting records after a device clock adjustment.
- Read hardware/software versions and live device status in More Settings.
- Configure advertising interval, measurement interval multiplier, and Flash recording averaging multiplier.
- Set device time over the same BLE connection.
- No network permission and no data upload.
- Download and install the APK from GitHub Releases.
- Grant Bluetooth permissions, then tap Scan Devices on first use.
- Select a thermometer running compatible pvvx/ATC firmware.
- Enter a sample count and tap Read Recent Records.
- Later, read the saved device directly. Scan only when changing devices.
- Open More Settings to inspect device information, change recording intervals, or set the device time.
The app uses the pvvx history-record protocol:
Service: 0x1F10
Characteristic: 0x1F1F
It requires a device running compatible pvvx/ATC_MiThermometer firmware with Flash history support. It does not flash firmware and is not an official Xiaomi, Mijia, or pvvx application.
PIN-protected, encrypted, or incompatible firmware is not currently guaranteed to work.
- Firmware project: pvvx/ATC_MiThermometer
- Original history page: GraphMemo.html
- Original firmware configuration page: TelinkMiFlasher.html
The firmware, Flash history functionality, and BLE protocol belong to the upstream project. Thanks to pvvx and its contributors.
- Native Java Android app, minimum Android 6.0 (API 23).
- No WebView, Compose, AndroidX, or third-party chart library.
- Direct
BluetoothGattconnection to the saved device address. - Charts use a custom Canvas view.
- Release builds use R8 and resource shrinking.
JDK 17 and Android SDK 34 are required.
$env:JAVA_HOME='C:\jdk17\jdk-17.0.13+11'
.\gradlew.bat clean :app:lintDebug :app:assembleReleaseThe APK is generated at app/build/outputs/apk/release/app-release.apk.
Current personal test builds use a development signing key. Replacing or losing that key requires uninstalling the installed app before installing a differently signed build.
This is a niche personal tool, primarily tested with LYWSD03MMC and pvvx firmware. Device and Android-model coverage remains limited. Please include the device model, firmware version, and error message when opening an issue.

