EcosystemPlatforms

Brilliant Labs

Brilliant Labs for third-party developers — SDK access, app model, distribution, capabilities & AI, and where it sits in the 2026 smart-glasses landscape.

Verified 2026-08-24 against primary sources

Brilliant Labs at a glance
Third-party SDK
OSS multi-language + on-device Lua + first-party IDEgithub.com
App model
Phone/host-companion over BLE (+ on-device Lua)docs.brilliant.xyz
Distribution today
Ship your own host app, no gatekeeperdocs.brilliant.xyz
Public publishing
No first-party dev store; open self-distributionbrilliant.xyz
Third-party UI on-lens
On-lens color OLED you render directlydocs.brilliant.xyz
AI / assistant access
Assistant is OSS + BYO-key/self-hostgithub.com

Openness verdict. The most open platform in the category: OSS multi-language SDKs (BSD-3/MIT) + an on-device Lua VM over plain BLE, a first-party IDE (AR Studio) and a complete open-source reference host app, open firmware on both Frame and Halo, plus Frame's design files (Halo's design files are not yet published), and an open-source self-hostable BYO-key assistant — with no gatekeeper on either building or shipping, since you distribute your own host app.

Covered here: Halo (the only product on sale — $399, orderable; first units ship early August 2026 per the vendor, checked 2026-07-29) · Frame (earlier model, NO LONGER SOLD; still documented by the vendor and still owned in the wild).
Not covered here: Monocle.

Overview

Brilliant Labs is a Singapore/Hong-Kong open-source hardware startup that builds developer-first AI smart glasses. Two models are in scope. Frame (no longer sold — its product page 404s and it is absent from the store, verified 2026-07-29; the vendor still documents it and existing units still work) is a lightweight (~40g class) glasses with a monocular 640×400 color micro-OLED (0.23", 20° FOV), an OV09734-based 720p color camera cropped to 720×720, a single TDK ICS-41351 MEMS mic, a 6-axis MC6470 accel/e-compass, an nRF52840 Cortex-M4F MCU + FPGA for display acceleration, a 210mAh battery, and Bluetooth 5.3 — no speaker. Halo (orderable; the vendor states shipments begin early August 2026, verified 2026-07-29) is a redesign: a 640×480 full-RGB VGA020 OLEDoS micro-display (0.2" panel, up to 5000 nit, 10000:1), a PixArt PAG7982J1 global-shutter VGA camera (81.2° H-FOV), dual T5838 MEMS mics with audio-activity detection, stereo bone-conduction speakers, a Bosch BMA580 accelerometer + QST QMC6308 magnetometer with tap detection, and notably an Alif Balletto B1 (Cortex-M55 + Ethos-U55 NPU) for on-device AI, a 300mAh battery, BLE 5.3, just over 40g. Halo is $399, sold direct via brilliant.xyz, with prescription lenses via a partner (adjustable +2 to −6 dioptres) and a single black colourway — one hardware model, not a product line. Both are open-source in intent, though the artifacts are uneven: Frame's firmware and FPGA RTL are published as frame-codebase and the SDKs are BSD-3/MIT, while Halo runs Zephyr OS and its firmware went public on 2026-08-19 as halo-firmware (Brilliant's own code Apache-2.0 inside a multi-licence Alif Zephyr fork, so the repo is not uniformly Apache-2.0), with owner-flashable signed OTA images from release 0.8.8; Halo's design files are still unpublished beyond a downloadable STL, and some vendor doc pages still carry stale "coming soon" firmware links. Neither is standalone: both are phone/host peripherals over BLE. (n/a: neither is a tethered viewer, controller-driven AR, or MR headset.)

What you can buy

ModelPriceStatus
Halo
brilliant.xyz
$399.00 USD. The product page lists Regular price and Sale price identically at $399.00, and products.json carries variant price 399.00 under SKU BLHALOBLK.Orderable, not shipping
Frame
brilliant.xyz
Not published. Brilliant publishes no price for Frame anywhere as of 2026-07-30 — brilliant.xyz/products/frame returns HTTP 404, and Frame is absent from products.json and /collections/all. Any figure in circulation comes from third-party reporting, not vendor documentation.No longer sold, no EOL notice

Cheapest way to run your own code: Halo at $399.00 USD is the only model Brilliant sells, and it runs third-party code fully through a free open-source SDK. The catch is delivery, not capability: as of 2026-07-30 Halo is orderable at full price but has not shipped, with the vendor stating "The first Halo units are rolling off the production line now, with shipments beginning in early August."

What the listings leave out

Halo

  • One colourway (Black) on a single SKU, with no capability or price variants.
  • Orderable but unshipped. The store shows a plain "Buy now" button and products.json reports available:true with no preorder or backorder badge, yet the product page states "The first Halo units are rolling off the production line now, with shipments beginning in early August." As of 2026-07-30 no unit has shipped, so full price today buys hardware that is not yet in customers' hands.
  • The price has moved: $399.00 is the current listed figure, and the earlier $349 introductory price no longer appears on the product page. Regular and Sale price are listed identically, so no promotional discount is in effect.
  • The marketed resolution is not the drawable canvas. The product framing cites 640×480 RGB, but Brilliant's own hardware docs state the 0.2" OLEDoS has a "256x256px drawable area", so UI layout addresses 256×256.
  • Weight figures conflict between sources. The Shopify variant records 130 g, a shipping weight including packaging, while the product page describes the glasses as just over 40 g. The 130 g figure is not the wearable's weight.
  • The open-source claim is unfulfilled for this model. Halo firmware and design files remain "coming soon" in Brilliant's own docs ("visit the Halo codebase repository (coming soon)" and "Find the official firmware on GitHub (coming soon)"), and no Halo repository exists in the brilliantlabsAR org as of 2026-07-30. Frame's firmware is published; Halo's is not.
  • The bundled assistant is not shipping with the hardware. Brilliant's Halo guide states "Brilliant Noa is coming soon to both Apple App Store for iOS and Google Play Store for Android" as of 2026-07-30, so the out-of-box consumer experience is unavailable at ship date. SDK work is unaffected, being independent of Noa.
  • A paid tier is implied but unpriced. The product page says Noa features "are included free out of the box with daily usage caps." Neither the cap values nor any paid or Plus tier price appear anywhere on the vendor site.
  • The NPU is not a third-party surface. The Ethos-U55 is on the die, but the Halo Lua API exposes no inference, model, tensor or NPU namespace. What reaches developers is sensor-level — microphone audio-activity detection and IMU tap detection — so on-device inference should not be budgeted for on the strength of the silicon spec.
  • Prescription lenses are a separate, unpriced purchase outside the optic's range. The display optic adjusts +2 to −6 dioptres in hardware, but prescription and sunglass lenses go through partner SmartBuyGlasses at a price Brilliant does not publish, so total cost for an out-of-range prescription cannot be determined from the vendor page.
  • A single SKU with no tiers: no dev-kit versus consumer edition, no colour or capacity options, and no bundle. The $399 line item is the whole lineup.

Frame

  • No variants are offered, and no store listing exists to carry any.
  • Delisted, not discontinued — the single most important distinction on this platform. /products/frame returns HTTP 404 and Frame is absent from products.json and /collections/all as of 2026-07-30, but Brilliant has published no end-of-life, end-of-sale, sunset or discontinuation notice on the product docs, the docs index, or /blogs/news. It cannot be bought from the vendor, which is not the same as a vendor statement that it is dead.
  • The documentation actively contradicts the store. docs.brilliant.xyz still lists Frame as a top-level product alongside Halo, the Frame getting-started page carries live charging, pairing and firmware-update guidance with no availability caveat and no buy link, and the hardware page reads as a current product. A developer arriving via docs or search gets no signal that the hardware is unobtainable.
  • Frame remains first-class in the current SDK rather than a legacy branch: the unified BSD-3 monorepo supports it with automatic device detection, so existing units keep working and new code targets them without a compatibility shim. One wrinkle: the Halo SDK docs carry a "Migrating from the Frame SDK" section implying separate lineages, while the monorepo README explicitly supports both. The README is the explicit, current statement.
  • Capability gaps against Halo are load-bearing developer facts, not cosmetics. Frame has no speaker whatsoever where Halo has stereo bone conduction, and the SDK's device-support table marks Frame — for click events (single, double, long) and — for audio-activity detection. A voice-out app written against Halo will not run on Frame.
  • No price can be quoted from any vendor surface, so stating a Frame price at all means citing reporting rather than vendor documentation.
  • Units are owned in the wild and still functional — the classic delisted-not-EOL case, an install base you may need to support with no way to buy a test unit through official channels.

Access

The Brilliant SDK is a single open-source monorepo covering both Halo and Frame (device type auto-detected on connect).

Host bindingsThree — Python (brilliant-ble low-level BLE via Bleak + brilliant-msg for rich objects), Flutter/Dart for iOS+Android, and Web Bluetooth/TypeScript
On-deviceAn on-device Lua 5.4 VM with a full Lua hardware API reachable directly on the glasses
LicenseGenuinely permissive: the unified brilliant_sdk is BSD-3-Clause, the older frame-sdk-python is MIT, and the Noa assistant backend is ISC
IDE workflowAR Studio, Brilliant's VSCode extension, is a full IDE-integrated on-device workflow — device-file explorer, an interactive on-glasses REPL, auto-run/build that transfers files and soft-resets over BLE, FPGA-binary/firmware updates, and community-project browse/publish. The Frame SDK docs present it as the officially-documented way to "directly write and execute Lua code on Frame" (its lineage is the Monocle MicroPython tool, now extended to the glasses)
Reference appThe complete Noa companion app is open-source Flutter and is promoted as the canonical reference — "a great example of how to build your own Frame apps" — so you can start from a shipping production host app rather than raw snippets
MaturityActively-developed and past 1.0. The bindings version independently rather than in lockstep (PyPI brilliant-sdk 1.0.0, npm brilliant-sdk 2.0.0, pub.dev brilliant_sdk 2.0.0, checked 2026-08-24), and the docs still note each platform SDK is under active development. Frame's SDK is battle-tested; Halo's shipped with the hardware
Who can buildAnyone — open signup, no dev-mode toggle, invite, partner tier, enterprise contract, or fee
Docsdocs.brilliant.xyz; source at github.com/brilliantlabsAR

App model

Explicitly phone/host-companion. Per the Frame SDK docs: "Rather than installing apps directly on Frame, it typically functions as a peripheral accessory for 'host' apps running on computers or mobile devices," with the glasses running a simple event-handler loop while the host drives logic.

TransportBluetooth LE in every binding. brilliant-msg streams rich objects (images, audio, IMU data, rasterized text) between host and glasses
A second dev pathDevelopers can also write Lua scripts that execute on Frame/Halo directly on the on-device Lua 5.4 VM (on Frame via AR Studio; on Halo via the BLE Lua REPL plus a main.lua that runs at wakeup), supplementing — not replacing — the host app, so you can move logic on-glasses when latency or offline operation matters, and Halo's Ethos-U55 NPU makes some on-device inference viable

This is a near-exact match for Extentos's phone-companion model: a mobile app owning the primitives over BLE. The divergence is that Brilliant's transport/messaging is its own BLE protocol (not Meta's DAT), and Brilliant additionally exposes the on-device Lua path that Extentos's Meta-oriented model does not.

Distribution

There is no gatekeeper and no first-party developer app store for compiled SDK apps.

What you shipAn SDK app is just your own host program — a Python/desktop app, or an iOS/Android app built on the Flutter SDK — that you distribute through ordinary channels (the OS app stores for a mobile companion, or run it yourself)
ReviewBrilliant reviews and gates nothing about shipping, and because the SDK, hardware, and firmware are open source you can fork firmware or flash custom Lua freely
AR Studio sharingA lightweight community browse-and-publish channel ("Browse community projects, or publish your own") for on-device scripts/projects — Monocle-rooted, but a real first-party discovery path
Noa MiniappsThe Noa companion app ships a consumer Miniapps system — which the Halo page calls "our App Store" — where an end user builds new experiences in natural language and shares them with others, included free out of the box with daily usage caps (see the Halo product page)
GatingNo preview→GA gating, no developer invite waitlist, no enterprise-MDM requirement

These sharing surfaces are authoring/sharing surfaces, not compiled-SDK third-party publishing channels comparable to a reviewed native store. Publishing status: effectively open/unrestricted for SDK apps, with the caveat that "publishing" means shipping your own host app rather than submitting to a Brilliant-run store.

Capabilities, limits & AI

CapabilityThird-party access
CameraFrame captures 720×720 color stills to the host via brilliant-msg. Halo's PAG7982J1 is a global-shutter VGA color module (81.2° H-FOV); brilliant-msg lists image transfer, but Brilliant markets Halo's camera primarily as "AI vision input" and the product page frames it as a low-power optical sensor for AI inference — photo capture to host is nonetheless a documented first-class primitive on Halo: the Lua API exposes frame.camera.capture() / image_ready() / read() and states "Camera images are read in Lua and sent to the host over the regular data channel using frame.bluetooth.send()", and the SDK's device-support table marks "Camera / photo capture" supported on both Halo and Frame. No documented capture-gating/permission-broker layer — access is direct over BLE.
Microphone/audio captureYes — Frame single MEMS mic; Halo dual T5838 mics with audio-activity detection, streamable to host.
Audio output/TTSFrame has no speaker (host-side audio only); Halo has stereo bone-conduction speakers you can drive.
On-lens display/UIYes, a real first-class surface — you render directly to the color OLED via Lua graphics APIs or host-pushed rasterized text/images (Frame 640×400, 20° FOV; Halo's 640×480 RGB OLEDoS panel exposes a 256×256 circular drawable area).
SensorsIMU/accelerometer + magnetometer with tap detection on both; no GPS on-glasses (location comes from the phone host).
InputAccelerometer-based tap detection on the frame; Halo adds a physical button + status LED. No gesture-camera, controller, or neural-band input.
Reserved surfacesEssentially none — because the assistant, wake handling, gestures, and IMU are all exposed to developer code, there is no locked first-party layer the way Meta reserves "Hey Meta."
AI & the assistantNoa is the bundled multimodal assistant, and its backend is genuinely open: noa-assistant is open-source (ISC), self-hostable, and bring-your-own-key — you supply your own provider credentials in a .env and point the glasses at a model you host. Two caveats: it is a Frame-era repo with no commits since October 2024, and Brilliant's own Halo guide still lists the Noa app itself as coming soon on both app stores (checked 2026-07-30). Provider selection is first-class and multi-vendor: --assistant accepts gpt, claude or groq, --search-api accepts perplexity (the default), serp or dataforseo, and --vision accepts GPT-4o/GPT-4-Vision or three Claude models — each routed to a dedicated client class, with OpenAI, Anthropic and Groq keys read from the environment. Voice invocation and vision queries are developer-controllable; Halo's Ethos-U55 NPU enables some on-device inference, though the shipped Noa experience is cloud-backed.

Roadmap

Frame has been shipping and its Python/Flutter SDKs are mature. Halo was announced in 2026 as the successor at $399 (an earlier $349 introductory price is no longer listed); shipping was stated to start the week of July 20, 2026 and the product page now says shipments begin in early August — the unified brilliant_sdk monorepo (Python/Flutter/Web Bluetooth, Lua 5.4, auto device detection) lands with it. Momentum signals: consolidation of Frame+Halo into one open SDK, a move to a modern NPU-class SoC (Alif Balletto B1) for on-device AI, and continued full open-sourcing of hardware/firmware/design files. Announced-but-still-settling at time of writing: Noa's paid "Plus" tier pricing and the exact scope of Halo's first-party on-device (vs cloud) AI — Brilliant's own spec sheet lists a "cloud-based AI agent" under software while the silicon carries an NPU. What is settled is the third-party surface: the Halo Lua API exposes no inference, model, tensor or NPU namespace (verified 2026-08-24), and Brilliant's own MobileNet classification example runs the model on the phone rather than on the glasses. So the Ethos-U55 is not reachable from the Lua or host-SDK surface an app calls into — but since Halo's firmware went public on 2026-08-19 the NPU is no longer vendor-reserved either: the Ethos-U node is enabled on the halo board and the west manifest pulls hal_ethos_u and tflite-micro, so targeting it means building custom firmware and flashing it over BLE OTA, which Brilliant supports outright ("No cable, no dev kit, no vendor tooling", per the firmware README). That is a firmware fork rather than an app calling an API, and the wiring is still yours to do: the shipped Halo build leaves the Ethos-U driver off, the in-tree TFLite-Micro/Ethos-U samples carry board overlays for Alif's dev kits and none for halo, and Brilliant's own in-tree note still lists "driver wiring — confirm Ethos is enabled in this build" as open work; what the NPU-class silicon does reach developers as is narrow sensor-level work — audio-activity detection on the mics and tap detection on the IMU. No developer-publishing gate is announced or planned — the platform's trajectory is more-open, not gated. The predecessor Monocle (MicroPython clip-on) is legacy and out of scope.

In the landscape

Brilliant Labs is one platform in the third-party smart-glasses landscape. See how open it is relative to other platforms, how AI works across them, and the full platform comparison.

The third-party smart-glasses landscape

Can you build third-party apps for smart glasses today? A platform-by-platform comparison — Meta, Snap Spectacles, Brilliant Labs, Rokid, RayNeo, Even Realities, Vuzix, Android XR, Apple and more: which have an official SDK, how apps are built and distributed, and whether you can publish publicly.

How open is smart-glasses development?

A mental model for the openness spectrum in smart-glasses development — SDK availability, license, build-time gating, and publishing gating — with today's platforms placed on it.

AI on smart glasses

How third-party AI works across smart-glasses platforms — which first-party assistants are reserved (Meta AI, Gemini, Ari), where you bring your own AI (phone-side, cloud, on-device), wake-word limits, and the voice-in → AI → voice-out surface that generalizes even where the assistant is closed.

How third-party smart-glasses apps are distributed

Smart glasses don't have one app store. The app-model taxonomy — companion mobile app vs. an app that runs on the glasses (native or web) — and why a single platform (Meta) offers two entirely separate developer systems: DAT and Ray-Ban Display Web Apps.

Meta smart glasses (Meta DAT)

Meta smart glasses developer guide: Wearables Device Access Toolkit (DAT 0.8.0) capabilities, supported models (Ray-Ban Meta, Oakley Meta, Ray-Ban Display), 2026 distribution state, and how Extentos abstracts the toolkit.

Capabilities

The Extentos capability vocabulary — the vendor-agnostic SDK primitives (audio, camera, voice, assistant, display, hardware events) your handler subscribes to.