| title | Monitoring & Testing |
|---|---|
| icon | chart-line |
| description | Monitor serial logs and test your OmiGlass device |
After flashing the firmware, you can monitor your device's activity, check battery status, and test functionality using the serial monitor.
Use PlatformIO's device monitor to view real-time logs from your OmiGlass:
platformio device monitor --baud 115200Alternative: Specify Port Explicitly
If you have multiple devices connected:
# macOS/Linux
platformio device monitor -p /dev/cu.usbserial-XXXX -b 115200
# Or shorter version
pio device monitor --baud 115200Once connected to the serial monitor, you can type these commands to interact with your device:
status
Shows current battery level, connection status, and device state.
Example Output:
Battery: 85% (4.1V)
Status: Connected
Camera: Ready
BLE: Active
Monitor charging progress in real-time See how long your glasses will last
charging
Takes 10 readings over 20 seconds and displays charging status:
- 🔋 CHARGING (>4.1V) - Actively charging
- ⚡ CHARGED (3.9-4.1V) - Good charge level
- 🔴 LOW (3.7-3.9V) - Needs charging
- ❌ CRITICAL (<3.7V) - Check connections
Example Output:
Reading 1/10: 4.15V - CHARGING
Reading 2/10: 4.18V - CHARGING
Reading 3/10: 4.20V - CHARGING
...
Average: 4.18V - Battery is charging normally
runtime
Shows estimated runtime for different usage scenarios based on current charge level.
Example Output:
Current Battery: 85% (4.1V)
Estimated Runtime:
- Heavy Use (continuous photos): 5-6 hours
- Normal Use (mixed usage): 7-9 hours
- Light Use (mostly idle): 10-12 hours
chargetime
Calculates estimated time to reach full charge from current level.
Example Output:
Current Battery: 45% (3.85V)
Estimated Charging Time:
- To 80%: 25 minutes
- To 90%: 45 minutes
- To 100%: 60 minutes
monitor
Enables continuous monitoring with readings every 5 seconds. Type any command to stop.
Example Output:
[12:30:45] Battery: 82% (4.08V) | Status: Connected
[12:30:50] Battery: 82% (4.08V) | Status: Connected
[12:30:55] Battery: 83% (4.09V) | Status: Connected
...
| Voltage Range | Battery % | Status | Time to Full (USB) |
|---|---|---|---|
| 4.2V - 4.3V | 100% | Fully charged | 0 minutes |
| 4.0V - 4.2V | 80-100% | Good charge | 15-20 minutes |
| 3.8V - 4.0V | 20-80% | Moderate | 30-60 minutes |
| 3.7V - 3.8V | 0-20% | Low battery | 60-90 minutes |
| 3.5V - 3.7V | Critical | Very low | 90+ minutes |
| <3.5V | Critical | Unsafe | Check hardware |
Based on dual 250mAh batteries (500mAh total):
| Usage Pattern | Runtime | Description |
|---|---|---|
| 🔥 Heavy Use | 6-7 hours | Continuous photo capture, always active |
| ⚡ Normal Use | 8-10 hours | Mixed usage: 60% active, 30% standby, 10% sleep |
| 💤 Light Use | 12-15 hours | Mostly connected but idle, occasional photos |
Current Consumption:
- Active Mode: ~80mA (Camera + BLE + processing)
- Standby Mode: ~40mA (BLE connected, camera off)
- Sleep Mode: ~2mA (Deep sleep, button wake-up)
```bash platformio device monitor --baud 115200 ``` Type `status` in the serial monitor and verify: - Battery percentage is displayed - Device reports as ready - BLE status shows as active Type `charging` to verify battery readings are accurate and stable. Open the Omi app and verify: - Device appears in Bluetooth scan - Connection is successful - Battery level displays in app
- Batteries: Dual 250mAh Li-ion batteries (500mAh total, 3.7V-4.3V range)
- Charging Method: Connect USB-C cable to ESP32-S3 board
- Charging LED: On-board LED indicates status
**Problem:** Serial monitor connects but shows no output.
**Solutions:**
- Verify baud rate is 115200
- Press the reset button on the ESP32 to restart
- Try a different USB port or cable
- Check the firmware flashed successfully
**Solutions:**
- Check voltage divider connections (A0 pin)
- Verify battery is properly connected
- Use `status` command to check raw voltage reading
- Ensure resistor values are correct (169kΩ and 110kΩ)
**Solutions:**
- Verify USB cable supports data and charging
- Check charging LED on ESP32-S3 board
- Try different USB port or charger
- Verify battery connections are secure
- Use `charging` command to monitor voltage over time
**Solutions:**
- Check for loose connections in voltage divider circuit
- Verify A0 pin is properly connected
- Use `charging` command to take multiple readings
- Ensure battery is properly secured
- Charge when battery drops below 20% (3.8V)
- Don't let battery go below 3.5V (damages Li-ion cells)
- Charge in moderate temperatures (10°C-40°C)
- Use quality USB-C charger (5V, 1A minimum)
- Avoid complete discharge (stop using at 3.7V)
- Charge regularly (don't leave dead for days)
- Store at 50% charge if not using for weeks
- Optimize usage patterns:
- Use light sleep mode when possible
- Reduce photo frequency for all-day use
- Disconnect when not needed to save power
- Before use: Quick
statuscheck - During long sessions: Periodic
statuschecks - While charging: Use
chargingcommand to verify progress - For troubleshooting: Use
monitorfor continuous tracking
Update to the latest firmware version Complete hardware setup guide