Skip to content

Using with a PCAcademic

This page explains how to use the PC logger, which acquires data from the JINS MEME ES_R, visualizes it in real time, and records it to CSV.

No USB dongle is required. The app connects to the ES_R directly through the Bluetooth LE radio built into your PC.

Note: If you are using the older app that requires a USB dongle, see the manual for the old version. The screen layout is very different.

Operating environment

ItemRequirement
Supported OS (Windows)Microsoft Windows 11 or later 64bit
Memory: 4GB or more (8GB recommended)
Supported OS (macOS)macOS 14 or later
Memory: 4GB or more (8GB recommended)
HardwareA Bluetooth adapter with BLE support (the one built into your PC is fine)
DongleNot required

Download

Please download from here.

OSFile
WindowsJINS_MEME_DataLogger_Setup.exe (installer)
macOSA dmg packed into a zip

Installation

Windows

  1. Double-click the downloaded JINS_MEME_DataLogger_Setup.exe.
    • Important Installation requires administrator privileges. Click [Yes] when the [User Account Control] window appears. If you are logged in with a non-administrator account, ask your administrator to perform the installation.
  2. Choose the language (Japanese / English) and follow the wizard.
  3. Specify the installation destination (C:\Program Files\JINS MEME DataLogger by default), the Start menu folder name, and whether to create a desktop icon.
  4. Click [Install].
    • Tip If the .NET 10 Desktop Runtime is not present on your PC, the installer downloads and installs it automatically. This runs after you finish the wizard pages, so it can take a few minutes. An internet connection is required.
  5. Click [Finish] on the completion screen.

To uninstall, select JINS MEME DataLogger from the Windows [Apps] list and remove it.

Updating

Automatic updates are not supported. Simply run the installer for the new version and it will install over the existing one.

macOS

  1. Extract the downloaded zip and open the dmg inside it.
  2. Drag the app onto the [Applications] folder.
  3. Launch it from the [Applications] folder.
  4. Allow Bluetooth access when prompted on first launch.

To uninstall, delete the app from the [Applications] folder.

Screen layout

Main window

The left column holds the connection and measurement controls, and three real-time charts are stacked on the right.

LocationDescription
Menu bar Setting (S)Opens the settings window (save location, TCP output, and so on)
Menu bar Version (V)Shows the application version
Top of the left columnThe application version and the firmware version of the connected ES_R
Scan / File Replay / ConnectScan for and connect to a device, or replay a recorded CSV
State :Connection state (Disconnected / Connected, or the file name while replaying)
Select Mode and belowMeasurement settings
Start Measurement / Free MarkingStart and stop measurement, add an artifact
Success rate / CommunicationData acquisition rate, cumulative and recent
IP address / Port / StatusTCP output status
Chart 1 to 3Real-time waveforms

Connecting

  1. Charge the ES_R and put it into pairing mode with the glasses held the right way up.
  2. Click Scan. Devices that are found are listed in the combo box as ESRG2_0 (mac_address).
    • The device is not always found on the first try. Click Scan again if nothing appears.
  3. Select the device you want and click Connect.
  4. Once connected, State : changes to Connected and the firmware version of the ES_R is shown.

Click Disconnect when you are finished.

The ES_R can only be connected to one host at a time

If a smartphone app or similar is connected, disconnect it first.

Measuring

Setting the measurement conditions

When you connect, the current values are read from the ES_R and reflected in each field. Change them as needed before you start measuring.

ItemDescription
Select ModeData mode. Standard / Full / Quaternion
Trans SpeedSampling frequency. 100Hz / 50Hz
Accel RangeAccelerometer measurement range. ±2 / ±4 / ±8 / ±16 G
Gyro RangeGyroscope measurement range. ±250 / ±500 / ±1000 / ±2000 dps

Operating sensors per mode

ModeOperating sensorsCharts
StandardElectrooculography sensor, accelerometerYes (the first EOG pair is drawn)
FullElectrooculography sensor, accelerometer, gyroscopeYes
QuaternionQuaternion outputNo (there is no waveform to plot, so the charts stay empty)

Starting and stopping measurement

  • Click Start Measurement to begin measuring and recording to CSV.
  • The button changes to Stop Measurement while measuring. Click it again to stop and finalize the CSV.
  • Select Mode and the other settings cannot be changed during measurement.

Adding an artifact

You can mark positions in the data — a movement by the subject, an external event — so that you can find them later. There are two ways to do it.

The Free Marking button — clicking it puts x in the ARTIFACT column of the next row. It works only during measurement (on Windows the button is disabled outside measurement; on macOS it only appears while measuring).

Clicking a chart — lets you put any text on the row you clicked. An input dialog opens; leave it empty and click OK to enter X. This works both during measurement and during replay.

Artifact input dialog

Marks appear on the chart immediately as a vertical line with a label, and are written back to the CSV together at the following times.

SituationWritten back whenWritten back to
MeasuringStop Measurement or disconnectionThe CSV saved for that measurement
ReplayingRecord or DisconnectThe CSV being replayed
  • Commas and line breaks are replaced with spaces so that the columns do not break.
  • Clicking the same row repeatedly overwrites it with the last value you entered.
  • The write-back goes to a temporary file which then replaces the original, so the CSV is not corrupted if it fails partway.

Checking the communication status

IndicatorDescription
Success rateCumulative data acquisition rate since the measurement started
CommunicationData acquisition rate over the last second

If the numbers drop significantly, try moving the PC closer to the ES_R or lowering Trans Speed to 50Hz.

Working with the charts

Replay in progress

There are three charts, and each one can show something different. Waveforms are drawn from every sample, with no thinning.

ControlDescription
Category combo box + ApplySwitches the sensor type shown on that chart (Electrooculography / Gyroscope / Accelerometer)
Check boxes on the leftShow or hide each series
↕+ / ↕-Zoom the vertical (amplitude) axis in and out
/ (left column)Switches the horizontal (time) range between 3 / 7 / 15 / 30 seconds. This applies to all three charts at once

Default EOG chart series

Left and Right are raw potentials and swing widely, which makes ΔH / ΔV hard to read, so they are hidden by default. Tick them if you need them.

The recorded CSV

Save location and file name

OSDefault save location
WindowsDocuments\JINS\MEME_Academic
macOS~/Documents/JINS/MEME_Academic

The location can be changed with Save File Path in Setting. On both platforms the file name is <MAC address>_<UTC datetime>.csv.

If you enable Save Dialog in Setting, a dialog to choose the save location again appears after the measurement ends.

Columns

The format is shared with the Mac and Android versions. The columns depend on the mode.

ModeColumns
StandardARTIFACT,NUM,DATE,ACC_X,ACC_Y,ACC_Z,EOG_L1,EOG_R1,EOG_L2,EOG_R2,EOG_H1,EOG_H2,EOG_V1,EOG_V2
FullARTIFACT,NUM,DATE,ACC_X,ACC_Y,ACC_Z,GYRO_X,GYRO_Y,GYRO_Z,EOG_L,EOG_R,EOG_H,EOG_V
QuaternionARTIFACT,NUM,DATE,QUATERNION_W,QUATERNION_X,QUATERNION_Y,QUATERNION_Z

A header describing the measurement conditions is written at the top of the file.

// Data mode  : Full
// Transmission speed  : 100Hz
// Acceleration sensor's range  : 2g
// Gyroscope sensor's range  : 250dps
//
//ARTIFACT,NUM,DATE,ACC_X,ACC_Y,ACC_Z,GYRO_X,GYRO_Y,GYRO_Z,EOG_L,EOG_R,EOG_H,EOG_V
,1,2026/08/27 04:27:10.21,-200,-3415,-2284,178,-343,763,2007,2001,6,-2004
  • DATE is recorded in UTC. To show local time on the charts only, use Time Display in Setting (the recorded values always stay in UTC).
  • NUM is a monotonically increasing value accumulated from the difference of the device-side counter. Numbers are skipped when packets are dropped.
  • ARTIFACT holds the marks added with Free Marking or by clicking a chart.
  • Rows are flushed every 100 rows at 100Hz, or every 50 rows at 50Hz, because opening and closing the file for each row would drop data. The remainder is flushed when the measurement stops.

File Replay

You can load a recorded CSV and review it on the same screen you use while measuring, even without a device at hand.

Starting a replay

  1. Click File Replay.
  2. Choose a CSV in the file dialog.
  3. Playback starts as soon as you choose the file (there is no Start button).
    • Select Mode and the other fields switch to the conditions recorded in the file, and State : shows the file name.

Only CSVs in this app's format (shared with the Mac and Android versions) can be loaded. CSVs written by the old Windows app — with the // Accelerometer sensor's range wording or a BattLv column — can also be read.

Controls during replay

ControlDescription
SliderChanges the playback position. It seeks when you release it
<< / >>Moves back or forward by the horizontal range minus 2 seconds, so consecutive windows overlap by 2 seconds
x1Cycles the playback speed x1 → x2 → x4 → x8 → x16 → x32 → x1
Pause / ResumePauses and resumes
RecordStops the playback. The graphs stay as they are
DisconnectEnds the replay session and discards the loaded data
  • The horizontal axis is drawn from the DATE column (UTC) of the CSV, so the recorded times are shown as they are.
  • After a seek or a range change, playback resumes with a full window pre-filled rather than refilling gradually from the right edge.
  • Rows with a value in the ARTIFACT column are overlaid on the chart as a vertical line with a label.
  • Raising the playback speed does not thin the data. It only increases how many rows are pushed per second, so fine detail in the waveform survives even at x32.

You can also click a chart during replay to add an artifact (see Adding an artifact).

Cutting out a range by dragging

Range cut-out dialog

Dragging horizontally across a chart during replay highlights the selected range. When you release the mouse, a file name dialog appears and you can write just that range to a CSV in the same folder as the source file.

  • The header is copied as is, so the extracted CSV can be opened with File Replay too.
  • If a file with the same name already exists, an error is shown and the dialog stays open.

Setting

Open it from Setting (S) on the menu bar.

Settings window

ItemDescription
Save File PathWhere CSVs are saved. Documents\JINS\MEME_Academic by default
Acc Offset X / Y / ZAn offset added to the chart display only. The values recorded in the CSV do not change
Save DialogShows a dialog to choose the save location again after the measurement ends
Time DisplayShows the horizontal axis in local time (recording is always in UTC)
TCP OutputStreams the measurement data to an external client over TCP
Local PortThe listening port. 88 by default

The settings are restored the next time the app starts. They are stored in %APPDATA%\JINS\MEME_Academic\settings.json on Windows, and in the app preferences (UserDefaults) on macOS.

TCP output

When TCP Output is enabled, the app starts listening on the specified port (Status : in the left column shows Listen). Once a client connects it changes to Accepted, and the header and rows are streamed in exactly the same format as the CSV.

  • If the client connected before the measurement started, the header is sent when the measurement starts.
  • Only one client is accepted at a time.
$ ncat 127.0.0.1 88
// Data mode  : Full
// Transmission speed  : 100Hz
// Acceleration sensor's range  : 2g
// Gyroscope sensor's range  : 250dps
//
//ARTIFACT,NUM,DATE,ACC_X,ACC_Y,ACC_Z,GYRO_X,GYRO_Y,GYRO_Z,EOG_L,EOG_R,EOG_H,EOG_V
,1,2026/08/27 04:27:10.21,-200,-3415,-2284,178,-343,763,2007,2001,6,-2004

Socket client sample in Python

python
import socket

target_ip = "127.0.0.1"   # IP address of the PC running the logger
target_port = 88          # Match Local Port in Setting
buffer_size = 4096

tcp_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp_client.connect((target_ip, target_port))

is_end = False
while not is_end:
    response = tcp_client.recv(buffer_size)
    if response == b"":
        is_end = True
    print("[*]Received a response : {}".format(response))

tcp_client.close()

Checking the version

Open Version (V) on the menu bar. Please include this version when you contact us.

Version information

Troubleshooting

SymptomWhat to try
Scan finds nothingCheck that the ES_R is charged and in pairing mode, and that Bluetooth is turned on for your PC
Another app has the deviceThe ES_R can only be connected to one host at a time. Disconnect any smartphone app that is connected
It connects but no data arrivesRemove the ES_R once from [Settings > Bluetooth & devices] on Windows and scan again. This can clear a stale GATT cache
The acquisition rate stays lowMove the PC closer to the ES_R, lower Trans Speed to 50Hz, or avoid congestion in the 2.4GHz band
Runtime installation fails during setupThe automatic install cannot run without an internet connection. Install the .NET 10 Desktop Runtime manually and run the installer again

JINS MEME™ Platform