The Pond is a web-based management dashboard built into FrogPilot that runs directly on your comma device. Open any browser on your phone, tablet, or laptop, navigate to your device's IP address on port 8082, and you can browse dashcam footage, set navigation destinations, create custom themes, view error logs, manage Tailscale VPN, and more, all without touching the device screen. If you've ever wished your comma device had a full-sized admin panel, The Pond is exactly that.
What It Is
The Pond turns your comma device into its own web server, giving you a full management dashboard from any browser on your network.
Think of it like a Wi-Fi router's admin page, but for your comma device. Instead of craning your neck to tap the small touchscreen mounted behind your windshield, you can pull up The Pond on your laptop at the kitchen table, your phone on the couch, or even a tablet in your passenger seat. Every management task you'd normally do on the device screen (and many you can't) is available in a comfortable, full-sized browser interface.
The Pond isn't a cloud service. It runs entirely on the comma device itself as a lightweight Python web server. Your data never leaves your local network unless you explicitly set up Tailscale for remote access, which The Pond can also help you do. There are no accounts, no passwords, and no installation steps. If your browser can reach the device's IP, The Pond is ready.
The dashboard is organized into a sidebar with sections for Home (stats), Navigation (destinations and API keys), Recordings (dashcam routes and screen recordings), Tailscale (remote access), and Tools (error logs, theme creation, toggle management, door locks, and more).
Before You Start
No special setup needed. The Pond runs automatically as a background process every time your comma device powers on.
The only requirement is that your browser device (phone, tablet, or computer) and your comma device are connected to the same Wi-Fi network. To access The Pond:
- Find your device's IP address. Check the Wi-Fi settings on your comma device, or look at your router's connected devices list. The IP will look something like
192.168.1.xxx. FrogPilot also displays the address in FrogPilot โ Navigation โ NAVIGATION at the top of the panel, formatted as<ip>:8082. - Open any web browser on your phone, tablet, or computer.
- Navigate to
http://<device-ip>:8082(for example,http://192.168.1.42:8082).
That's it. The Pond loads instantly with no login required.
โ ๏ธ Warning: The Pond has no built-in authentication. Anyone on the same Wi-Fi network can access it. Don't use it on untrusted public networks. For remote access from outside your home, use Tailscale (which The Pond can set up for you) rather than exposing port 8082 to the internet.
๐ก Tip: The Pond works both when your car is parked (offroad) and while driving (onroad). You can check stats or browse recordings from your phone while a passenger, though most management tasks are best done while parked.
Settings
The Pond doesn't have FrogPilot toggle settings. Instead, it provides a browser-based interface with multiple sections, each covering a different management task.
| Section | What It Does | Key Actions |
|---|---|---|
| Dashcam Routes | Browse, watch, and manage recorded drives | Play video, rename, preserve, delete routes |
| Door Lock/Unlock | Remotely lock or unlock Toyota doors | Lock/unlock via button (Toyota vehicles only) |
| Error Logs | View crash and error logs | Read log contents, delete individual or all logs |
| Home (Stats) | Shows device stats, disk usage, and software info | View drive statistics, check storage, see update status |
| Navigation | Manage destinations and map API keys | Set/clear destinations, manage favorites, enter Mapbox/AMap keys |
| Screen Recordings | Browse screen recordings from the Screen Recorder feature | Play, download, rename, delete recordings |
| Tailscale | Set up remote access via Tailscale VPN | Install, authenticate, uninstall Tailscale |
| Theme Maker | Create or edit custom visual themes | Design colors, icons, sounds, signals, steering wheel |
| Toggles | Back up and restore your FrogPilot settings | Export/import JSON backup, reset to defaults |
| Tmux Log | View the live system console output | Read real-time device log, capture snapshots |
| Toyota Security Keys | Manage TSK keys for supported Toyotas | Add, remove, activate keys |
Home (Stats Dashboard)
The home page is your device's at-a-glance health check. It displays four information panels:
Disk Usage shows free space, used space, total capacity, and used percentage. This helps you know when it's time to delete old routes or recordings.
Drive Statistics includes three categories:
- All-time: total distance, number of drives, and hours driven (pulled from comma's API cache)
- FrogPilot: distance, drives, and hours tracked specifically by FrogPilot (from the
FrogPilotStatsparameter) - Weekly: same metrics for the past seven days
Distance is shown in miles or kilometers depending on your metric/imperial setting.
Software Info shows your current branch name, build environment (Development, Release, Testing, Staging, or the raw branch name), commit hash, fork maintainer, whether an update is available, and the version date formatted as a readable date (for example, "July 15th, 2025").
Firehose Stats shows how many driving segments your device has contributed to comma.ai's training dataset. This requires internet connectivity to query the comma API.
Navigation
The navigation section lets you manage destinations and API keys from a full-sized interface, much easier than typing on the small device screen.
Clear Destination: Removes the current navigation target.
Favorites Management: You can add destinations to your favorites list, rename them, mark one as Home and one as Work (only one of each is allowed at a time; setting a new Home clears the previous Home designation), and remove favorites. Each favorite is identified by a unique ID generated from its coordinates, route ID, and name.
Map API Keys: This is where you enter the keys needed for map tiles and navigation. Four key types are supported:
| Key Type | Prefix | Minimum Length | What It Enables |
|---|---|---|---|
| AMap Key #1 | โ | 39 characters | China-region map and search (alternative to Mapbox) |
| AMap Key #2 | โ | 39 characters | Secondary AMap API key |
| Mapbox Public Key | pk. | 80 characters | Map tiles, geocoding, and destination search |
| Mapbox Secret Key | sk. | 80 characters | Turn-by-turn directions and speed limit lookups |
Keys are validated for minimum length before saving. If you enter a key without the required prefix (like pk. for Mapbox public), The Pond adds it automatically.
Map Position: The navigation page shows your last known GPS position. If no GPS data is available, a default fallback location is used.
Set a Destination: Enter a destination and The Pond writes it to the device so that Navigate on openpilot picks it up. When setting a new destination, The Pond first clears any existing destination, waits one second, then writes the new one, ensuring a clean handoff.
Dashcam Routes
You've just had an incredible mountain drive and want to relive it from three camera angles. The Dashcam Routes page lets you browse every recorded drive on your device.
Routes are collected from all footage storage locations on the device, including standard, HD, and Konik recording paths. Each route displays a preview thumbnail (extracted from the middle of the first segment), an animated GIF preview, the recording date or a custom name, and whether the route is preserved from automatic deletion.
Clearing Names: If you've renamed a route and want to go back to the original timestamp, you can clear the custom name.
Deleting Routes: Delete individual routes or all routes at once. Deletion removes all segments across all footage storage paths.
Preserving Routes: Important drives can be "preserved," which protects them from the device's automatic storage cleanup. When storage runs low, the device deletes the oldest routes first, but preserved routes are skipped. You can preserve up to 5 routes at a time. Preservation works by marking the first segment of the route with a special file attribute.
Renaming Routes: You can give routes a descriptive custom name (like "Mountain Drive July 2025") instead of the default timestamp. The name is stored as a file in each segment directory.
Streaming Progress: When you open the routes page, The Pond uses Server-Sent Events (a streaming data technique) to progressively load routes as they're processed, showing a progress indicator rather than making you wait for all routes to load at once.
Video Playback: You can watch any route from three camera angles when available:
- Driver camera (
dcamera.hevc): the cabin-facing view - Forward camera (
fcamera.hevc): the main road-facing view - Wide camera (
ecamera.hevc): the wider-angle road view
The Pond uses ffmpeg to stitch individual one-minute segments into a single seekable MP4 video. These combined videos are cached in /data/video_cache so subsequent views load instantly. If the source recordings are newer than the cached file, the cache is regenerated.
Error Logs
Your device rebooted unexpectedly and you want to know why. The Error Logs section shows exactly what went wrong.
Error logs are stored in /data/error_logs and listed in reverse chronological order (newest first). Files whose names start with "error" are filtered out of the display.
Actions available:
- Delete: Remove an individual log file
- Delete All: Clear all error logs at once
- View: Open any log file as plain text directly in your browser
This is especially useful when a developer or community member asks you to share your error log, since you can view it on a full-sized screen and copy the text easily.
Tailscale VPN (Remote Access)
You're at work and want to check if your dashcam caught that close call this morning. Tailscale lets you access The Pond from anywhere, not just your home Wi-Fi.
Tailscale is a free VPN service that creates a secure, private network between your devices. Once installed on your comma device, you can access The Pond from anywhere in the world using your device's Tailscale IP address.
After Setup: Access The Pond using the Tailscale IP shown in your Tailscale dashboard, followed by port 8082 (for example, http://100.x.x.x:8082).
Install Flow:
- Tap Install in The Pond's Tailscale section
- The Pond downloads the latest stable ARM64 Tailscale binary from
pkgs.tailscale.com - It creates a system service that starts automatically on boot, using userspace networking with a SOCKS5 proxy on
localhost:1055 - Your device's Tailscale hostname is set to
<device-type>-the-pond(for example,tici-the-pond) - The Pond generates an authentication URL and displays it to you
- Open that URL in any browser and log into your Tailscale account to authorize the device
- Once authenticated, your comma device appears in your Tailscale network
Uninstall Flow: The Pond cleanly removes Tailscale by stopping the service, removing the system service file, deleting all binaries, and clearing the state directory.
๐ก Tip: Tailscale requires a free Tailscale account and internet access during installation. The ongoing connection works even through firewalls and NAT without any port forwarding.
Theme Maker
You want a purple driving path with custom sounds and a steering wheel that matches your car's logo. The Theme Maker lets you build it all from your browser.
The Theme Maker is a visual editor for creating custom FrogPilot themes. You can customize six component types:
| Component | What You Customize | File Details |
|---|---|---|
| Colors | Lane lines, path, path edges, sidebar, lead marker | Saved as colors.json in the theme's colors/ folder |
| Distance Icons | Traffic, Aggressive, Standard, Relaxed personality icons | Resized to 250ร250px each |
| Icons | Home button, settings button | Home: resized to 250ร250px. Settings: resized to 169ร104px |
| Sounds | Disengage, engage, prompt, startup | Converted to 48kHz mono 16-bit PCM WAV |
| Steering Wheel | Custom steering wheel overlay | Resized to 250ร250px |
| Turn Signals | Single image or sequential animation frames, with optional blindspot variant | Length configurable. Style (Traditional/other) |
Apply vs Save: You can apply a theme immediately to preview it (this creates temporary symlinks to the active theme path) or save it permanently to the theme packs directory. You can also download a theme as a ZIP file to share with others.
File Handling Details:
- Audio processing: Any audio format is accepted. The Pond uses pydub to convert it to 48kHz mono PCM 16-bit WAV format, then deletes the original file
- Image processing: Non-PNG static images are converted to PNG after resizing. GIF animations are processed through ffmpeg's palette generation for high-quality scaling at 20 FPS
- Maximum file size: 5 MB per uploaded file
Save Locations: Theme packs are saved to /data/themes/theme_packs/<name>-user_created/. Steering wheels are saved separately to /data/themes/steering_wheels/<name>-user_created.<ext>.
Submit to Community: The Theme Maker includes a submission feature that uploads your theme to the FrogPilot resources repository for potential inclusion in The Pond (the community theme repository). Submissions are automatically sent as GitLab commits with a Discord notification to the FrogPilot team.
Toggle Management
The Toggles tool lets you manage all your FrogPilot settings in bulk:
- Backup: Downloads all your current toggle values as a JSON file (XOR-obfuscated and base64-encoded for portability)
- Reset to FrogPilot Defaults: Resets every toggle to FrogPilot's default values (triggers a device reboot)
- Reset to Stock openpilot: Resets every toggle to stock openpilot's default values (triggers a device reboot)
- Restore: Uploads a previously saved backup and applies all the toggle values
โ ๏ธ Warning: Both reset options trigger an immediate device reboot. Make sure you're parked before using them.
Door Lock/Unlock (Toyota Only)
You just parked your Toyota and walked inside, but can't remember if you locked it. The Pond lets you lock or unlock your doors from your phone.
This feature is only available for Toyota vehicles on comma 3X or comma four devices (not the original comma three). The Pond sends lock/unlock commands directly through the car's communication network via the panda.
How it works:
- Tap Lock or Unlock in The Pond
- The device sends the appropriate command on the car's network
- It waits one second, then checks the door lock status
- If the status hasn't changed, it retries automatically until confirmed
- When not actively driving, the device temporarily configures the panda for Toyota communication before sending the command
โ ๏ธ Warning: Door lock/unlock communicates directly with your car's network. It only works when the device is powered on and connected to the car. The car must not be actively driving for the safety mode to be set correctly.
Tmux Log (Live Console)
The Tmux Log tool shows the raw system console output from your comma device in real time. This is primarily useful for developers and advanced troubleshooting. You can:
- Capture snapshots of the current console state as JSON files
- Stream live output from the device's console
- Browse, download, rename, and delete previously captured log files
How It Works
The Pond is a web server that runs as a permanent background process on your comma device, serving a modern single-page application to any browser that connects.
When your device powers on, The Pond starts automatically alongside all the other FrogPilot processes. It listens for browser connections on port 8082. When you open the address in your browser, the server sends a small HTML page that loads a reactive JavaScript framework called Arrow.js. From that point, your browser handles all the page transitions and UI rendering locally, while making data requests back to the device as needed.
For route and recording listings, The Pond uses a streaming technique called Server-Sent Events. Instead of making you wait for every route to be fully processed before showing the page, it streams results one at a time with progress updates. This means you see the first few routes appear within seconds even if you have hundreds stored.
Video playback works by using ffmpeg (a video processing tool) running on the device to stitch together one-minute recording segments into a single continuous video. The stitched videos are cached so they don't need to be rebuilt every time you watch them. If free disk space drops below 500 MB, the video cache is automatically cleared to prevent storage issues.
The navigation and settings management features work by reading from and writing to the same parameter storage that FrogPilot's on-device settings screen uses. When you set a destination through The Pond, it writes to the exact same NavDestination parameter that the device screen would, so Navigate on openpilot picks it up seamlessly.
How It Works: Comparison
| Scenario | With The Pond | Without The Pond |
|---|---|---|
| Accessing your device remotely | Set up Tailscale once, then access from anywhere | Configure port forwarding on your router (risky) or use comma prime SSH |
| Backing up your settings | Download a JSON file with one click | Manually export parameters via SSH |
| Checking error logs | View full log text on a large screen, easy to copy and share | SSH into the device or navigate the filesystem manually |
| Creating a custom theme | Visual editor with color pickers, file uploads, and instant preview | Manually create files and directories via SSH |
| Locking your Toyota's doors | Tap a button on your phone | Walk back to the car |
| Managing Tailscale VPN | One-tap install and setup wizard | SSH in, download binaries, create service files manually |
| Setting a navigation destination | Type comfortably on your phone keyboard in the browser | Use the device's small on-screen keyboard |
| Watching dashcam footage | Browse and play on your laptop or phone from any room in your house | Reach up to the device mounted behind your mirror, tap through menus on the small screen |
Limitations & Known Issues
The Pond is a powerful tool, but it has boundaries dictated by hardware, network access, and car compatibility.
- AMap keys are China-specific: The AMap key fields are for Amap, a Chinese mapping provider. Drivers outside China should use Mapbox keys instead.
- Door lock/unlock is Toyota-only: The door control feature only works with Toyota vehicles on comma 3X or comma four hardware. It's unavailable on all other car makes and on the original comma three.
- Firehose stats require internet: The segment count from comma's training pipeline requires an active internet connection and a valid dongle ID. Without connectivity, this shows zero.
- Large route libraries load slowly: If you have hundreds of recorded routes, the initial loading of the routes page may take some time as each route's preview is generated. Subsequent visits are faster since previews are cached.
- No authentication: The Pond doesn't require a login. Anyone on your Wi-Fi network can access it. Secure your network or use Tailscale instead of exposing port 8082 publicly.
- Route preserve limit: You can preserve a maximum of 5 routes. Attempting to preserve more returns an error. Un-preserve an existing route to make room.
- Tailscale needs internet: The initial Tailscale installation downloads binaries from the internet. After setup, Tailscale requires network connectivity to maintain the VPN tunnel.
- Theme audio format conversion: While the Theme Maker accepts most audio formats, the conversion to 48kHz WAV may slightly alter the sound quality. For best results, upload files already in WAV format at 48kHz.
- Video cache storage: Stitched route videos are cached in
/data/video_cache. On devices with limited storage, this can consume significant space. The cache auto-clears when free space drops below 500 MB, but you may notice temporarily missing stitched videos after a cleanup.
Setup Recommendations
The Pond works out of the box, but a few setup choices can improve your experience.
| Scenario | Recommendation |
|---|---|
| First-time user | Open The Pond on a laptop first for the most comfortable experience. Navigate to http://<device-ip>:8082 |
| Limited device storage | Periodically check the Home page's disk usage and delete old routes/recordings through The Pond |
| Planning to use navigation | Enter your Mapbox keys through The Pond's Navigation section (typing on a full keyboard is much easier than the device screen) |
| Theme enthusiast | Use the Theme Maker to build and preview themes before applying them. Download as ZIP to back up your creations |
| Toyota owner | Check if the door lock/unlock feature is available for your vehicle by visiting the Tools section |
| Want remote access | Set up Tailscale through The Pond's Tailscale section before you need it. Takes about 2 minutes |
Q: I can't connect to The Pond at the IP address shown on my device.
A: Check these common issues in order:
- Confirm you're using
http://(nothttps://). The Pond doesn't use SSL. - Make sure your phone/computer and the comma device are on the same Wi-Fi network. Guest networks or 5 GHz vs 2.4 GHz splits can put devices on different subnets.
- Some corporate, hotel, or coffee shop Wi-Fi networks block device-to-device communication. Try on a home network.
- Verify the IP address hasn't changed. Routers can reassign IPs when devices reconnect. Check the current address in FrogPilot โ Navigation โ NAVIGATION at the top of the panel.
Q: My routes aren't appearing on the dashcam routes page.
A: Routes only appear if the footage directories contain properly formatted segment folders. If you recently reset or reinstalled FrogPilot, the footage paths may be empty. Also, very new routes that are still being recorded won't appear until recording completes. Give the page a moment to load, since route processing happens progressively (you'll see a progress indicator).
Q: Video playback fails or shows an error.
A: Video stitching requires the ffmpeg tool to be present on the device (it's included by default). Common causes of playback issues:
- A corrupted HEVC segment that ffmpeg can't read. Try deleting that specific route
- A segment is still being recorded (indicated by an
rlog.lockfile), preventing processing - Extremely low free storage preventing the video cache from being written
Q: I set a navigation destination through The Pond but it's not appearing on my driving screen.
A: There's a brief one-second delay between clearing the old destination and writing the new one. If the destination still doesn't appear after a few seconds, verify that you have Mapbox keys entered (without them, the navigation system can't geocode addresses). Also ensure Navigate on openpilot is configured and your device has an internet connection.
Q: The Tailscale authentication URL isn't appearing after I tap Install.
A: The Pond captures the authentication URL from the Tailscale startup process. If no URL appears:
- Check that your device has internet access
- Some network firewalls may block access to
pkgs.tailscale.com. Try on a different network - The download may have failed if the connection is slow. Try again
Q: The door lock/unlock button doesn't appear in Tools.
A: Door control is only available when two conditions are met: your car must be a Toyota, and your device must be a comma 3X or comma four (not the original comma three). If you have a Toyota but still don't see the option, your device's car parameters may not have been read yet. Try again after completing at least one drive with the device connected to your car.
Q: The stats page shows 0 for firehose segments.
A: Firehose stats are fetched from comma.ai's API, which requires internet connectivity and a valid dongle ID. If your device is offline, or if the API request times out, the count defaults to zero. This is informational only and doesn't affect any features.
