The world's first open-source development platform for ear-based sensing applications.

OpenEarable is licensed under the MIT license!
OpenEarable is a new, open-source, Arduino-based platform for ear-based sensing applications. It is equipped with a series of sensors and actuators: a 9-axis inertial measurement unit, an ear canal pressure and temperature sensor, an inward facing ultrasound microphone as well as a speaker, a push button, and a controllable RGB LED. OpenEarable offers a general-purpose, open sensing platform for earable research and development.


The sensors inside OpenEarable create sensing opportunities for cutting-edge earable applications. Related research suggests that with the sensors inside OpenEarable it may be possible to detect 30+ phenomena.
Ultrasound-Capable Microphone
Knowles SPH0641LU4H-1
OpenEarable comes equipped with an ear canal facing microphone that is capable of capturing ultrasound audio signals. Per default, up to 62.5 kHz are supported to be recorded on the internal microSD card of OpenEarable.
9-axis Inertial Measurement Unit
Bosch BMX160
Inside the main body behind the ear sits a 9-axis inertial measurement unit consisting of an accelerometer, a gyroscope and a magnetometer. Per default, OpenEarable allows streaming IMU data in real-time at up to 50 Hz via BLE.
Ear Canal Pressure Sensor
Bosch BMP280
OpenEarable has an inward facing pressure sensor that makes it possible to measure pressure changes in the sealed ear canal. Using the foam eartip of OpenEarable, it is possible to get precise measuremnts up to 30Hz streamed via BLE.


The actuators in OpenEarable are used to play audio and give visual feedback. In addition, a button allow user input.
The speaker inside OpenEarable supports playing audio files from the internal microSD card. It is also possible to generate constant frequency tones directly on the device or to trigger eight different jingles via BLE.
OpenEarable has an RGB color LED in the main enclosure behind the ear. The color can be freely configured via BLE.
Button and Switch
The button on OpenEarable can be used to trigger events that are notified via BLE. The switch is used to turn on/off the device.

Tools, Libraries & Apps

OpenEarable Dashboard
The OpenEarable dashboard runs directly inside your browser. No download or installation is required as it works via WebBLE. You can control sensors and audio of OpenEarable.
OpenEarable Mobile App
A mobile Flutter app for Android and iOS let's you control OpenEarable. It offers the same features as the web dashboard and also a series of earable apps (e.g., a posture tracker).
OpenEarable.js Library
To develop custom tooling, the OpenEarable.js library provides all abstractions and simplifies browser-based app development. This library is also used for the dashboard.
OpenEarable Flutter Library
To develop custom tooling, the OpenEarable Flutter library provides all abstractions and simplifies iOS and Android development. This library is used by the official app.
OpenEarable is not just a wearable device; it's a versatile platform that brings a myriad of applications. That's why we have developed example applications showcasing the potential of OpenEarable:
  • Recorder: Capture and analyze data from your OpenEarable device.
  • Posture Tracker: Get real-time feedback and improve your posture.
  • Jump Height Test: Measure your jump height with precision.
  • Jump Rope Counter: Accurately count your rope skips during workouts.
  • Powernapping: Monitor the quality of your rest with automatic sleep detection.
  • Tightness Meter: Enhance your rhythm skills with targeted practice.


OpenEarable is available as a fully-assembled starter kit that includes everything you need to get started. You can also build one on your own using our open-source files.
Developer Starter Kit
The OpenEarable starter kit includes everything that you need to get started with developing ear-based sensing applications. The OpenEarable starter kit includes:
  • 1 × OpenEarable (left or right)
  • 2 × eartip foam (M, L)
  • 3 × eartip silicone (S, M, L)
  • 1 × microSD card reader
  • 1 × microUSB cable
Customize and Extend
The OpenEarabe hardware is designed to be easily customizable and extensible. OpenEarable can be extended as follows:
  • Custom earpiece (8-pin connector): Custom earpieces can be connected via an JST 08SR-3S plug (supported pins: +3V3, GND, I2C, PDM microphone, speaker DAC, GPIO, SoftwareSerial).
  • General purpose (4-pin connector): Behind the ear it is possible to connect a JST 04SR-3S plug (supported pins: +3V3, GND, I2C, GPIO, SoftwareSerial).
Slideshow Image 1 Slideshow Image 2
OpenEarable v1.3
OpenEarable is completely open-source. You can freely change and adapt it to your needs.
OpenEarable v1.0
This version is deprecated. Please use v1.3 which has better wearability and higher flexiblity.
This version has been published with the original OpenEarable paper.

Frequently Asked Questions

Is it necessary to program OpenEarable before I can use it?
If you get the starter kit, OpenEarable comes pre-flashed with the latest firmware so you can immediatly use it with the dashboard, app and libraries. If you are building your own OpenEarable, you will have to first flash the bootloader using a J-Link debugger and then upload the latest firmware via Arduino.

How long does the battery last and how long does it charge?
The exact battery life will depend on your usage patterns, such as the frequency of data streaming and audio playback. Charging the battery to full capacity takes about 45 mins.

Are there any IP ratings for OpenEarable (e.g., water or dust resistance)?
OpenEarable does not have an IP rating. It's recommended to avoid exposure to water and dust to prevent damage to the electronic components.

What is the range of BLE connectivity for OpenEarable?
The BLE range for OpenEarable is consistent with standard BLE devices, which is typically up to 10 meters (33 feet) without obstructions.

How customizable is the firmware, and can it be updated wirelessly?
Our firmware is highly customizable and open source (Github repository). Firmware updates can be conducted through a wired connection. In principle, the nRF52840 supports FOTA updates, however, it is currently not supported by the OpenEarable bootloader.

I am having issues with connecting my OpenEarable. What can I do?
Download a BLE Scanner for iOS or Android (e.g., nRF Connect for Mobile) and make sure you can find your OpenEarable. If you can find it, there is an issue with the device that you are using to connect to OpenEarable. Are you using the latest Chrome version? Does the OpenEarable app have the required permissions? Is the Bluetooth driver of your device updated?

Why can I not find any recordings on my microSD card?
In order to be compatible with OpenEarable the microSD card needs to be formatted as exFAT. Also make sure to have a sufficiently fast SD card (recommended microSD card: SandDisk class 10 and class A30).

What is the frequency response of OpenEarable's microphone and speaker?
The frequency response of the microphone can be found in the datasheet on page 6 and 7. The speaker was characterized in a baffle mount setup using an NTi XL2 Analyzer and pink noise (view result).


OpenEarable has been published as a scientific research paper. If you are using OpenEarable in your work, please cite it as follows.
     title = {OpenEarable: Open Hardware Earable Sensing Platform},
     author = {Röddiger, Tobias and King, Tobias and Roodt, Dylan Ray and Clarke, Christopher and Beigl, Michael},
     year = 2023,
     booktitle = {Proceedings of the 1st International Workshop on Earable Computing},
     location = {Cambridge, United Kingdom},
     publisher = {Association for Computing Machinery},
     address = {New York, NY, USA},
     series = {EarComp'22},
     pages = {29-34},
     doi = {10.1145/3544793.3563415},
     url = {},
     numpages = 6,
     keywords = {In-Ear Headphones, IMU, Monitoring}
Karlsruhe Institute of Technology, 2023
Made in Germany
tobias.roeddiger (at)