Skip to content

Web Dashboard & Calibration

The Web Dashboard delivers a responsive, cyber-dark control interface styled with glassmorphic cards, glowing accents, and live metric updates. It requires zero mobile applications or browser extensions and works across smartphones, tablets, and desktop browsers.


1. Main Dashboard (/main)

The home screen provides a focused, zero-distraction view for actuating the switch or jumping directly to device tools.

http://192.168.1.50/main — SwitchBot Dashboard

TIP

If the device is on its first boot and uncalibrated, the primary action button automatically becomes: 🎯 Calibrate Servo (/calibrate).


2. Device Info (/info)

The info screen displays live hardware metrics, dynamic board detection (ESP32-S3-N16R8), memory utilization, and connectivity details.

http://192.168.1.50/info — Device Info

💻 Device Info

Live

Uptime21m 2s
CPU Clock80 MHz
CPU Temp.40 °C
Est. Power~0.14 W

Hardware & Storage

ModelESP32-S3-N16R8
RAM137/363 KB
Flash1410/4096 KB
PSRAM24/8192 KB

Network & Connectivity

Wi-Fi SSIDHome_Network_2.4G
IP Address192.168.1.50
Hostnameesp32.local

Tailscale

StatusStandby
Hostnameesp32
ConnectionSubnet Router Active
← Back to Dashboard

3. Interactive SVG Calibration (/calibrate)

Fine-tuning servo positions is performed through dual rotary dials with real-time feedback, direct numeric touch typing, and safety timeout guards.

http://192.168.1.50/calibrate — Servo Calibration

🎯 Servo Calibration

Calibrated

Configuration Metrics

Rest Angle
Hovering Just Above Button
°
180°
Press Angle
Pushing Button Fully
°
180°
Press Duration
Hold Duration During Tap
ms

Live Manual Control

Hold to press servo live to Press Angle
Release to return to Rest Angle

Calibration Actions

← Back to Dashboard

Key Safety Protections:

  • Live Rest Preview: Dragging the Rest dial debounces live POST /api/calibrate/move?angle=... updates so you can visually confirm clearance before saving.
  • Bottom-Gap Barrier: The rotary gesture engine enforces a 40° bottom deadzone, preventing accidental 0° ↔ 180° flip wraps.
  • 20-Second Auto-Release Guard: Pressing the Hold button commands the servo to the press depth. If held longer than 20,000ms (or if the browser tab disconnects), the firmware safety watchdog automatically springs the servo back to rest to protect the motor from burnout.

4. Logs & Debug (/debug)

The debug screen gives real-time visibility into past reboots, servo actuation history, and Wi-Fi failover metrics.

http://192.168.1.50/debug — Logs & Debug

🔧 Logs & Debug

General

Uptime Since Boot21m 2s
Uptime Since Flash17h 3m 41s
Last Approx. Downtime8s

Boot Stats

Boot Time01:33:04 PM 14-Sep-2026
Wi-Fi Connect1.82s
Tailscale Connect2.14s
Total Boots34
Last Reset CauseSoftware Reset
Last Reset Time01:32:56 PM 14-Sep-2026
Connected Wi-FiHome_Network_2.4G

Servo

Last Trigger2m 14s ago
Trigger SourceWeb
Total Triggers42

Servo Trigger History

Servo Actuation01:52:10 PM 14-Sep-2026
CURL
Servo Actuation11:18:42 AM 14-Sep-2026
WEB
Servo Actuation08:04:19 AM 14-Sep-2026
WEB

Tailscale Connection History

Active SessionStarted: 01:33:06 PM 14-Sep-2026Duration: 21m 2s • Downtime: 8s
ACTIVE
Tailscale SessionStarted: 08:00:15 AM 14-Sep-2026Ended: 01:32:56 PM 14-Sep-2026Duration: 5h 32m 41s
ENDED

Previous Boot History

Software Reset08:00:12 AM 14-Sep-2026 • Approx. Downtime: 12s • Wi-Fi: Home_Network_2.4G
Power-on Reset08:29:43 PM 13-Sep-2026 • Approx. Downtime: 1m 4s • Wi-Fi: Home_Network_2.4G

OTA Updates

StatusDisabled

← Back to Dashboard
v1.2

5. Background Visibility Optimization

To preserve battery life on both client devices and the ESP32:

  • Live polling against /api/live listens to the HTML5 Page Visibility API (document.hidden).
  • When the user locks their smartphone or switches browser tabs, polling instantly halts.
  • Polling resumes automatically the millisecond the tab returns to the foreground.

6. Progressive Web App (PWA) & Add to Home Screen

The dashboard is a fully optimized Progressive Web App:

  • iOS Safari: Tap the Share button $\rightarrow$ select "Add to Home Screen". The app opens in an edge-to-edge standalone window with full support for safe-area notch and home indicator cutouts.
  • Android Chrome: Tap the three dots menu $\rightarrow$ tap "Install App" (or click the automatic install prompt).
  • Desktop (Chrome / Edge): Click the install icon in the URL bar to run SwitchBot in its own native app window.
  • Live Network Actuation: Enforces live network requests with Cache-Control: no-cache, no-store, must-revalidate across all endpoints so actuations and live telemetry always reflect real-time physical device state.

Released under Apache 2.0 License • 24/7 Operational Reliability