Connecting Muse to embedded hardware


#1

Is it possible to obtain useful data directly from the device, or are the drivers responsible for lots of post-processing on the host before the API?

In other words, We’d like to connect the Muse to a low-power embedded system to allow said system to support brainwave control.

For example, this could be a small single-board computer such as a BeagleBone or Raspberry Pi running Linux.

Are there plans to release some sort of SDK for Linux? Would there be open-source drivers? (Needed for compilation on ARM, MIPS, etc)

If all of the processing is done in the Muse, it should then theoretically be possible to connect something really simple, such as an Arduino with a BT radio. Is this something possible, and if so are there plans to release information on how to interface to Muse at the BT level? If this is possible, then the community could quickly come up with all manner of open-source support.

Awesome product! We look forward to exploring many new possibilities with it.

Thanks!


#2

It’s coming! There are some engineers out of office right now but there is an arm build of muse-io and everything works on Linux. We will try to publish something after next week. Wrt open source, that could happen at some point with muse-io but I don’t think the resources are available for that yet. There will be a python script published as a basic example of initiating and decoding the bit packed stream.

Also there is some code that uses the GPU to do FFT’s of brainwaves, derived from the hello_pi example. Will push to a public repo after it’s a tad more polished. The pi can receive at 500hz put it creaks and groans if you try to numerically process with it. The pi works great as a repeater station tho. Ultimately a public repo with GPU ffts and opengl spectrogram would be the goal for a cool example.

Wrt arduino. You could technically initiate and receive, and decode the data, but what would you do with it?? Even an 8bit minimal fft doesn’t leave much for anything else!


#3

Matt, whats the status of the arm-build of muse-io you mentioned? The latest Linux SDK doesn´t install on my raspi, which i want to record raw eeg data from the muse. Did you release the arm build and if so, where can i find it? If not, what is your plans in terms of arm / raspi support?
Thanks in advance,
Fred


#4

Hi Fred,

There isn’t an ARM build of the SDK available. That initiative has been put on the backburner for a bit. Right now we’re fully focussed on providing LibMuse for the major mobile and desktop platforms.

It’ll probably be possible to whip up an ARM build at some point in the future, but we don’t have a well-defined schedule for it at the moment. I’ll bring it up with the dev team, and we’ll be sure to let everyone know if/when it becomes available. We definitely want to help people get up and running to build cool embedded projects with Muse. We actually made a Muse-controlled robotic beer tap here at the office that’s powered by an RPi (just the robotics, that is, not the Muse connection)!


#5

Hi Tom,

In an August post (http://forum.choosemuse.com/forum/developer-forum/717-muse-io-and-linux-sdk-don-t-work?p=757#post757) there was a mention of resolving the static vs dynamic linking for dependencies. We’re developing some new projects on embedded x86 platforms but we’re at a bit of a stand-still on our Muse project due to a GLIBC dependency. Our embedded platforms are 32-bit, but it would be great if we could also run on 64-bit machines as well.

Is there any visibility/roadmap around when those things might get resolved?

Thanks,

Jeff


#6

Hi,

Like I said, an official, statically linked build for embedded platforms is on the backburner for now. I can’t really give more concrete timeline information than that right now.

However, personally I’ve managed to get muse-io working on Ubuntu 64bit just by installing the correct 32bit dependencies. IIRC, I just used apt and installed:

  • zlib1g:i386
  • libc6-dev-i386
  • lib32stdc++6-4.7-dev
  • libbluetooth-dev:i386

This is on a small headless machine using a CSR Bluetooth 4.0 dongle for the Bluetooth connection, by the way. That may not be relevant, but I just thought I would mention it.


#7

This could be a small single board computer such as a Graperain or Raspberry Pi running Linux. t’s coming! There are some engineers out of office right now but there is an arm build of muse-io and everything works on Linux. We will try to publish something after next week. Wrt open source, that could happen at some point with muse-io but I don’t think the resources are available for that yet. There will be a python script published as a basic example of initiating and decoding the bit packed stream.