Home

Awesome

OpenBCI NodeJS SDK

<p align="center"> <img alt="banner" src="/images/openbci_large.png/" width="400"> </p> <p align="center" href=""> Provide a single source to program all OpenBCI biosensors in NodeJS </p>

Stories in Ready Join the chat at https://gitter.im/OpenBCI/OpenBCI_NodeJS Build Status npm

Welcome!

First and foremost, Welcome! :tada: Willkommen! :confetti_ball: Bienvenue! :balloon::balloon::balloon:

Thank you for visiting the OpenBCI NodeJS SDK repository. This repository does not contain any specific source code and bugs for a specific biosensor should be open in their respective repositories: Cyton | Ganglion | WiFi Shield | Utilities. Checkout this blog post to understand the rational behind this modular structure of our java script code base.

This document (the README file) is a hub to give you some information about the project. Jump straight to one of the sections below, or just scroll down to find out more.

What are we doing?

The problem

So, if even the very best developers want to use NodeJS with their OpenBCI boards, they are left scratching their heads with where to begin. integrate the current easy to use Cyton and Ganglion NodeJS drivers, they are still burdened by the limitations of the physical hardware on the OpenBCI system.

The solution

The OpenBCI NodeJS SDK will:

Using this repo provides a building block for developing with NodeJS. The goal for the NodeJS library is to provide a single source to program all OpenBCI biosensors in NodeJS

Who are we?

If we look back in time, we see this library took shape when the Cyton board was the only OpenBCI board around. Then the Ganglion came around which required it's own nodejs libary! When the wifi shield was in development, we created the wifi nodejs driver which was had a lot of overlap with Cyton and Ganglion nodejs drivers. Therefore we pulled out the common code between all three NodeJS modules and created the [nodejs utilities][link_nodejs_utilities] which as of today is also available to use in the browser.

The contributors to these repos are people using NodeJS mainly for their data acquisition purposes. For example, the entire OpenBCI GUI is dependent on the NodeJS ecosystem to provide cross platform support.

What do we need?

You! In whatever way you can help.

We need expertise in programming, user experience, software sustainability, documentation and technical writing and project management.

We'd love your feedback along the way.

Our primary goal is to provide a single source to program all OpenBCI biosensors in NodeJS, and we're excited to support the professional development of any and all of our contributors. If you're looking to learn to code, try out working collaboratively, or translate you skills to the digital domain, we're here to help.

Get involved

If you think you can help in any of the areas listed above (and we bet you can) or in any of the many areas that we haven't yet thought of (and here we're sure you can) then please check out our contributors' guidelines and our roadmap.

Please note that it's very important to us that we maintain a positive and supportive environment for everyone who wants to participate. When you join us we ask that you follow our code of conduct in all interactions both on and offline.

Contact us

If you want to report a problem or suggest an enhancement we'd love for you to open an issue at this github repository because then we can get right on it.

You can also hang out, ask questions and share stories in the OpenBCI NodeJS room on Gitter.

Find out more

You might be interested in:

And of course, you'll want to know our:

Glossary

OpenBCI boards are commonly referred to as biosensors. A biosensor converts biological data into digital data.

The Ganglion has 4 channels, meaning the Ganglion can take four simultaneous voltage readings.

The Cyton has 8 channels and Cyton with Daisy has 16 channels.

Generally speaking, the Cyton records at a high quality with less noise. Noise is anything that is not signal.

Thank you

Thank you so much (Danke schön! Merci beaucoup!) for visiting the project and we do hope that you'll join us on this amazing journey to make programming with OpenBCI fun and easy.

<a name="install"></a> Installation:

npm install openbci

<a name="developing"></a> Developing:

<a name="developing-running"></a> Running:

npm install --all

<a name="license"></a> License:

MIT