Drivers: Emotiv EPOC (how to connect etc)

  • NB: Document updated for OpenViBE 1.3.0 (Dec.2016)


The EPOC is a low cost EEG device from Emotiv company. OpenViBE includes a driver to acquire the data coming from the device : 14 EEG channels and 2 gyroscope values.


OpenViBE 1.3.0 works with the Emotiv EPOC and needs the Emotiv Research Edition SDK 3.3.3.
Earlier OpenViBE versions require 1.x or 2.x versions of the research SDK. If older SDK support is needed,
you can either recompile OpenViBE or use an old Acquisition Server with a newer OpenViBE.

In principle it would not be very difficult to implement support for the Emotiv Community SDK, although then raw data would not be accessible. If you’re interested in contributing such a driver, contact us. Currently, the Research Edition is required.

Using the OpenViBE Windows Installer

When installing OpenViBE with the installer, you will directly have the driver listed in the acquisition server.

When pressing the Driver Properties button, you will be asked the common information (identifier, age and gender of the user), plus specific settings:

  • Electrode count and sampling frequency cannot be changed (14 electrodes and 128 Hz)
  • You can choose to add the 2 gyro sensors to the list of channels
  • If left unchanged, channels will be named according to EPOC official electrode naming

You absolutely need to enter the path to your Emotiv Research Edition SDK. This path will be saved in the application configuration file at shutdown for further use. The SDK must correspond to the version that was used to compile the Acquisition Server.

Compiling the driver

For those who are using OpenViBE from sources, compiling the driver may be still needed.

The instructions remains unchanged, as given in the documentation and FAQ.

Depending on your version of the SDK, you may have to change the path where Cmake looks for Emotiv SDK, described in cmake-modules/FindThirdPartyEmotivAPI.cmake. As the Emotiv tends to change the folder, header and library names from version to another, you may need to tweak the script by changing the names it searches for in a way that they correspond to the version you have available.


If you experience the following error message:

[  INF  ] Connecting to device [Emotiv EPOC]...
[ ERROR ] [INIT] Emotiv Driver: First call to 'edk.dll' failed.
        To use this driver you must have the Emotiv SDK Research Edition (or above) installed on your computer.
        At first use please provide in the driver properties the path to your Emotiv SDK (root directory)
        e.g. "C:\Program Files (x86)\Emotiv Research Edition SDK_v1.0.0.4-PREMIUM"
        This path will be saved for further use automatically.
[ ERROR ] Connection failed...
[  INF  ] Disconnecting.

It means you didn’t specify the right path to your Emotiv SDK, as the driver failed to load the library edk.dll.

Another common error would be :

[  INF  ] Connecting to device [Emotiv EPOC]...
[  INF  ] Connection succeeded !
[  INF  ] Starting the acquisition...
[  INF  ] Now acquiring...
[WARNING] After 5000 milliseconds, did not receive anything from the driver - Timed out
[  INF  ] Stoping the acquisition.
[  INF  ] Disconnecting.

This simply means that the driver managed to connect to the Emotiv engine, but the device is not sending any data to it. Please check if your device is turned on and working correctly on the Emotiv Control Panel.

This entry was posted in Acquisition Server documentation and tagged , , , . Bookmark the permalink.