Getting Started

This documentation contains guidance for developing applications with EMOTIV Cortex - the core piece of technology at EMOTIV which brings the brain computer interface to consumer.

The intended audience is anyone with some programming skills who wants to develop a third party application that interacts with an EMOTIV headset.

The Cortex API is built on JSON and WebSockets, making it easy to access from a variety of programming languages and platforms.

This documentation is for Cortex version 2.0 or above. It is not valid for Cortex version 1.x.

Supported platforms

Currently, Cortex is supported on the following platforms:

  • Windows 10 (64-bit only)

  • Windows 8.1 (64-bit only)

  • MacOS 10.12 Sierra or above

Upcoming support will be added for the following platforms:

  • iOS

  • Android

  • Linux Ubuntu

You can download the latest version of Cortex on the EMOTIV website.

Cortex is not supported on Windows 7. Microsoft will end the support for Windows 7 in January 2020.

Supported headsets

Currently, Cortex supports the following headsets:

Model

Firmware

Connection

EPOC

All

USB dongle

EPOC+

All

USB dongle, BTLE 4.0

EPOC Flex

All

USB dongle

Insight

All

USB dongle, BTLE 4.0

MN8

All

BTLE 4.0

USB dongle refers to the USB receiver that comes with EPOC+. If you need an additional, you can purchase it from the EMOTIV store.

Prerequisites

Create an EmotivID

As with other EMOTIV services, you are required to have an EmotivID account. You can create an ID on www.emotiv.com.

Create a Cortex App

Create the application ID and generate the corresponding client ID and client secret for your application in order to grant access to Cortex API.

  1. Login to www.emotiv.com.

  2. Go to My Account Dashboard (https://www.emotiv.com/my-account/).

  3. Select Cortex Apps.

  4. Read the Developers EULA carefully and click Accept only if you agree to all the terms and conditions. You cannot develop an application that works with Cortex if you do not agree to all of the terms.

  5. Enter the name of your new application - an application ID will be generated automatically in the form of com.{your-username}.{application-name}. Note that the app ID string must contain only alphanumeric characters (A-Z, a-z, 0-9), hyphens (-), and periods (.).

  6. Click Register Application. A client ID and a client secret will be presented to you. Copy them to somewhere safe immediately as the client secret will ONLY BE SHOWN ONCE ON THIS SCREEN FOR SECURITY. If you lost it, you will have to generate a new application ID later.

License

With a valid EmotivID, you can already access to the basic data streams such as:

  • Motion Data

  • Mental Commands

  • Facial Expressions

  • Performance Metrics (low-resolution, 0.1Hz)

  • Frequency Bands

  • Contact Quality

  • Battery Level

A paid subscription will be required for data streams such as:

  • EEG Data

  • Performance Metrics (high-resolution, 2Hz)

If you have a PRO license then you must fill an application before you can use your license with the API. There is one application form for each license type: Business, Academic, Student.

Visit https://www.emotiv.com/developer/ for more details. If you have questions about the licensing plans please contact the EMOTIV customer support.

The Cortex Examples

To help you getting started with your application, EMOTIV provides basic examples in various programming languages. There are open source and hosted by Github at https://github.com/Emotiv/cortex-v2-example‚Äč

If you have difficulty with the Cortex API, you can also open an issue on this Github repository.

Next Step

If you are upgrading your application from Cortex 1.x to Cortex 2.x, then please be aware that the Cortex API has significantly changed. Please read the release notes for details.

If you are new to the Cortex API, then please start with Connecting to the Cortex API.