Make programming with OpenBCI reliable, easy, research grade and fun!
First and foremost, Welcome! :tada: Willkommen! :confetti_ball: Bienvenue! :balloon::balloon::balloon:
Thank you for visiting the OpenBCI WiFi Shield Library repository.
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.
So, if even the very best developers integrate the current easy to use Cyton and Ganglion, they are still burdened by the limitations of the physical hardware on the OpenBCI system.
The OpenBCI WiFi Shield Library will:
Using WiFi physically solves limitations with the current state-of-the-art open source bio sensor. The goal for the WiFi Shield firmware was to create a one up data pipeline, where scientific data in JSON is sent instead of raw/compressed ADC counts (yuk!) to make programming with OpenBCI reliable, easy, research grade and fun!
The founder of the OpenBCI WiFi Shield Library is OpenBCI. As we continue to stabilize the hardware, the people contributing to this repo is the OpenBCI at large. WiFi library contributors want to stream data fast from their bio-sensors.
<img src="http://mozillascience.github.io/working-open-workshop/assets/images/science-fox.svg" align="right" width=140
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 make programming with OpenBCI reliable, easy, research grade and fun, 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.
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.
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. But you can also contact OpenBCI by email (contact@openbci.com).
You can also hang out, ask questions and share stories in the OpenBCI NodeJS room on Gitter.
You might be interested in:
And of course, you'll want to know our:
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.
Use the DefaultWifiShield.ino
in examples.
You need to clone the ESP8266 library from github.
For the firmware that runs on ESP8266 see OpenBCI_Wifi on the OpenBCI github repository.
For the software that runs on OpenBCI, we will start from scratch with an ino file that just does SPI.
The ESP8266 runs arduino as well so there are several installs that need to happen in order to make that work; repo: ESP8266 Arduino and follow the instructions for Using Git Version to install properly. We have to do this because we need the “SPISlave” feature that has not been published in their latest release.
The library we are interested in using is the SPISlave
.
There are two steps to flashing code. Compiling the codebase, and then flashing it onto the wifi module. Makefiles make it a lot easier. Especially if you use makeEspArduino. Follow the instructions from the project's github.
The make
command runs the default commands from makeEspArduino
with OpenBCI_Wifi specific variables provided in the Makefile
. By default builds the default sketch in the examples/
directory. (Note: Run source env/linux.env
to override make
variables for the build.
To build and flash run:
make flash
To build a different sketch, provide the (full or relative) path to the sketch file, e.g.:
make SKETCH=examples/WifiShieldJSON/WifiShieldJSON.ino
To build and flash with a specific sketch file:
make SKETCH=examples/WifiShieldJSON/WifiShieldJSON.ino flash
If your board is not using port /dev/ttyUSB0
, then pass the UPLOAD_PORT
variable, e.g.:
make UPLOAD_PORT=/dev/cu.usbserial-AI02BAAJ flash
To build and flash if your board is not using port /dev/ttyUSB0
, then pass the UPLOAD_PORT
variable, e.g.:
make SKETCH=examples/WifiShieldJSON/WifiShieldJSON.ino UPLOAD_PORT=/dev/cu.usbserial-AI02BAAJ flash
There are two modes that the OpenBCI WiFi shield can run in
WiFi Direct Mode (WiFi<->Computer)
WiFi Station Mode (WiFi<->Router<->Any Internet Device)
MIT