Open source camera glasses

Press the button. Paste the photo.

GlassNotes are glasses with a small camera and one button. Press it, and the photo arrives in Chrome over Bluetooth a few seconds later, ready to paste into ChatGPT, Claude, Gemini or any other chat.

Chrome or Edge on Windows, macOS, Linux, ChromeOS and Android. No account.

Serial Monitor · 115200 baudCOM3
1===== GlassNotes glasses 1.1 booting: power on (normal) =====
2Camera: OV5640 (PID 0x5640)
3Settings: 1600x1200 (UXGA, code 5), JPEG quality 12, sleep after 10 min idle
4CRC32 test: PASS ("123456789" gives 0xCBF43926)
5Advertising as GlassNotes.
6Computer connected (5C:BA:EF:11:22:33), interval 30.00 ms, MTU 23
7MTU now 517 (photo chunks of 505 bytes)
8PHY now 2M (send) / 2M (receive)
9Taking a photo (button)
10Photo #12: 1600x1200, 114.2 KB, capture 834 ms, CRC32 5A1C09E3, 1 in queue
11Sending photo #12: 114.2 KB, 1600x1200, waited 0 s, 0 more in queue
12Photo #12 delivered: 114.2 KB in 2310 ms = 49.4 KB/s | MTU 517, PHY 2M, interval 15.00 ms
Example output. The Terminal tab in the dashboard shows the same lines over Bluetooth.

See it in 30 seconds

From a lecture slide to an answer in your AI chat. Turn the sound on.

How it works

  1. 01

    Press the button

    Look at the page, the whiteboard or the screen and press the button on the glasses. The LED blinks once when the photo is taken.

  2. 02

    It arrives in your browser

    The photo goes over Bluetooth LE to the dashboard or the Chrome extension. If nothing is connected, up to 10 photos wait on the glasses.

  3. 03

    Paste it

    Press Ctrl+V (Cmd+V on a Mac) in your chat. With auto copy on, the photo is already on the clipboard.

Two ways to receive photos

Both talk to the glasses with the same Bluetooth protocol. Use whichever fits how you work.

DashboardChrome extension
Where it runsA tab at glassnotes.tech/appChrome's side panel, next to any tab
Copies a new photoWhile the dashboard tab is in frontInto the tab you are working in
Inserts into ChatGPT, Claude, GeminiNo, you pasteYes, or Ctrl+Shift+V
Photos keptUp to 100, in this browserThe last 20, in this browser
Terminal with the glasses' logYesNo
InstallNothing to installLoad unpacked from the repository

Hardware

Everything runs on one small board on the frame. The firmware is an Arduino sketch in the repository.

BoardSeeed Studio XIAO ESP32S3 Sense
CameraOV2640 or OV5640, up to 1600x1200
LinkBluetooth LE, 2M PHY, up to 505 bytes per packet
ButtonPress to take a photo. Hold 2 seconds to sleep, press to wake.
Photo queueUp to 10 photos wait on the glasses until a computer connects
Firmware1.1, Arduino IDE 2 with esp32 3.3 and NimBLE-Arduino 2
Firmware source

Browser support

The glasses need Web Bluetooth, which only Chromium browsers have.

BrowserWindowsmacOSAndroidiPhone and iPad
Google ChromeWorksWorksWorksNo
Microsoft EdgeWorksWorksWorksNo
BraveNeeds a flagNeeds a flagNot testedNo
FirefoxNoNoNoNo
SafariNoNoNoNo

Brave ships with Web Bluetooth off. Open brave://flags/#brave-web-bluetooth-api, set it to Enabled and relaunch Brave. Every browser on iPhone and iPad uses Safari's engine, which has no Web Bluetooth.

Questions

Where do my photos go?
From the glasses to your computer over Bluetooth, and nowhere else. They are kept in your browser on that computer and are never uploaded. Delete them whenever you like.
Does it work on iPhone?
No. Every browser on iPhone and iPad uses Safari's engine, and Safari has no Web Bluetooth. Use a computer or an Android phone.
How fast does a photo arrive?
Usually within a few seconds. It depends on the computer's Bluetooth. The dashboard shows the speed of every photo, and a smaller resolution in Settings makes it faster.
How far from the computer can I be?
About a room. If the link drops, the glasses keep the photos and send them when you are back in range.
Something does not work. Where do I look?
Open the Terminal tab in the dashboard. It shows everything the glasses print, the same as the Arduino Serial Monitor, plus what the page itself did. Copy it from there when you ask for help.
Do I need an account?
No. Open the dashboard or the extension, connect, and take photos.

Built in the open

Firmware, Chrome extension and this website are in one repository on GitHub.

View on GitHub