THETA X firmware v2.20.1 (2023.07.25)
THETA X firmware 2.20.1 is now available. The update adds improved battery life due to power consumption reduction during interval shooting and changes to power consumption based on shooting settings.
Changes For Developers
For developers, there are new features to the WebAPI, Bluetooth-API and Plugin API.
Upgrade Methods
There are three ways to update the firmware:
- directly from the body of the camera
- using desktop app and a USB cable
- using official mobile app from RICOH and WiFi
The easiest upgrade in my experience is to use the touchscreen on the body of the camera. The camera needs to be connected to the Internet with Client Mode.
Example Upgrade Process Using Body of Camera
When the camera is connected in client mode, you will see a blue dot next to Update firmware.
Pressing on Update firmware checks if a firmware update is available. It looks like my camera is behind.
The installation process took several minutes. An progress bar supplied me with a status of the upgrade process.
The camera will eventually indicate that the update is completed.
Download - Firmware | RICOH THETA X
- The camera operation during interval shooting has been reviewed to reduce power consumption.
- The degree of power consumption reduction varies depending on the shooting settings.
WebAPI
- State : Update new options “_externalGpsInfo”, “_internalGpsInfo”, “_boardTemp”, and “_batteryTemp”
Bluetooth-API
- Get Info : New Added
- Get State : New Added
- Get State2 : New Added
- Notify State : New Added
Plugin
- Broadcast Intent : Update new intent com.theta360.plugin.ACTION_BATTERY_CHARGING_SUSPEND(RESUME)
Testing API
curl --request GET \
--url http://192.168.1.1/osc/info
New Temperature Readings
curl --request POST \
--url http://192.168.1.1/osc/state
It’s interesting that the battery temp is 2 degree C hotter than the board.
New GPS Info
With GPS disabled.
"_externalGpsInfo": {},
"_function": "normal",
"_internalGpsInfo": {},
With GPS enabled and GPS satellite searching (GPS arrow is outline)
"_externalGpsInfo": {},
"_function": "normal",
"_internalGpsInfo": {
"gpsInfo": {
"_altitude": 0,
"_dateTimeZone": "",
"_datum": "",
"lat": 65535,
"lng": 65535
}
},
With GPS satellite locked
"_internalGpsInfo": {
"gpsInfo": {
"_altitude": -7.199999999999999,
"_dateTimeZone": "2023:07:25 13:01:14-04:00",
"_datum": "WGS84",
"lat": 37.xx6856,
"lng": -122.xx887833333334
}
Checking File Format
Request
curl --request POST \
--url http://192.168.1.1/osc/commands/execute \
--header 'Content-Type: application/json;charset=utf-8' \
--data '{
"name": "camera.getOptions",
"parameters": {
"optionNames": [
"videoStitching",
"captureMode",
"fileFormat"
]
}
}'
Response
{
"results": {
"options": {
"videoStitching": "ondevice",
"captureMode": "video",
"fileFormat": {
"_codec": "H.264/MPEG-4 AVC",
"_frameRate": 10,
"height": 3840,
"type": "mp4",
"width": 7680
}
}
},
"name": "camera.getOptions",
"state": "done"
}
As the camera cannot take 8K video using the WiFi API, the camera state shows an error. This is working as expected.
"_cameraError": [
"CANNOT_RECORDING"
],
Battery Temp After about 15 Minutes
Heat Test Using Streaming
Streaming on Linux
After about 10 minutes, the battery temp went up to 46C (114F)