Elastic Documentation
DownloadGitHub Repository
  • Home
  • Getting Started
    • Installation
    • App Navigation
    • Connecting To Your Robot
  • Customizing your Dashboard
    • Adding and Customizing Widgets
    • Adding and Customizing Layouts
  • Additional Features and References
    • Widgets List & Properties Reference
    • ElasticLib
    • Remote Layout Downloading
    • Custom Widget Examples
    • Shuffleboard API
  • Legal
    • Open Source License
    • Privacy Policy
Powered by GitBook
On this page
  • Adding Widgets
  • Customizing Widgets
  • Adding a Voltage Widget (Example)
  • Copying and Pasting Widgets
  • Camera Streams
Edit on GitHub
  1. Customizing your Dashboard

Adding and Customizing Widgets

PreviousConnecting To Your RobotNextAdding and Customizing Layouts

Last updated 7 months ago

Widgets are the cards on the grid that display information about the robot.

Adding Widgets

On the menu bar at the top of the screen, there is a button that says "Add Widget" with a +. Clicking it will open the widget dialog, which will look like this. You must be connected to your robot in order for tiles to appear.

By clicking on each table name, you will reveal any sub-tables that Network Tables has.

To make finding the data you want to display easier, you can type a search query into the search box at the bottom of the dialog. This will only display values that match the search query.

When you find the data for the widget you would like to add, simply click on it, and drag it to the location you want to place the widget. A red or green outline will appear indicating weather or not the location you are hovering on is a valid location.

A widget will be dragged only if there is a valid type for that widget. For example, if you try to drag a boolean value from the dialog, a boolean box will be dragged by your mouse cursor. If you drag a table such as /Shuffleboard, which does not have a data type property to it, nothing will appear under your mouse cursor.

When you let go of your mouse, the widget will be added to the grid.

After you place a widget on the grid, you can resize it by dragging the edges of the widget's box.

Customizing Widgets

When you right click on a widget container (the card that holds the widget), a context menu will appear with several options: Edit Properties, or Remove.

Clicking Remove will remove the widget from the grid, and clicking Edit Properties will open a menu with several customization options.

Every widget will have Container Settings and Network Tables Settings. The container settings allow you to change the title and widget type. Depending on what type of data you are displaying, you are able to change the widget type. You must be connected to your robot for any additional options to appear.

Under Container Settings, there will be settings unique for the widget type, titled <Widget Type> Settings. Not every widget will have unique properties to it, if your widget does not have any unique edit properties, there will not be anything listed.

Adding a Voltage Widget (Example)

This gif is an example of how to add a widget. This adds a widget that displays the voltage, and changes a few of its settings.

Copying and Pasting Widgets

Elastic supports copying and pasting widgets and layouts between different tabs. When right clicking on a widget, there is an option to copy it to the clipboard.

Note: This is separate from the system clipboard

Right clicking in an empty spot will show a button to paste the widget. This will attempt to insert the widget into the grid with the top left corner of the widget in the grid space that the cursor is hovering in. If the widget does not fit on the grid, then it will not paste.

Camera Streams

Elastic only supports adding camera streams that are published to the RoboRIO's Camera Server. If you have a USB camera plugged into your RoboRIO, adding this line of code in your robotInit() method will allow you to add a camera stream to your dashboard.

CameraServer.startAutomaticCapture();

To add a camera stream, navigate to the CameraPublisher table, and there will be different tables for different camera streams that can be viewed. Dragging one of these tables will create a Camera Stream widget that displays live video from the camera.

Under Network Tables Settings, there will be several advanced settings allowing you to change the topic that the widget will be receiving data from, along with its update period. It is recommended to not change any of these unless you are familiar with the basics of Network Tables. For more info on Network Tables, see .

What is NetworkTables - FIRST Robotics Competition Documentation
Widget Dialog
Sub-Tables
Search Query
Dragging a Widget to the Grid
Resizing a Widget
Right Click Menu
Edit Properties Menu
Adding Voltage Example
Copying Widget
Pasting Widget
Widget After Pasting
Adding Camera Stream