gobot: gobot.io/x/gobot/platforms/neurosky Index | Files

package neurosky

import "gobot.io/x/gobot/platforms/neurosky"

Package neurosky contains the Gobot adaptor and driver for the Neurosky Mindwave Mobile EEG.


go get gobot.io/x/gobot/platforms/neurosky


package main

import (


func main() {
	adaptor := neurosky.NewAdaptor("/dev/rfcomm0")
	neuro := neurosky.NewDriver(adaptor)

	work := func() {
		neuro.On(neuro.Event("extended"), func(data interface{}) {
			fmt.Println("Extended", data)
		neuro.On(neuro.Event("signal"), func(data interface{}) {
			fmt.Println("Signal", data)
		neuro.On(neuro.Event("attention"), func(data interface{}) {
			fmt.Println("Attention", data)
		neuro.On(neuro.Event("meditation"), func(data interface{}) {
			fmt.Println("Meditation", data)
		neuro.On(neuro.Event("blink"), func(data interface{}) {
			fmt.Println("Blink", data)
		neuro.On(neuro.Event("wave"), func(data interface{}) {
			fmt.Println("Wave", data)
		neuro.On(neuro.Event("eeg"), func(data interface{}) {
			eeg := data.(neurosky.EEGData)
			fmt.Println("Delta", eeg.Delta)
			fmt.Println("Theta", eeg.Theta)
			fmt.Println("LoAlpha", eeg.LoAlpha)
			fmt.Println("HiAlpha", eeg.HiAlpha)
			fmt.Println("LoBeta", eeg.LoBeta)
			fmt.Println("HiBeta", eeg.HiBeta)
			fmt.Println("LoGamma", eeg.LoGamma)
			fmt.Println("MidGamma", eeg.MidGamma)

	robot := gobot.NewRobot("brainBot",


For further information refer to neuroky README: https://github.com/hybridgroup/gobot/blob/master/platforms/neurosky/README.md

Package neurosky is the Gobot platform for the Neurosky Mindwave EEG


Package Files

doc.go neurosky_adaptor.go neurosky_driver.go


const (
    // BTSync is the sync code
    BTSync byte = 0xAA

    // CodeEx Extended code
    CodeEx byte = 0x55

    // CodeSignalQuality POOR_SIGNAL quality 0-255
    CodeSignalQuality byte = 0x02

    // CodeAttention ATTENTION eSense 0-100
    CodeAttention byte = 0x04

    // CodeMeditation MEDITATION eSense 0-100
    CodeMeditation byte = 0x05

    // CodeBlink BLINK strength 0-255
    CodeBlink byte = 0x16

    // CodeWave RAW wave value: 2-byte big-endian 2s-complement
    CodeWave byte = 0x80

    // CodeAsicEEG ASIC EEG POWER 8 3-byte big-endian integers
    CodeAsicEEG byte = 0x83

    // Extended event
    Extended = "extended"

    // Signal event
    Signal = "signal"

    // Attention event
    Attention = "attention"

    // Meditation event
    Meditation = "meditation"

    // Blink event
    Blink = "blink"

    // Wave event
    Wave = "wave"

    // EEG event
    EEG = "eeg"

    // Error event
    Error = "error"

type Adaptor Uses

type Adaptor struct {
    // contains filtered or unexported fields

Adaptor is the Gobot Adaptor for the Neurosky Mindwave

func NewAdaptor Uses

func NewAdaptor(port string) *Adaptor

NewAdaptor creates a neurosky adaptor with specified port

func (*Adaptor) Connect Uses

func (n *Adaptor) Connect() error

Connect returns true if connection to device is successful

func (*Adaptor) Finalize Uses

func (n *Adaptor) Finalize() (err error)

Finalize returns true if device finalization is successful

func (*Adaptor) Name Uses

func (n *Adaptor) Name() string

Name returns the Adaptor Name

func (*Adaptor) Port Uses

func (n *Adaptor) Port() string

Port returns the Adaptor port

func (*Adaptor) SetName Uses

func (n *Adaptor) SetName(name string)

SetName sets the Adaptor Name

type Driver Uses

type Driver struct {
    // contains filtered or unexported fields

Driver is the Gobot Driver for the Mindwave

func NewDriver Uses

func NewDriver(a *Adaptor) *Driver

NewDriver creates a Neurosky Driver and adds the following events:

extended - user's current extended level
signal - shows signal strength
attention - user's current attention level
meditation - user's current meditation level
blink - user's current blink level
wave - shows wave data
eeg - showing eeg data

func (*Driver) Connection Uses

func (n *Driver) Connection() gobot.Connection

Connection returns the Driver's connection

func (*Driver) Halt Uses

func (n *Driver) Halt() (err error)

Halt stops neurosky driver (void)

func (*Driver) Name Uses

func (n *Driver) Name() string

Name returns the Driver name

func (*Driver) SetName Uses

func (n *Driver) SetName(name string)

SetName sets the Driver name

func (*Driver) Start Uses

func (n *Driver) Start() (err error)

Start creates a go routine to listen from serial port and parse buffer readings

type EEGData Uses

type EEGData struct {
    Delta    int
    Theta    int
    LoAlpha  int
    HiAlpha  int
    LoBeta   int
    HiBeta   int
    LoGamma  int
    MidGamma int

EEGData is the EEG raw data returned from the Mindwave

Package neurosky imports 4 packages (graph) and is imported by 1 packages. Updated 2020-12-06. Refresh now. Tools for package owners.