- ELECTRICAL SHOCK WARNING
- Stack, Sense and Stream
- Installing EmotiBit Firmware
- EmotiBit Bootup
- Next Steps: Connecting to EmotiBit and Recording EmotiBit Data
- After connecting to emotibit and recording data
- Using EmotiBit Oscilloscope
- EmotiBit: LEDs and Buttons
- Next Steps
- Troubleshooting
EmotiBit should NEVER be worn while electrically connected to any device that's attached to A/C wall power. Connecting EmotiBit USB or any other pin to another device can be a shock risk hazzard and should ONLY be done when EmotiBit is NOT in physical contact with the body.
- Follow the steps below for more information on downloading EmotiBit software and connecting to WiFi.
The EmotiBit forum is a great place to get answers to all things EmotiBit!
- Find answers to questions you may have about using EmotiBit.
- Share your experience working with EmotiBit or the latest signal processing tools.
- Take a glance at the EmotiBit FAQ. Great minds think alike! If you have a question, the FAQ page probably has an answer.
- Share your latest publication with the community or start a discussion about the future of biometric sensing!
The following sections explain the contents of each item available for purchase at the shop.EmotiBit.com:
- 1x EmotiBit with finger loop Emoti-stretch strap
- Depending on your purchase, you may either have an EmotiBit MD or an EmotiBit EMO
- 1x Emoti-genic barrier (provides an additional hygienic layer and sweat protection)
- 2x EDA electrodes (Ag/AgCl) attached to the EmotiBit
- 2x EmotiBit stickers
The Essentials kit contains everything you will need to get started with EmotiBit! In the box you will find:
- Adafruit Feather M0 WiFi or Adafruit Feather ESP32 Huzzah
- 400mAh Lithium ion battery
- High-speed microSD card
- MicroSD card reader
- Micro USB cable
- 3x Emoti-stretch straps of different lengths to wear EmotiBit nearly anywhere on the body, ranging from a child’s wrist to an adult head
- Plastic spudger -- used to easily toggle the hibernate switch and EmotiBit button
The electrode kit has been designed for users who use multiple EmotiBits for research and intend to frequently swap out the electrodes. the electrode kit includes
- 10x EDA electrodes (Ag/AgCl)
- 4x solder-cup snaps (to add your own EDA leads)
- 5x Emoti-genic barriers (provides an additional hygienic layer and sweat protection)
If you purchased the All-in-one-bundle, you will receive the EmotiBit, Essentials Kit and Electrode Kit.
-
Plug in the USB card reader loaded with the SD-Card into the computer.
-
Download the config file from https://www.emotibit.com/files/config.
-
Open the config file in any text editor (e.g. Notepad on Windows or text edit on macOS).
-
Add your WiFi credentials by replacing
YOUR_WIFI_NAME_GOES_HEREto the name of your WiFi network and changeYOUR_WIFI_PASSWORD_GOES_HEREto the password for your WiFi network. -
Save the file onto your microSD card. Eject the SD-Card from your computer.
-
Multiple WiFi credentials
- If you use multiple WiFi networks and want your EmotiBit to automatically connect to whichever one is in range, simply add both networks to the WifiCredentials array in the config file like this:
{ "WifiCredentials": [ { "ssid": "wifi_1", "password": "password1" }, { "ssid": "wifi_2", "password": "password2" }, { "ssid": "wifi_3", "password": "password3" }, { "ssid": "wifi_4", "password": "password4" } ] } - If you use multiple WiFi networks and want your EmotiBit to automatically connect to whichever one is in range, simply add both networks to the WifiCredentials array in the config file like this:
-
Adding credentials using Serial Monitor
-
The EmotiBit firmware also provides a provision to enter WiFi credentials through serial interface. To use this provision, you will need to download and install Arduino IDE. You will also need to upload the EmotiBit firmware to the device. Stack your EmotiBit and check out the section to learn how to use the EmotiBit Firmware Installer. Once you have installed the firmware and ArduinoIDE, proceed to the next steps.
-
Open Arduino IDE. Under
Tools > Portnotice the ports avaiable, if any. -
Make sure you have a stacked EmtotiBit and connect the Feather to the computer using the provided USB cable.
-
Once connected, check
Tools > Portagain in Arduino IDE. A new port will have appeared. Select that port. -
Click on
Tools > Serial Monitorto open a Serial Monitor on that port. A Serial Monitor should open, but may not output anything if EmotiBit is past setup. Make sureNo line Endingand2000000 baudis selected as the settings at the bottom. -
Close the Serial Monitor. Reset the EmotiBit (by pressing the reset button) and open the Seial monitor immediately after.
-
You will see setup messages being displayed. In setup, the EmotiBit waits for a few seconds to accept an input.
-
Type capital
Cin theinput field. Wait for the Serial monitor to print the message shown below and pressSend/ hit enter to send the character. -
If you timed is right, you will see the following response in the serial monitor. You are now in
WiFi credential edit mode. -
If the EmotiBit continues setup, then you need to reset the EmotiBit, close and reopen the Serial Monitor and try and get the timing right so that the firmware registers the serial input.
-
Once in the
WiFi credential edit mode, you canAdd,DeleteorViewcredentials in the config.txt file. -
Adding a Credential
- To add a credential, you will need to use the keyword
WA. - In the serial monitor input type
@WA,{"ssid":"SSSS","password" : "PPPP"}~ - Replace
SSSSwith the network name andPPPPwith the network password. - Once the Name and password uare update, hit
Send. - You shuold see the following response on the Serial Monitor.
- To add a credential, you will need to use the keyword
-
View existing credentials
- To view existing credentials, you will need to use the keyword
LS. - In the serial monitor input type
@LS~. HitSend. - The existing credentials, along with their passwrods will be printed as a list.
- To view existing credentials, you will need to use the keyword
-
Delete a credential
- To delete an existing credentials, you will need to use the keyword
WD. - Use the
LSkeword as mentioned above to get the list of existing credentials. - Note the number of the credential you want to delete.
- In the serial monitor input type
@WD,<network_number>~. Replace network number with a number on the list output in the previous step. For example,@WD,1~. HitSend. - The credential will be deleted and you will see the following output.
- To delete an existing credentials, you will need to use the keyword
-
Reset
- Once you have completed the edits to the credentials, type
@RS~in the Serial Monitor input. HitSend. - The EmotiBit will restart and you will see Setup messages being printed on the Serial Monitor again.
- Once you have completed the edits to the credentials, type
-
Note: Currently EmotiBit only supports the 2.4GHz band for WiFi. Initial experimental support for enterprise networks (that require a login/password after connecting) is available only for ESP32 Feathers. The EmotiBit codebase uses several arduino libraries to unlock different features, for example, establishing and mainting a WiFi connection. The limitations around the support for enterprise wifi, for example, lack of support for Feather M0, are therefore dictated by these libraries and lie outside the scope of the emotibit ecosystem.
Adding Enterprise WiFi credentials (only supported for ESP32 Feather)
-- Support for ENTERPRISE WIFI is still experimental. Connectivity and usability will vary and depend on your network conditions and rules.- Enterprise WiFi network details are added to the config.txt file in the following format.
- If no
usernameis provided,useridwill be used asusername
- If no
{
"ssid": "enterprise-1",
"userid": "user1",
"username": "user1_name",
"password": "prize1"
}
- A sample config.txt file could look like
{
"WifiCredentials": [
{
"ssid": "personal-1",
"password": "pass1"
},
{
"ssid": "enterprise-1",
"userid": "user1_id",
"username": "user1_name",
"password": "prize1"
}
]
}
- Notes:
- ESP32 takes a substantially long time to connect to enterprise network (>10 secs as per our limited testing).
- Since the ESP core is still under heavy development, there are some unexplained behaviours with enterprise connectivity. Through our testing, we discovered that using a software
restartcommand before trying to connect to enterprise network helps with connectivity. Therefore, if an enterprise network credential is added to the config file, the defined behavior is for the ESP to restart, if a network connection is not made within a set timeout. - Unlike personal networks, Enterprise networks can allocate devices on different subnets. For example, if your computer is on
192.168.100.150, your emotibit may be allocated an IP192.168.101.68. Notice that they are on different subnets (100and101). For finer control over the subnets the Oscilloscope considers for device discovery, you can use theincludeListsection in the emotibitCommSettings.json file. You can find more information on that file in this FAQ. By default, all subnets are a part of theincludeList.
-
On the EmotiBit
-
Plug the battery into the Feather (ensure the connector is firmly pushed all the way into the Feather connector)
-
Stack the Feather with EmotiBit (12 pin connector goes into the 12 pin socket and the 16 pin connector goes into the 16 pin socket)
- Currently EmotiBit supports 2 Adafruit Feathers, the Feather ESP32 Huzzah and the Feather M0 WiFi.
Download the EmotiBit Software.
-
Installation Instructions For Windows Users
- Note: EmotiBit software is supported only for Windows 10+.
- After you download
EmotiBitSoftware-Windows.zip, you need toextractthe zip file. You can extract it byRight-Click > Extract All.... - You will find an
.msiinstaller inside the extracted folder. Run the installer by double-clicking. - Follow through the setup. Click on
Closeonce the setup is complete and the EmotiBit Software has been installed. - You will notice that shortcuts to
EmotiBit Oscilloscope,EmotiBit DataParserandEmotiBit FirmwareInstallerhave been created in the start menu and on the desktop. - Note: The EmotiBit Software installation process is sometimes blocked by any anti-virus tool you might have installed on your system. If you face any issues with installation, make sure to check that the appropriate settings are enabled on your anti-virus software to allow a third-party installs. You will likely also need to allow firewall permissions to allow streaming data on your WiFi networks.
-
Installation Instructions For Mac Users
- Download
EmotiBitSoftware-macOS.zipfrom the release page. - Move the downloaded zip file to a folder location you desire. Double click on the .zip file to extract it.
- You will find the Applications in the extracted folder.
- Download
-
Installation Instructions For Linux Users
- Follow the instructions on the release page.
Install the drivers provided with the downloaded EmotiBitSoftware bundle.
-
On Windows 10
- If you have not done so already, extract the
EmotiBitSoftware-Windows.zip. - Navigate to
EmotiBitSoftware-Windows>CP210x_Windows_Drivers. - Double click to run
CP210xVCPInstaller_x64.exe - Follow the on-screen instructions to complete driver installation.
- If you have not done so already, extract the
-
On Windows 11
- Please make sure you have extracted the downloaded zip file
EmotiBitSoftware-Windows.zip. To extract,Right-click > Extract All.... - Navigate to
EmotiBitSoftware-Windows>CP210x_Universal_Windows_Driver. - Right click on
silabser.inf>Show more options>Install. (If you did not see this option, make sure you extracted the downloaded zip file). - Depending on your firewall/antivirus settings you will likely need to grant permissions for the installation.
- Once completed, the required the drivers should be installed on your Windows 11 machine.
- Please make sure you have extracted the downloaded zip file
-
On macOS
- If you have not done so already, extract the
EmotiBitSoftware-macOS.zip. - Navigate to
EmotiBitSoftware-macOS>CP210X VCP Mac OSX driver. - Double click on the
SiLabsUSBDriverDisk.dmg. The contents will open in a new finder window. - Double click on
Install CP210x VCP driverto run the installer. - Follow the on-screen instructions to complete the driver installation.
- If you have not done so already, extract the
Based on your operating system, follow the steps below:
You can click on the start menu and search for the name of the application you want to run, e.g.EmotiBitFirmwareInstaller. The application should pop up in the search. Double-click on the application to run it!
You can find the EmotiBit applications in the folder you just extracted (as mentioned in the steps in the previous section)
Build the application from source. You can find instructions in the ReadMe provided with the zip file downloaded in the previous step..
To start using EmotiBit, you will first need to install the latest EmotiBit firmware on the Feather.
- If you did not order an Essentials-Kit, Basic-Kit (Kickstarter) or Research-Kit (Kickstarter), you will need to get one to start using EmotiBit. You can grab Feather M0 WiFi or the Feather ESP32 Huzzah! from the Adafruit online store.
- Install required drivers are explained in the section above
-
You will need the
EmotiBit FirmwareInstaller, which comes with the EmotiBit software bundle.- If you have not done so already, follow these steps to grab the latest EmotiBit software.
-
Open the
EmotiBit FirmwareInstaller.- Follow the instructions mentioned in the section above to start using
EmotiBit FirmwareInstaller
- Follow the instructions mentioned in the section above to start using
-
After you start the application, follow the on-screen instructions to complete installing the firmware.
-
Screengrab from
EmotiBitFirmwareInstaller -
Installing custom firmware
- The
EmotiBit FirmwareInstallerinstalls the stock firmware provided in the software bundle.- Each software release bundles specific firmware version that can be found in the software release notes.
- If you wish to install a custom firmware or an older firmware release, you can do so using the "Load" provision in the Firmware Installer.
- To do so,
- Press
Lon the first screen on the Firmware Installer (You may also notice that the Firmware Installer has a footnote with the same prompt) - Choose the file (
.bin) you want to install on EmotiBit - After selecting the file, you will return to the original Firmware Installer screen
- Continue with normal installation process (instructions on the screen)
- Press
- For example, you may grab an earlier release from the EmotiBit firmware release page, and install that firmware using the
Loadfunction in the EmotiBit Installer. - Alternatively, you can write your own custom firmware and create a binary. You can then use the Firmware Installer to install that binary.
- WARNING: Make sure that the firmware you are trying to install has been written for the correct board version. Installing incompatible firmware may lead to un-expected behavior, or worse, may brick your device.
- The
-
Installing Emotibit Firmware on Feather M0 WiFi
- Note: on macOS, you will need to give the
EmotiBit FirmwareInatllerapplication permissions to run the contained executables. To do so, right click on theEmotiBit FirmwareInstallerapp and click on Open. This will open the application but you may close it to proceed below. - The FirmwareInstaller essentaily performs 3 actions:
- Uploads the firmware updater sketch to prep the Feather for WINC updater
- Updates the WINC WiFi module FW to version 19.6.1
- Uploads the latest EmotiBit FW onto the Feather, after the WINC has been updated
- We use the
bossaccommand line tool to upload binary files to the feather. - There are 2 requirements to run bossac
- COM port on which the Feather is detected
- The bin file (provided in the software release). If your flavor of Linux doesn't work with the provided bin file, you'll have to download/compile
bossacyourself, but WARNING: THAR BE DRAGONS- Check out these instructions on installing bossac. PLEASE NOTE that with bossac version 1.9 or later, you must give an --offset parameter on the command line to specify where to start writing the firmware in flash memory. FAILING TO DO SO WILL BRICK YOUR FEATHER!
- To perform the operations manually, the follow the below listed steps:
- Navigate to the
datafolder located inside the EmotiBit software directory.- On Linux the path to the data folder should look like
EmotiBitSoftware-linux/ofxEmotiBit/EmotiBitFirmwareInstaller/bin/data - On MacOS the path should look like
EmotiBitSoftware-macOS/EmotiBitFirmwareInstaller.app/Contents/Resources - On Windows the path will be
C:\Program Files\EmotiBit\EmotiBit FirmwareInstaller\data
- On Linux the path to the data folder should look like
- Open a
cmd promptwindow for Windows orterminalfor Linux/Mac at this location - Connect the Feather to the computer using a data-capable USB cable
- The Feather should NOT be stacked with EmotiBit (to enable the programmer mode LED)
- Double-press the reset button to set the Feather in programmer mode.
- You should see the RED LED on the Feather pulsating!
- [ToDo: add gif]
- You should see the RED LED on the Feather pulsating!
- WARNING: DO NOT UNPLUG OR RESET FEATHER WHILE UPLOAD/UPDATE IN PROGRESS. YOU COULD BRICK YOUR FEATHER!
- Upload the firmware updater sketch by running the following command (use .\bossac.exe for windows, use ./bossac for macOS)
./bossac_linux -i -d --port=YOUR_FEATHER_COM_PORT -U true -i -e -w -v ./WINC/FirmwareUpdater.ino.feather_m0.bin -R- [For linux] If you get a
permission deniederror, run the commandchmod u+x ./bossac_linux, to make the file executable.
- [For linux] If you get a
- Update the WINC by running (use .\FirmwareUploader.exe for windows, use ./FirmwareUploader for macOS)
./WINC/FirmwareUploader_linux -port YOUR_FEATHER_COM_PORT -firmware ./WINC/m2m_aio_3a0.bin- [For linux] If you get a
permission deniederror, run the commandchmod u+x ./WINC/FirmwareUploader_linux, to make the file executable.
- [For linux] If you get a
- ONLY AFTER the FirmwareUploader command completes, double-press the reset button to set the Feather in programmer mode again
- Upload the EmotiBit FW using (use .\bossac.exe for windows, use ./bossac for macOS)
./bossac_linux -i -d --port=YOUR_FEATHER_COM_PORT -U true -i -e -w -v EmotiBit_stock_firmware.ino.feather_m0.bin -R
- Navigate to the
- Note: on macOS, you will need to give the
-
Installing Emotibit Firmware on Feather ESP32 Huzzah
- Note: on macOS, you will need to give the
EmotiBit FirmwareInatllerapplication permissions to run the contained executables. To do so, right click on theEmotiBit FirmwareInstallerapp and click on Open. This will open the application but you may close it to proceed below. - The FirmwareInstaller essentaily uploads the latest EmotiBit FW onto the Feather
- We use the
esptoolcommand line tool to upload binary files to the feather. - There are 2 requirements to run esptool
- COM port on which the Feather is detected
- The esptool bin file (provided in the software release).
- To perform the operations manually, the follow the below listed steps:
- Navigate to the
datafolder located inside the EmotiBit software directory.- On Linux the path to the data folder should look like
EmotiBitSoftware-linux/ofxEmotiBit/EmotiBitFirmwareInstaller/bin/data - On MacOS the path should look like
EmotiBitSoftware-macOS/EmotiBitFirmwareInstaller.app/Contents/Resources - On Windows the path will be
C:\Program Files\EmotiBit\EmotiBit FirmwareInstaller\data
- On Linux the path to the data folder should look like
- Open a
cmd promptwindow for Windows orterminalfor Linux/Mac at this location - Connect the Feather to the computer using a data-capable USB cable.
- The Feather should show up as a COM port on the system.
- On
Windows: The device appears with a same similiar toCOM X(whereXis a number) - On
mac/linux: You may find the COM port by running the terminal commandls -la /dev/tty* - Pro-tip for linux: the Feather may likely show up as
/dev/ttyUSB0
- On
- The Feather should show up as a COM port on the system.
- WARNING: DO NOT UNPLUG OR RESET FEATHER WHILE UPLOAD/UPDATE IN PROGRESS. YOU COULD BRICK YOUR FEATHER!
- replace YOUR_FEATHER_PORT with the COM port you detected in the previous step in the following command and run it to upload the firmware.
./exec/linux/esptool --chip esp32 --port YOUR_FEATHER_PORT --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 ./esp32/EmotiBit_stock_firmware.ino.bootloader.bin 0x8000 ./esp32/EmotiBit_stock_firmware.partitions.bin 0xe000 ./esp32/boot_app0.bin 0x10000 ./EmotiBit_stock_firmware.ino.feather_esp32.bin- [For linux] If you get a
permission deniederror, run the commandchmod u+x ./exec/esptool, to make the file executable. - [For Windows] replace
./exec/linux/esptoolwith.\exec\win\esptool.exe. You will also need to change all file paths to.\esp32\name-of-file - [For macOS] replace
./exec/linux/esptoolwith./exec/mac/esptool.
- [For linux] If you get a
- Navigate to the
- Note: on macOS, you will need to give the
When EmotiBit is booting up, the LEDs are used to indicate the steps in the process. If EmotiBit gets stuck prior to fully connecting to your WiFi, you can use the below table to assess what went wrong and how to fix it.
| LED State | LED Indicator | What to do? |
|---|---|---|
| Feather RED LED ON | ![]() |
Write a post describing your steps on http://forum.emotibit.com/ |
| Feather RED LED turns ON for a few seconds and then stays OFF | ![]() |
Check if SD-Card is correctly inserted |
| EmotiBit RED LED ON | ![]() |
Check if config file is present on the SD-Card AND config file is formatted correctly (A missing " or missing bracket {},[] can cause a parsing failure.) |
| EmotiBit BLUE LED solid ON | ![]() |
Verify correct WiFi credentials in config file (see Adding WiFi credentials) |
| EmotiBit BLUE LED BLINKING | ![]() |
Huzzah! EmotiBit is connected to your WiFi! Open EmotiBit Oscilloscope to start streaming biometric data! |
This section outlines the procedure for connecting to, streaming, and recording data from your EmotiBit using the EmotiBit Oscilloscope application.
The EmotiBit Oscilloscope communicates with the EmotiBit device over a WiFi network connection. For this communication to function, the Oscilloscope requires permission from your computer's operating system to access and use the local network.
The very first time you launch the EmotiBit Oscilloscope on your computer, your operating system (Windows or macOS) will prompt you to grant network access permissions to the application.
Action Required: You must grant the appropriate network permissions when prompted.
-
When you open the EmotiBit Oscilloscope, the following pop-up will be displayed on your screen.
-
Windows Security Alert pop-up (Windows Defender Firewall)
- When the
Windows Security Alertpop-up appears, allow private network access. You must also allow access on public networks if you plan to use the EmotiBit on a public network. If you have an Antivirus program installed, make sure the appropriate settings are enabled to grant the EmotiBit Oscilloscope. network access. -
- When the
-
You can update the Windows Defender Firewall settings at any time. In your Start menu, search for "Allow an app through firewall".
-
Opening Software in mscOS Catalina and newer
- Right-click on the application you want to run. Choose Open.
- A dialog box will appear with options
Move to TrashorCancel. ClickCancel. You will have to allow the application to run in theSecurity and Privacycenter. To do so:

- Click on the
Apple Logo>System Preferences>Security and Privacy.
- You will find a request from the application at the bottom of this window. Click on
Open Anyways.
- Click on
Allowon the dialog box that appears. This will open the application.
-
Opening Software in mojave
- Right-click on the application you want to run. Choose Open.
- If this is the first time you are using this application, a dialog box might appear asking you to
Allowthis application. Click onAllow. - You will see the EmotiBit Application start.
By this point, you're ready to be an EmotiBit rockstar!! Check out the following links to learn more about EmotiBit!
- EmotiBit Oscilloscope
- Working with your data
- Keep EmotiBit up to date
- Contributing to the EmotiBit Community
- Learn more about EmotiBit
Learn More about the LEDs and buttons on EmotiBit
- To troubleshoot any
Getting Startedissues, check out this troubleshooting guide. It lists all possible issues you may face while getting the EmotiBit setup and also offers suggestions on how to solve that issue. - Checkout the EmotiBit FAQ.
- FAQs did not help out? Post on the EmotiBit Forum

























