Plug-in Adds GPS Direct to RICOH THETA



This is a machine translation of a Japanese article by KA-2. The original article is here. Note that I edited the original article and deleted references to sites and articles that are specifically only in the Japanese language or Japanese language events that are in Japan.

Link with GPS / GNSS receiver with THETA plug-in 【USB Host serial communication】


It is Ricoh’s @ KA-2 .

If you do not know the THETA plugin , please click here.
In this article, we will show you how to perform serial communication from THETA V’s USB Host function.
In the world of Windows it is a communication method called “virtual COM” etc.

Though THETA V becomes the parent and it is possible to feed the connected equipment and perform bidirectional communication, this time, the GPS / GNSS receiver receives the satellite positioning result periodically transmitted to the THETA V side, and THETA V inside We will introduce a case where it is completed only by reception (read), that is to reflect on. We plan to increase other cases including transmission as well.

Note that adding this behavior to the THETA plug-in SDK , which is currently open to the public , is a bit insufficient to add THETA plug-in SDK , so shooting at intervals (the shooting interval is the shortest to leave THETA, the number of shots is unlimited = stop Fixed various settings to, until you operate “) as well as” plug-in "that you can do.
By doing this, you can easily shoot your own Street View data without smartphone. The data you shot can be displayed as “Only viewing with geo tag supported viewer”. It is a state that the movement trace can be drawn from the image data group to the map and the picture is associated.

However, there is one thing to remember about one point (unresolved matter) · · · ·
Android’s “promise” to “inquire the user on dialogue to give permission to handle applications on USB devices”

However, at the time of this article writing, " If you do not use Vysor with THETA V in developer mode, you can not give permission to plugins handling USB devices (since there is no screen, I can not do …) "state.
Therefore, “Introduction of technical information that only people who set THETA V into developer mode” can be enjoyed.

Even people in general are investigating / examining ways to make it available only by installing the plug-in.

About satellite positioning terms and basic knowledge

I think that handling like “satellite positioning = GPS” is done on a daily basis in Japan. However, as each country’s positioning satellites are launched and available for use, they should be called “GNSS”. For a brief, easy-to-understand explanation please refer to the Geographical Survey Institute page .
In this article, “satellite positioning” is “GPS / GNSS”, and I will write two words together.

Most GPS / GNSS receivers send data of the form " NMEA 0183 " to the receiving side by serial communication. When setting position information inside THETA, it is necessary to know some things about this data format, but it is easy to get information by searching for details of ASCII character string which can be read with text editor after saving the file I will skip the explanation as it can be done.

A little digression

Receivers used this time can also receive radio waves of
“MICHIBIKI (QZSS)” · · · With respect to the accuracy of “MICHIBIKI (QZSS)”, by only receiving radio waves from the satellite, accuracy of class “cm” and several m class Because it seems that there are many people who are misunderstood as accuracy comes out , please refer to here which is summarized well .
To summarize it roughly, “precision called” sub meter class "by GPS alone depends on location and time zone (how the satellite is seen), but QZSS etc can be received at the same time, Atari also in the valley of the building etc. It becomes easy to get out. "It is the limit of being able to be realized only by radio waves from the satellite.If you want more stability or accuracy, you need to be able to receive correction information from the terrestrial base station.

Required Hardware

The following two hardware are required.

  • GPS / GNSS receiver (USB dongle type) Market price: around 1400 yen ~

USB host cable (microB - Type A female) Market price: around 400 yen ~

About GPS / GNSS receiver selection

The item used this time is " VK 172 G - MOUSE USB GPS / GLONASS USB GPS receiver ". There are several companies selling the same item. The true maker is unknown.
As I wanted to combine affordable and compact, I stuck with the “USB dongle type” and found it, at the moment, this product was the only one with good availability in Japan.

  • Plug in USB port of PC or tablet for use
  • Even if the USB device class looks like CDC or its own class, I use IC of FTDI / Prolific / Silicon labs (= USB Serial library explained below)
  • Output data in NMEA 0183 format

If it meets that thing, it seems that there are choices such as a battery & recording device built-in type logger etc, and it seems that even a cable for car navigation of tablet etc. operates even with a long receiver .
If you do not mind the condition such as no case, I think the receiver for electronic work is also good.

About “VK 172 G-MOUSE USB GPS / GLONASS USB GPS receiver”

It is a receiver that works by receiving power from the host. There seems to be many people used in PC and tablet.
When the positioning radio waves from the satellite can be received, the LED of the receiver starts flashing. At this time, it is not always possible to measure. If the LED flashes in a wide place, it is usually possible to position, but I will note it because it will rarely occur.

This product seems to be one using the reception IC of UBX-G7020 a little older even among the reception IC of u-blox company which is famous for receivers mounted on small devices such as smartphones .
In the GPS / QZSS system (rice / day) and the GLONASS system (Russia), although the frequency band used is different, this receiver can not receive two simultaneous reception.
GPS / QZSS system can be received in the shipping state, the update frequency of position information is 1 second, and the baud rate of serial communication is 9600 bps.
It seems that you can fine-tune various items including the above shipping status at u-center for PC software that u-blox company distributes free of charge, but this time we created plug-in specialized for shipping state doing.

Information necessary for other coding will be introduced along with how to investigate in the preparation section.

Prepare for implementation

How to use Vysor with wifi connection

If you connect the equipment you want to use to the THETA USB port, you will not be able to use Vysor with wired cable. I will write how to use Vysor using wifi to recover this.
2) Connect “adb tcpip 5555” from the terminal
(3) Connect THETA V to PC with Wi-Fi (THETA V is OK in AP mode)
(4) Terminal hit the “adb connect” from
(5) connected in more of TCP from Vysor
(6) Ensure that the Vysor also disconnect the USB cable can be used
※ (2) and (3) is also OK in reverse order

  • (5) and (6) are OK even in reverse order

Confirmation of operation of hardware for serial communication

Before starting work, you can check with the application for Android smartphone whether USB serial communication can be performed between the device you are trying to use and THETA V.
This time I used this application " Serial USB Terminal ".
After following the steps that use Vysor with the above wifi, please connect the equipment to THETA V, activate the application from Vysor and check the operation. Since the baud rate of this equipment was known beforehand, I checked the operation after setting it to 9600 bps. I was able to receive NMEA 0183 format data from the connected GPS / GNSS receiver.


Check the USB device class, vendor ID, product ID of the USB device to be used

You can also check on PC, but you can check with THETA V using " USB Device Info " application for Android smartphone .
Below is an example of confirming information on USB of GPS / GNSS receiver used this time.


 USB device class = CDC (Communication Device Class = 0x02) 
 Vendor ID = 0x1546 (= 5446 d) 
 Product ID = 0x01A7 (= 423 d)

I think you can read that.
These are required for coding.

Next Article

How to install serial communication library for Android

How to install serial communication library for Android
Using the RICOH THETA GPS Plug-in
GPS Plug-in Source Code Walkthrough
View RICOH THETA Files Directly from Oculus Go with THETA Plug-in