1.Introducing EEG Dev Kit
Foc.us EEG Dev Kit is an electroencephalography (EEG) device, used for monitoring electrical activity of the brain. It measures voltage on electrodes, digitizes and streams via Wi-Fi or records into internal memory.
The Device can be controlled using one of following options:
- Web user interface (UI) at http://foc.us/me/
- iOS application”foc.us me” – Click for App Store
- Android application “foc.us me” – Get it on Google Play
There are two versions of EEG Dev Kit available
- EEG Only Dev Kit
- EEG+ Dev Kit
EEG Only Dev Kit can be used for EEG only. EEG+ Dev Kit as an addition to EEG functionality supports transcranial electrical stimulation (tES).
1.1.Included in the Box
EEG Only Dev Kit Includes
- EEG Dev Kit Device
- Active electrodes – 5 pairs
- Reference & Bias electrode pair
- 10-20 Cap
- Power Charger
EEG+ Dev Kit has all of the above plus
- 2x Amxy silicone electrodes
- 1 pair sponges
- x/y magentic tES cable
2.1.Understanding EEG Device
- Device status indicator LED
- Power button
- Power charge socket
- tES electrode socket
- “O” Daisy Chain socket
- “W” Daisy Chain socket
- Reference/bias electrode socket
- Single-ended input channels 1 & 2
- Single-ended input channels 3 & 4
- Single-ended input channels 5 & 6
- Single-ended input channels 7 & 8
- Differential input channel 7
- Differential input channel 8
- fNIRS sensor socket
2.3.Charging Your Dev Kit
For charging, please, connect the power charger to EEG Dev Kit and then to mains. Blue indicator shows charging and switches to green color, when charging finished (charging indication works if device doesn’t perform any other actions). Also, you can check the battery level in Device Details menu.
Full battery charging normally takes 2-3 hours.
Note, that EEG session and tES can’t be enabled whilst device is charging. This is both for safety and quality of recorded signal.
3.Focus EEG Dev Kit Features
3.1.Analog Biopotential Inputs
EEG Dev Kit has two types of biopotential analog inputs: 1) single ended 2) differential.
Channels #1 to #6 are always single-ended.
Channels #7 and #8 are dual purpose and can be configured as single-ended or differential. It is important to ensure that the correct sockets are used according to the desired configuration.
Signals at single-ended input channels are referenced to a common ground. And this common ground (called reference input of the EEG Dev Kit) is shared between all single-ended inputs.
So, single-ended measurement is the voltage difference between input channel and reference.
Differential input channel consists of two lines: negative and positive. And differential measurement is the voltage difference between those lines.
Reference channel is a dedicated input line used for single-ended channels. And acts as common ground for single-ended measurements.
The EEG can be monitored with either a bipolar or a referential montage (using differential or single-ended inputs respectively). Differential channels requires two times more electrodes comparing to single-ended, so the referential montage is the most popular for EEG.
The right place for the reference electrode should be found. If possible, this place must be located in “inactive” zone (no brain activity), and also should not pick up signals which are not recorded (like heart activity). Usually this is the right or left earlobe.
3.2.Device Analog Outputs
Patient bias output is used for common mode rejection. Another name for it is driven ground. Or the right leg drive (RLD) – holdover from electrocardiography (ECG) technology.
The human body is prone to common-mode drifts because noise easily couples onto the human body, similar to an antenna. These common-mode drifts may push the input common-mode voltage out of the measurable range of the system.
There are several frequencies of interest, depending on the location and the country of operation. The primary source of interference is the AC main that generally operates at 50 Hz (Europe and Asia) or 60 Hz (USA). Apart from these two frequencies, Eastern European railway traction power networks use distributed single-phase ac power at 16⅔ Hz. A frequency of 25 Hz is used for the Austrian railway.
The bias circuit of the system senses the common-mode voltage of a selected set of input channels (can be configured in UI) and creates a negative feedback loop by driving the body with an inverted common-mode signal.
In EEG applications the bias electrode usually connected to the center of forehead, but can be placed anywhere on the body, since its location is irrelevant in most cases.
It is a pair of dry electrodes wired to a 3.5mm jack. Each electrode consists of a small printed circuit board (PCB) wrapped into conductive soft silicone. The silicone component has spikes to go thru hair when attached to head.
The main circuit of the active electrode is a unity gain amplifier to buffer very low level EEG signals. This model has advantages comparing to passive electrodes:
- The electrode doesn’t require skin preparation and special paste (to lower impedance between electrodes and skin) improving user comfort. Thanks to amplifier’s very high input impedance, which allows using of dry electrode without affecting signal quality.
- Low output impedance of the amplifier almost completely eliminates cable motion artifacts.
- Because path to the first amplifier stage is very short, the electrode has minimal stray-capacitance.
- Low output impedance of the amplifier allows you not to use low noise heavy coaxial cables and plugs.
- Safety. Since the dry skin impedance is very high, then the isolation barrier is much higher and chance for an electrocution is much smaller comparing to passive electrodes.
When connected to a single ended input of the main unit the electrode at short wire corresponds to the lower channel number and at long wire – to the higher channel number. E.g., if a pair of electrodes attached to socket “1 & 2”, then electrode at short wire is channel 1 and electrode at long wire – channel 2.
When connected to a differential input of the main unit the electrode at short wire corresponds to negative line and at long wire – to positive line of the input channel.
There is a special pair of electrodes with a clip at long wire and normal soft silicone electrode at short wire. It must be connected to “REF / BIAS” socket of the main unit. The electrode at short wire is a reference (see 3.1.Analog Biopotential Inputs) and at lone wire with a clip – bias (see 3.2.Device Analog Outputs).
There are 2 types of active electrodes: Dry Active EEG (black color) and Dry Active EEG+ (orange color) Electrodes. They come with EEG Only Dev Kit and EEG+ Dev Kit respectively. The difference that Dry Active EEG+ electrode has an extra circuit to disconnect electrode’s input. It is necessary when tES enabled and EEG electrodes left on head. So, EEG electrodes don’t create wrong paths for tES current.
If electrode is used with a third party EEG system, please, follow this specification:
- Tip: Short end electrode
- Ring: Long end electrode
- Ring: Power (+V)
- Sleeve: Power (GND)
3.4.WiFi & configure.dk
After turning EEG Dev kit ON, it attempts to connect to known Wi-Fi network(s) using details from saved Wi-Fi profiles. If it cannot connect in 30 seconds the device switches into Wi-Fi provisioning mode.
There are few methods to configure EEG Dev Kit to Wi-Fi access point (AP)/wireless router credentials:
- Configuring Wi-Fi network credentials via configure.dk webpage;
- Wi-Fi Protected Setup (WPS) Push Button;
- Using default Wi-Fi credentials.
Configuring via configure.dk webpage
- Turn ON EEG Dev Kit and wait 1 minute until the device switches into AP mode. You’ll see solid orange light.
- Using smartphone or computer connect to “EEG-DK-XXXX” Wi-Fi network (where XXXX is the last 4 symbols of your EEG Dev Kit serial number). Password is “password”.
- Open your browser to http://configure.dk. Please, note, it can be a little slow on Android.
- On this page, supply EEG Dev Kit with your own Wi-Fi network details: enter SSID, password and choose security type. Then click “Add”. You can save up to 6 Wi-Fi profiles if you want to use your device in a few places.
- Click “Connect”. Device will try to connect to Wi-Fi using details from saved profiles. Once connected you’ll see single green blinks.
Using WPS method
For this method your access point/wireless router must have a physical or virtual (in web UI) WPS button:
Follow these steps:
- Press WPS button on your router. The router is ready for new devices to join the network for 2 minutes (normally)
- Turn ON EEG Dev Kit and wait 30 sec until the device switches into WPS mode. You’ll see long single orange blinks.
- The device will automatically start the process of connecting to the network. Once connected you’ll see single green blinks.
Using default Wi-Fi Credentials
Instead of configuring EEG Dev Kit you can configure your access point/wireless router to Wi-Fi credentials, preprogrammed to device:
- Set network name (SSID) to “FOCUS”.
- Set password to “password”.
- Turn ON EEG Dev Kit. Once connected to network you’ll see single green blinks.
This method is not recommended.
3.5.EEG Dev Kit Control - foc.us/me
3.6.Raw EEG Data
There are 3 options for EEG Dev Kit data output:
Stream mode (MQTT)
In “stream” mode device publishes data to server (broker) using MQTT protocol in real time.
MQTT is an Internet of Things (IoT) protocol, provides a lightweight method of carrying out messaging using a publish/subscribe model. EEG Dev Kit is a MQTT client, connects to a MQTT broker and publishes data at specific topic. The broker then pushes the information out to those clients that have previously subscribed to the client’s topic. So, any computer that runs a MQTT library can receive data from EEG Dev Kit in real time.
Please, refer to chapter 3.9 “Using Your Own Server” if you want to use your own MQTT broker.
3.7.EDF+ & BDF+ Recordings
In “file” mode device saves data into internal flash memory in EDF+ or BDF+ format (can be configured in UI). As soon as session finished it starts file uploading to FOCUS servers for storage. File can be downloaded to your computer at “Recorded Sessions” page. Note, that free storage is available for 7 days only, after that time the file will be deleted automatically.
The European Data Format (EDF) is a simple and flexible format for exchange and storage of multichannel biological and physical signals. Complete specifications can be found at official website https://www.edfplus.info/. EEG Dev Kit fully supports the newest extension – European data format ‘plus’ (EDF+).
BDF+ format, developed by Biosemi, is a 24-bit version of the EDF+. Its specification can be found here: https://www.biosemi.com/faq/file_format.htm.
EEG Dev Kit is a 24-bit EEG system. It is recommended to use BDF+ format to get full advantages. When using EDF+ the input voltage range is limited to ±732uV, comparing to ±187mV for BDF+.
For your convenience it is possible to fill EDF+/BDF+ field “local patient identification” in UI:
- Patient code;
- Patient gender;
- Patient birthdate;
- Patient name.
3.8.Lab Streaming Layer (LSL)
The foc.us EEG Dev Kit now includes native Lab Streaming Layer functionality. From firmware version 5.1.0 when you enable EEG channels, in either stream or stream & record modes, the device will create a lab-streaming layer on the wifi network.
Using LSL opens up a lot of software options for processing your raw EEG data. There is no software overhead or proxy involved as the device streams natively straight onto the network. This gives ultra-low latency times.
Currently this is limited to sample rates below 1k SPS but will be increased in a future update.
3.10.Using Your Own Server
By default device streams data to FOCUS MQTT broker for EEG signals filtering and visualization in UI. If you want to get access to raw data you need to setup your own MQTT broker or use a third party one.
Note, that at this moment device supports transport layer security (TLS) only for connections to FOCUS MQTT broker.
Install and configure local MQTT broker
Local MQTT broker is useful if you want to use maximum possible sampling rates (up to 16000 SPS). This is possible, because local network normally has very low latency. Another reason to use a local MQTT server could be safety, since in this case sensitive private data doesn’t leave your local network.
- Install and start ActiveMQ
If you don’t have bash installed, follow these steps to install ubuntu subsystem on windows 10. Alternatively just install ActiveMQ on Windows.
Install Apache ActiveMQ and start it (instructions here).
- Open firewall
The EEG Dev Kit will connect to your ActiveMQ server over your Wi-Fi connection. It is important that both devices are on the same network for this to work.
Then open firewall rules for any ports that are used in conf/activemq.xml e.g. 1883
Check that you can connect to your ActiveMQ using an MQTT client such as MQTT.fx
Another quick check is to use telnet from another machine on the same network
- Create topic and update device
Your EEG Dev Kit has a unique 24 digit ID (Device ID) which can be found in foc.us/me Device Details page.
Create a topic in ActiveMQ with your Device ID plus suffix .afe.binary
Now provide the new server details to the Dev Kit in the focus/me Settings page
Finally turn on one or more AFE channels.
Using third party MQTT broker
This is the simplest option to get access to raw data. There are many paid and free MQTT brokers. In this example we show, how to work with public MQTT broker https://test.mosquitto.org. Since it is public, there is even no need to create your own account.
- In Server Settings enter MQTT server details: mqtt://test.mosquitto.org:1883
- Done! Device will start to publish data to test.mosquitto.org as soon as EEG session enabled.
Getting data from MQTT broker
To receive the raw data in real time any MQTT client can be used. It should be connected to MQTT broker and subscribed to ‘deviceID’/afe/binary topic.
Below, you can find, how to configure the MQTT.fx client to use MQTT broker from the previous example.
- Create connection profile. Go to Extras/Edit Connection Profiles/. Set Profile Name and Broker address to “test.mosquitto.org”, Broker Port to 1883. Click OK to confirm.
- Connect to MQTT broker. Choose “test.mosquitto.org” from dropdown list and click Connect. Now you are connected.
- Subscribe to ‘deviceID’/afe/binary topic. Go to Subscribe tab, enter ‘deviceID’/afe/binary (replace ‘deviceID’ with your device ID) and click Subscribe.
Everything is ready to receive data. Turn EEG session ON in UI.
4.Focus EEG Dev Kit Programs
4.1.Stimulation Warning - Important!
You should not use the foc.us stimulator if you suffer from epilepsy, seizures, brain lesions, bipolar depression or severe heart disease. Immediately stop using foc.us i you experience short-term negative effects. Foc.us is not a toy and is not intended to be used by anyone under the age of 18 years old. It is not recommended to place external electrodes in un-tested or novel montages. Do not position electrodes in a manner where current may pass through the brainstem. Do not position electrodes over cuts, grazes or damaged skin. Allow at least 48 hours between each use of foc.us. Always place wet sponges between the electrodes and your skin. Do not touch the black conductive silicone electrodes when using foc.us.
Foc.us is designed to be used by healthy adults who do not suffer from epilepsy, brain conditions, have a metallic implant such as a skull plate or have implants, such as cochlear implant or pace-maker. The sole purpose of foc.us products is for cognitive gain.
4.2.tES Stimulation Electrodes
EEG+ Dev Kit is capable to perform transcranial direct current stimulation (tDCS). Later will be added other neurostimulation modes.
There are several settings to configure for each tDCS session:
- Duration: 1…60 min;
- Current: 0.01…2 mA;
- Ramping rate: 0.1…10 mA/s;
- Maximum voltage: 10…60 V.
Polarity of amxy electrodes: X is anode, Y – cathode.
Note, if your system has black EEG electrodes, please, remove it from the head before starting electrical stimulation. Orange EEG electrodes can be left in situ.
4.5.Focus Gamer Stimulation Program
4.6.Ripple Stimulation Program
4.7.Focus 3rd Eye Porgram
5.Maintenance & Troubleshooting
5.1.Focus EEG Dev Kit Specifications
EEG Dev Kit Device
- Data rate: 250 to 16000 SPS
- Number of channels: 8 (expandable to 32)
- Input-referred noise: < 1 μVPP
- Common-mode rejection ratio: -110 dB
- 24 bits resolution
- Connectivity: Wi-Fi, BLE 5.0*
- Onboard memory: 8GB
- 6-axis inertial measurement unit (accelerometer + gyroscope)
- Battery operating time: 8 hours
- MQTT protocol for online data streaming
- EDF+/BDF+ data format
Active dry electrode:
- Supply voltage: 2.2 to 5.5 V
- Quiescent current: 1.5 mA (EEG electrode), 3 mA (EEG+ electrode)
- Input-referred noise: < 0.8 μVPP
- Input safety resistor: 5.1 kΩ
- Input bias current: 0.2 pA
- Common-mode rejection ratio: -90 dB
- Power: 6W
- Medical and ITE Approval
5.2.Device Indicator LED Color Chart
|Indicator color||Number of blinks||Device state|
|1||EEG session is ON.|
|Green||solid||Battery fully charged.|
|2||Device online and uploading file.|
|Orange||solid||Wi-Fi provisioning. AP mode (www.configure.dk).|
|1 long||Wi-Fi provisioning. WPS push button mode.|
|1||Waiting to connect to Wi-Fi.|
|2||Connected to Wi-Fi, waiting for IP address assignment.|
|3||IP address acquired.|
|4||Network quality test passed successfully.|
|Red||1 with button press||Empty battery. Connect charger.|
|1||Bad network quality. Try to reboot or connect to another Wi-Fi.|
|2||Device offline. Try to reboot.|
|3||Wi-Fi security failure (possible wrong Wi-Fi password)|
|White||fast flashing||Firmware is being updated. Do not remove the power.|
Can’t connect to WiFi?
- Network name (SSID).
- Network password.
- AP security mode is WPA (WPA Personal) or WPA2 (WPA2 Personal). WEP and Enterprise modes are not implemented.
- AP frequency is 2.4 GHz. 5 GHz is not supported.
- AP mode is 802.11b, 802.11g, 802.11n or mixed (e.g. 802.11b/g/n).
- If connecting to a computer hotspot, antivirus software should be configured to allow device’s network activity or disabled.
FOCUS is constantly working on adding new features (and fixing bugs). Your device is automatically updated if new version available. EEG Dev Kit checks for updates if battery is charged at least 50%, connected to Wi-Fi and power charger connected.
Current firmware version can be found on Device Details page in UI.
5.5.Cleaning & Storing
5.6.Warranty & Guarantee
foc.us warrants the foc.us device device (the “Product”), and only the Product, against defects in materials and workmanship under normal use for a period of twelve (12) moths commencing on the date of original purchase by the original purcaser (the Warranty Period). This warranty does not cover damage caused by misuse, abuse, natural and/or external causes (e.g. fire, earthquake, flood etc…), use other than as intended and described in the Product instruction manual, finishes, normal wear and tear, tampering, unreasonable use, service performed by unauthorized service agents, or loss of damages to the battery. foc.us does not warrant that the operation of the Product will be uninterrupted of error free.
Limitation of remedies
Under this Limited Warranty, foc.us liability and customer’s exclusive remedy under the foregoing paragraph will be limited to replacement or repair of the Product by foc.us or its authorized service centers. A replacement Product or part assumes the remaining warranty of the original Product or ninety (90) days from the date of the replacement or repair, whichever is longer. To obtain warranty service contact email@example.com. For your security please return your Product with an insured carrier (e.g. FedEx, UPS, USPS Parcel Post) and retain your receipt. foc.us is not responsible for items damaged or lost in transit. Other than for the reason of hardware defects, the return freight cost responsibility belongs solely to the customer.
Limitation of damages
In no event will foc.us or any of its affiliated or subsidiary companies be responsible for any special, incidental, or consequential damages resulting from the use of this Product, or based on any breach of warranty, breach of contract, negligence, tort, or any other legal theory. Such damages may include, without limitation, loss of savings, or revenue, loss of profit, loss of use, the claims of third parties, including without limitation, retailers, any cost of any substitute equipment or services. Some states do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation may not apply to you. The warranty gives specific legal rights, and you may have other legal rights, which vary from state to state or country to country. This Limited Warranty is valid only in the United States and Europe for Products sold in the United States and Europe. Reseller, agents or employess of foc.us are not authorized to make any modification, extension, or addition to this Limited Warranty.
FCC warning statement: This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) This device must accept any interference received, including interference that may cause undesired operation. This equipment complies with FCC radiation exposure limits set forth for an uncontrolled environment End users must follow the specific operation instructions for satisfying RF exposure compliance. This transmitter must not be co-located or operated in conjunction with any other antenna or transmitter. Changes or modifications not expressly approved by the party responsible for compliance could void the user’s authority to operate the equipment.
6.EEG Data Packet Format
The packet contains multiple samples of raw data.
Default MQTT topic name: ‘deviceID’/afe/binary
Device ID can be found on Device Details page of the UI.
|0||12||Device ID||Unique for each device|
|12||1||Product ID||1 – for foc.us EEG Dev Kit|
|14||6||Timestamp||Milliseconds since Epoch|
|20||2||Sample rate||Samples per second|
|22||1||Channels mask||0bXXXXXXXX, X – channel ON(1)/OFF(0), LSB – Channel 1|
|24||4||Channel 1 value||Only if enabled. Type – float (uV)|
|28||4||Channel 2 value||Only if enabled. Type – float (uV)|
|32||4||Channel 3 value||Only if enabled. Type – float (uV)|
|36||4||Channel 4 value||Only if enabled. Type – float (uV)|
|40||4||Channel 5 value||Only if enabled. Type – float (uV)|
|44||4||Channel 6 value||Only if enabled. Type – float (uV)|
|48||4||Channel 7 value||Only if enabled. Type – float (uV)|
|52||4||Channel 8 value||Only if enabled. Type – float (uV)|
|56||4||Channel 1 value||Only if enabled. Type – float (uV)|