Firmware updates and recovery
There are two ways to update ES series firmware:
| Method | You need | Use it when |
|---|---|---|
| ExpTech Home (Bluetooth) | A phone | A normal update. You do not have to take the seismometer down |
| USB recovery tool | A computer, and a USB Type-C cable that can carry data | The seismometer will not boot normally, a Bluetooth update failed, or you need to flash it again |
For a networked seismometer, ExpTech can also update the firmware remotely from the server. Update it yourself, using the steps below, when ExpTech staff ask you to update, or when the seismometer is not networked.
Version numbers
Section titled “Version numbers”The firmware version format is year, w, week number, and a letter. For example, 26w46a is the first version in week 46 of 2026. The next version in the same week is 26w46b.
ES-Net and ES-Pro firmware cannot be swapped. Different hardware versions of the same model use the same firmware.
Update with ExpTech Home
Section titled “Update with ExpTech Home”The app identifies the seismometer’s model and downloads the matching firmware.
-
Enter BLE OTA mode
Press and release the reset button (the one on the right when the USB Type-C connector faces you), and wait until the LED stays on. The ES-Pro screen shows “BLE OTA”.
-
Open the firmware update
Open ExpTech Home, tap 「韌體更新」, read the notices, and tap 「下一步」. Turn on Bluetooth and location on the phone, and keep the phone near the seismometer.
-
Select the station
Select the seismometer you want to update from the list.
-
Select a version
The version marked 「目前」 is the one the seismometer is using. The version marked 「最新」 is the newest one in the list. The list shows release versions only by default. Turn off 「僅顯示正式版本」 to list pre-release versions.
Do not select a version older than 「目前」 unless ExpTech staff ask you to.
-
Upload
Keep the app on screen during the upload. Do not switch apps or lock the screen, and keep the phone next to the seismometer.
-
Confirm the version
After the upload finishes, the seismometer restarts on its own. Open 「韌體更新」 again, select this seismometer, and confirm that 「目前」 is now the new version. On an ES-Pro, you can also read the version number at the bottom of the screen.
ExpTech Home can also install firmware you built yourself with 「上傳 .bin 檔案」. Most users do not need this.
Flash with the USB recovery tool
Section titled “Flash with the USB recovery tool”ExpTech Device Recovery is a flashing tool that runs on a computer. It writes firmware straight to the seismometer over USB. Use it when the seismometer will not boot normally, Bluetooth updates keep failing, or ES-Pro shows Version rollback detected.
Download and open the tool
Section titled “Download and open the tool”Download the executable for your operating system from GitHub Releases. You do not need to install Python separately.
Download exptech-device-recovery-windows.exe and double-click it to run.
Download exptech-device-recovery-macos. Before the first run, in Terminal, change to the folder that contains the file, remove the system quarantine flag, and add execute permission:
xattr -d com.apple.quarantine ./exptech-device-recovery-macoschmod +x ./exptech-device-recovery-macos./exptech-device-recovery-macosDownload exptech-device-recovery-linux, add execute permission, and run it:
chmod +x ./exptech-device-recovery-linux./exptech-device-recovery-linuxFlashing steps
Section titled “Flashing steps”In the tool’s menus, select with ↑ ↓, confirm with Enter, and press q to leave.
-
Connect the seismometer
Connect the seismometer to the computer with a USB Type-C cable that can carry data. First close other programs that use the serial port, such as QuakeWatch-Pro.
-
Select the operation mode
Select 「使用 firmware.json 中的韌體燒錄」 (the default). The tool downloads the firmware list over the network. The computer needs an internet connection.
-
Select the serial port
Select the serial port for the seismometer. On Windows it usually starts with
COM. On macOS it starts with/dev/cu.. On Linux it starts with/dev/ttyUSB. -
Select the model
Select the seismometer model:
ES-net (es-net)orES-Pro (es-pro). -
Select the update channel
Release(the default) lists release versions only.Allalso lists pre-release versions (Pre-Release). -
Select the version
The cursor starts on the newest version, labeled 「(最新,預設)」. Press Enter to start flashing. If that version was downloaded before, the tool asks whether to download it again. Press Enter to use the downloaded file.
-
Wait until flashing finishes
It is done when you see 「燒錄完成!請重新啟動您的 ESP32 裝置。」. The seismometer usually restarts on its own. If it does not, unplug the USB cable and plug it back in.
-
Set up Wi-Fi again (when you need to)
If the LED blinks quickly after the seismometer restarts, it is waiting for Wi-Fi setup. Set it up again by following Installation and Wi-Fi setup.
If flashing fails
Section titled “If flashing fails”- The serial port is not found: Use a different USB cable that can carry data (some cables only charge), or try another USB port. If the computer still does not recognize it, install the driver for the USB-to-serial chip. Depending on the hardware version, the seismometer uses a CP210x or CH340 chip.
- Stuck on connecting: Hold the reset button until writing starts, then release it. The 「BOOT 鍵」 named on the tool’s screen is this button.
- Other errors: Make sure no other program is using the same serial port, then run it again.
Other operation modes
Section titled “Other operation modes”| Mode | Description |
|---|---|
| 指定本地 bin 檔案 | Flashes a .bin file on the computer. For developers who build their own firmware. |
| 完全清除 ESP32 flash 記憶體 | Erases everything on the seismometer, including the Wi-Fi settings. |
Run from source (advanced)
Section titled “Run from source (advanced)”You need Python 3.12. Download the exptech-device-recovery source, then run this in that folder:
pip install -r requirements.txtpython main.py