Skip to main content
The donkey ui command launches a graphical user interface for managing your Donkeycar. The UI provides a visual way to interact with your car’s data, train models, and manage configurations.

Usage

Overview

The Donkeycar UI provides a graphical alternative to command-line tools, offering:
  • Visual tub management and data review
  • Model training with progress visualization
  • Configuration editing
  • Data visualization and analysis
  • Model comparison and evaluation
The UI is a relatively new addition to Donkeycar and may not have all features available in the CLI tools. For advanced workflows, the command-line tools often provide more flexibility.

Features

The graphical interface typically includes:

Tub Management

  • Browse and view recorded tubs
  • Preview images from tub data
  • Review driving sessions
  • Delete or archive old tubs
  • View tub metadata (record count, date, etc.)

Model Training

  • Select training data (tubs)
  • Configure training parameters
  • Start training with progress bar
  • View training metrics in real-time
  • Save trained models

Data Visualization

  • Plot steering and throttle distributions
  • View histograms of recorded data
  • Compare model predictions to user inputs
  • Visualize training/validation loss curves

Configuration

  • Edit config parameters
  • Adjust model settings
  • Configure hardware options
  • Save configuration changes

Launching the UI

From your car directory:
The UI will start and typically open in your default web browser or display a GUI window.

Example Session

The exact UI implementation may vary depending on your Donkeycar version. Refer to the UI’s built-in help or tooltips for specific features.

Use Cases

Quick Data Review

Visually review recorded data without command-line tools:

Interactive Training

Train models with visual feedback:

Configuration Editing

Modify settings through forms instead of editing files:

Model Comparison

Compare multiple models visually:

Benefits Over CLI

Visual Feedback

  • See images directly instead of file paths
  • Interactive plots and charts
  • Real-time training progress
  • Visual model comparison

Easier for Beginners

  • No need to remember command syntax
  • Guided workflows
  • Form-based configuration
  • Built-in help and tooltips

Batch Operations

  • Select multiple tubs with checkboxes
  • Bulk delete old data
  • Compare multiple models at once

When to Use CLI Instead

The command-line tools are often better for:
  • Automation: Scripting and batch processing
  • Remote access: SSH sessions without display
  • Advanced options: Full access to all parameters
  • Performance: Lower overhead for large operations
  • Documentation: Easier to document exact commands
  • Reproducibility: Exact command history

Requirements

The UI may require additional dependencies:
Or specifically:

Troubleshooting

UI won’t start

  • Check that required dependencies are installed
  • Verify no other service is using the port
  • Look for error messages in terminal output
  • Try running from car directory (where config.py exists)

Browser doesn’t open automatically

  • Manually navigate to the URL shown in terminal (typically http://localhost:8887)
  • Check if your firewall is blocking the port
  • Try a different browser

Can’t see tubs or models

  • Ensure you’re running from the correct directory
  • Verify data/ and models/ directories exist
  • Check file permissions
  • Refresh the browser page

UI is slow or unresponsive

  • Close other applications to free resources
  • Try with smaller tubs first
  • Check if training is running in background
  • Restart the UI

Port already in use

  • Stop other instances of the UI
  • Kill the process using that port: lsof -ti:8887 | xargs kill
  • Change the port in configuration

Remote access issues

  • For remote access, you may need to bind to 0.0.0.0 instead of localhost
  • Use SSH port forwarding: ssh -L 8887:localhost:8887 user@car-ip
  • Configure firewall to allow the port

Comparison with Other Tools

Advanced Usage

Custom UI Port

If you need to run on a different port, check the UI documentation for configuration options or environment variables:

Multiple Cars

Run UI for different car configurations:

Remote Development

Access UI running on a remote car:

Best Practices

Security

  • Don’t expose the UI to public internet without authentication
  • Use SSH tunneling for remote access
  • Keep Donkeycar updated for security patches

Performance

  • Close UI when not in use to free resources
  • Work with smaller datasets for faster response
  • Train models via CLI for better performance

Workflow

  • Use UI for exploration and quick tasks
  • Use CLI for production workflows and automation
  • Document important operations with CLI commands

Alternative Interfaces

Besides the donkey ui command, you can also:

Web Interface During Driving

Provides driving controls and live camera feed.

Jupyter Notebooks

For data analysis:

Next Steps

After exploring the UI:
  1. Learn CLI equivalents: Understand command-line versions for automation
  2. Combine approaches: Use UI for exploration, CLI for production
  3. Create workflows: Document your process using both tools
  4. Contribute: Report UI bugs or suggest features to Donkeycar project
For more control and advanced features, explore the CLI commands: