Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

352 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mentra Bluetooth SDK Starter Kit

Documentation and example apps for connecting to smart glasses directly from mobile apps over Bluetooth, powered by MentraOS. This is the supported Mentra Bluetooth SDK for mobile apps and works with MentraOS compatible glasses, including Mentra Live, Even Realities, Vuzix Z100, NIMO, and more.

The SDK is available in three first-class forms:

Platform Package Example
Android com.mentraglass:bluetooth-sdk examples/android
iOS MentraBluetoothSDK Swift package examples/ios
React Native / Expo @mentra/bluetooth-sdk examples/react-native

Use the latest SDK version published by Mentra for your app. This repo can be cloned and used without any local path to the MentraOS source tree.

Documentation

Read the first-party Mentra Live Bluetooth SDK docs.

Start Here

  1. Read Getting Started for install, permissions, and minimal connection flows.
  2. Run the example that matches your app stack:
  3. Keep API Reference, Display Guide, Audio Guide, and Hardware Integration Notes nearby while building.
  4. Use Troubleshooting and the Production Checklist before shipping.

Install Prebuilt Example Apps

Every commit on main publishes installable builds of the example apps to GitHub Releases, grouped by Bluetooth SDK version: the sdk-<version> release always carries the latest build of each example for that SDK version.

From the release matching your SDK version (e.g. sdk-0.1.20), download:

  • mentra-example-android.apk — native Android example
  • mentra-example-react-native.apk — React Native example
  • mentra-example-rn-elevenlabs-audio.apk — React Native ElevenLabs audio example
  • mentra-example-ios-unsigned.ipa — native iOS example

Android APKs install directly from the phone browser (enable installs from unknown sources when prompted). The iOS IPA is unsigned; install it with a sideloading tool such as Sideloadly or AltStore, which re-signs it with your own Apple ID. Pull-request builds are also available for 90 days as run artifacts on each workflow run.

What The Examples Demonstrate

  • Scanning for supported Mentra glasses, connecting, disconnecting, and reconnecting to a saved/default device.
  • Reading typed lifecycle state for glasses, SDK runtime, and scan progress.
  • Displaying text, clearing the display, and opening the dashboard on display-equipped models such as G2.
  • Checking Mentra Live OTA availability and showing update progress/status.
  • Handling button, touch, swipe, head-up, battery, Wi-Fi, hotspot, stream, photo, video upload, OTA, audio, and SDK diagnostic events.
  • Controlling model-supported features such as brightness, dashboard position, head-up angle, gallery mode, button photo/video settings, speaker playback, RGB LED patterns, Wi-Fi, hotspot, microphone, camera capture settings, and streaming.
  • Running local media upload and RTMP/SRT/WebRTC streaming demos from a fresh clone.

Repository Map

  • docs/getting-started.md: package install and first connection for Android, iOS, and React Native.
  • docs/api-reference.md: public API shape, command/event lifecycle, and cross-platform model names.
  • docs/display-guide.md: text, dashboard, and display-related settings.
  • docs/audio-guide.md: microphone events, LC3/PCM, local transcription, playback route, and glasses media volume.
  • docs/hardware-integration.md: model differences and capability gating.
  • docs/mentra-live-ble-wire-protocol.md: Mentra Live BLE wire v2, K900 endian negotiation, and SDK/firmware pairing notes.
  • docs/production-checklist.md: release-readiness checklist.
  • docs/troubleshooting.md: build, permission, scan, stream, and React Native issues.
  • examples/local-demo-cloud: recommended local helper for media upload and stream preview.
  • examples/react-native-elevenlabs-audio: focused Mentra Live PCM to ElevenLabs WebSocket repro app.
  • examples/photo-webhook-server: focused media upload webhook server.
  • examples/local-webrtc-server: lower-level MediaMTX helper.

Local SDK Development

Published package installs are the normal SDK path. Local overrides are only for SDK development before a release is published:

  • Android: publish com.mentraglass:bluetooth-sdk and its companion artifacts to Maven local, then build the example with mavenLocal() enabled.
  • iOS: point Xcode at a local Swift package checkout when testing unpublished Swift SDK source changes.
  • React Native: keep the published package pinned for clean checkouts, then locally symlink node_modules/@mentra/bluetooth-sdk to an SDK source checkout and set MENTRA_BLUETOOTH_SDK_PACKAGE_PATH so Metro and native builds resolve the same package.

The example READMEs document each override explicitly. Do not bake machine-specific paths into committed app config.

About

Connect to smart glasses over BLE from an Android/iOS/RN app, powered by MentraOS.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors