Notes on a Samsung Gear 360 camera (2017)

It's fairly straightforward to modify a Samsung Gear 360 camera (2017) to support a wifi remote shutter, and time-lapse photos (intervalometer), just by adding some files to your SD card.

The added wifi browser control interface

Instructions are on my GitHub: https://github.com/vitorio/gear360-2017-mods

Update March 11, 2019: For just remote shutter, you can also get a more readily-available Gear VR controller, which successfully pairs as a Bluetooth remote shutter.

A suddenly inexpensive 360-degree camera

By all reports, the Samsung Gear 360 camera (2017) is not a great 360-degree camera. The Wirecutter, for example, writes:

However, it falls well short when it comes to image quality. Both photos and videos are lacking compared with our main picks. Given how inexpensive it is, it’s not a bad way to get into 360 photography, but you might not be satisfied with the results, which are often quite soft and noisy.

It's also lower-resolution than the 2016 model!

However, it went on sale for ~$80, less than half its original price, and 5-7x cheaper than a really nice 360-degree camera, so I picked one up.

Caveats

Out of the box, it only supports Samsung phones, or iOS devices, or its proprietary Bluetooth remote (there appear to be 1 or 2 third-party Bluetooth remotes that work). Update March 11, 2019: Just tested it, the Gear VR controller successfully pairs as a Bluetooth remote shutter! Use the trackpad or trigger button to take a photo. Thanks /u/print_Bird on Reddit for posting this.

It's important to go through the onboard settings and set the camera to the maximum resolutions, because by default they're really low.

It supports taking 360 degree photos, 180 photos (either lens), 360 video, time-lapse video, and HDR photos. It cannot do time-lapse photos (interval shooting, intervalometer).

You'll need to make sure you're running the latest firmware, version R210GLU0ARB2, which adds support for control using the Google Street View-related Open Spherical Camera protocol, whereby you connect to the camera's wifi access point and perform actions over an HTTP API.

Regular photos v. Street View photos

If you use the onboard settings to set up a dual-lens shot, your photos are a single 5792 × 2896 pixels image with two fisheye captures.

Default dual lens fisheye capture

Stitching is apparently done through the app, or perhaps on camera but only during the transfer process. (I don't know, I don't have a Samsung phone or an iOS device.)

If you set it to Street View mode by turning on wifi ("Connect to Street View") and connecting, you can trigger commands over HTTP, as well as press the shutter button as normal. These photos are 5472 × 2736 equirectangular, and it takes ~13 seconds to stitch them together before you can take another shot.

Street View pre-stitched equirectangular capture

In Street View mode, the onboard UI is no longer available, and it always shoots using both lenses. The wifi access point named differently than the regular one, instead "Gear 360 (xxxx).OSC". You cannot shoot video this way.

Single lens images taken in regular shooting mode are 2304 × 1296 pixels, not fisheye, either cropped, or with some amount of onboard processing to make them rectangular. (There's definite loss of image compared to the fisheye captures.)

For the highest quality images, you probably want to stitch offline using your own software.

Using it with a regular Android phone

If you don't mind using hacked APKs, you can at least make sure you have the latest firmware using other Android phones. See [MOD][PORT] Samsung Gear 360 Manager for all devices on the XDA Developers forums.

Assuming there aren't going to be any further firmware updates (the last one was February 2018), with this mod you don't need the app for anything else.

Open Spherical Camera

I had originally expected to need to make a physical remote shutter trigger and intervalometer using a Raspberry Pi Zero W, because to keep it in Street View mode you have to maintain a wifi connection to the camera.

To that end, I wrote support for the camera into the Python OpenSphericalCamera library (pull request pending). pyOSCapi is another viable client library.

A BusyBox-based mod

However, the documentation by ottokiksmaler showed you could open up a telnet interface to the camera, and that the OS was the same as other Samsung cameras, for which mewlips had written a custom remote control mod.

BusyBox, used for telnet support, also includes an HTTP server, and with this I was able to produce a wifi, browser-based interface to a remote shutter and intervalometer.

Instructions are on my GitHub: https://github.com/vitorio/gear360-2017-mods


I'm Vitorio, it's November 5, 2018, thanks for your time. Updated March 11, 2019 with information from a tested Gear VR controller.