Blocks: all pages

Interface tour

This page shows every region and every button on the Blocks screen. The region names used in the task pages are defined here.

Blocks is a single page. The Probot Blocks and FTC Blocks tabs in the toolbar pick the mode. The toolbar buttons, the block list and the side panel change with the mode you pick.

Regions in both modes

These regions are the same in both modes.

Blocks screen; the Report a bug button in the site header is marked 1.

# Name What it does Shortcut Related task
Site header The Probot Studio logo, the "BLOCKS" badge, Report a bug and the site menu (Home, Shop, Tools, Learn, Docs, About us). The cart icon and Sign in belong to the whole site. Blocks works without signing in.
Toolbar The mode tabs, the project or OpMode name and the file buttons. The buttons change with the mode (see below).
1 Report a bug Opens a form where you can tell the team about a bug or send an idea. It always stays in the site header, next to the "BLOCKS" badge. On a screen narrower than 560 pixels the badge is hidden and the button shows only the ๐Ÿ› icon. Report a bug
Notification Shows the result of an action: orange on success, red on error. It disappears after 5 seconds.
Intro card The "Coding tool is in development" card that appears every time the page opens. Got it, continue closes the card. Report a bug opens the form. While the card is open, Report a bug in the site header is shown with a ring and an arrow that says "The Report a bug button is always here". Esc closes it First 10 minutes
Cookie banner Appears on your first visit. Accept allows detailed analytics. Only necessary limits it to counting visits without cookies.

Mode tabs

Name What it does Shortcut Related task
Probot Blocks Switches to the Probot kit mode. Start with a ready-made example
FTC Blocks Switches to FTC mode. The first time you select it, the FTC editor loads. After that, switching between modes does not lose the program. Start with an FTC example

The tabs sit at the left end of the toolbar. Next to them is the text probot-core 0.3 (Probot) or "Control Hub" (FTC).

If you have never picked a tab, the tool opens on the FTC Blocks tab. The browser remembers the last tab you selected.

Left end of the toolbar; the Probot Blocks tab is marked 1.

Probot Blocks screen

Probot Blocks screen; the block list is marked 1, the workspace 2 and the side panel 3.

Toolbar (Probot)

Probot toolbar; the Project box is marked 1, Pick an example 2 and Copy code 3.

Name What it does Shortcut Related task
probot-core 0.3 Shows which library version the code is made for. Press it to open the Probot Core documentation. That documentation covers a newer version, so Blocks does not generate functions it mentions, such as autonomousStop(). Upload the code to the Probot board
Project The project name, 60 characters at most. The downloaded files are named after it. When it is empty, it shows "Probot Project". Save the project, open it and start over
Pick an example Opens the "Probot examples" window. When an example is loaded, the button reads "Example: <name>". Start with a ready-made example
Copy code Copies the code in Code Preview to the clipboard. Copy or download the code
Download .ino Downloads the code as a <project-name>.ino file. Copy or download the code
Download blocks Downloads the project as a <project-name>.probot.json file: the blocks, the project name and the WiFi settings. Save the project, open it and start over
Load blocks Opens a .probot.json file. It replaces the project in the workspace without asking first. Save the project, open it and start over

Block list (Probot)

Press a category to open its block panel. Then drag a block from the panel into the workspace. What each block does is on the Probot block reference page.

Category What is inside
Gamepad Blocks for reading the gamepad, its sticks, its buttons and its D-Pad.
Motor & Drive Defining, driving and stopping motors. Tank drive and arcade drive.
Servo Defining a servo, setting its angle, turning its signal off.
Telemetry Writing text and values to the Driver Station screen.
Time Elapsed time and waiting.
Pins Reading and writing the board's pins. Serial output.
Robot Battery voltage, phase and robot status.
Control If, repeat and loop blocks.
Logic Comparisons, and/or, true/false.
Math Numbers and math operations.
Text Text and joining text.
Variables Create variable... and the blocks of the variables you create.

Workspace (Probot)

Name What it does Shortcut Related task
Lifecycle blocks Six fixed blocks: robotInit, robotEnd, autonomousInit, autonomousLoop, teleopInit, teleopLoop. They cannot be deleted. Only blocks connected inside them go into the code. Write a drive program
Grid The dotted background. Blocks snap to the dots.
Center button (target icon) Centers the view and resets the zoom. Add, connect and edit blocks
+ Zooms in (up to 2x). Ctrl+wheel Add, connect and edit blocks
โˆ’ Zooms out (down to 0.3x). Ctrl+wheel Add, connect and edit blocks
Trash can Deletes a block you drop on it. Press it to list the deleted blocks in a panel. You can drag them back from there. Add, connect and edit blocks

Menu that opens when you right-click an empty area:

Item What it does Shortcut
Undo Undoes the last action. Ctrl+Z
Redo Does the undone action again. Ctrl+Y
Clean up Blocks Lines the blocks up neatly, one under another. It does not delete anything.
Delete <n> Blocks Deletes every block except the lifecycle blocks. If there are two or more blocks to delete, it asks first.

Menu that opens when you right-click a block:

Item What it does Shortcut
Duplicate Makes a copy of the block and puts the copy next to it. Ctrl+C, Ctrl+V
Inline Inputs / External Inputs Shows the block's inputs side by side or stacked.
Disable Block / Enable Block Takes the block out of the code for now, or puts it back (not on lifecycle blocks). A disabled block looks faded.
Delete Block / Delete <n> Blocks Deletes the block and the blocks inside it. Delete
Help Opens the block's help page. Only Control, Logic, Math, Text and Variables blocks have it.
Create 'set <name>' / Create 'get <name>' Only on variable blocks: puts the set ... to ... block or the read block of the same variable next to it.

The menu of a lifecycle block has only Inline Inputs and Disable Block. Disabling a lifecycle block does not change the code: the blocks inside it look faded but still go into the code. To keep a lifecycle block's contents out of the code, disable the blocks inside it one by one.

Menu that opens when you press a variable's dropdown (for example solMotor โ–พ):

Item What it does
Variable names Picks the variable the block uses.
Rename variable... Changes the variable's name everywhere.
Delete the '<name>' variable Deletes the variable and the blocks that use it. If other blocks also use the variable, it first asks "Delete <n> uses of the '<name>' variable?" (<n> = the total number of blocks). If only this block uses the variable, it deletes it without asking.

Side panel (Probot)

Name What it does Shortcut Related task
Panel handle The thin strip between the workspace and the side panel. Drag it to widen or narrow the side panel. It works only with a mouse. Add, connect and edit blocks
Robot WiFi section The settings of the WiFi network the robot will broadcast. The values are written at the top of the code. Set up the robot WiFi
Network (empty = auto) The network name, 24 characters at most. When it is empty, the robot uses its own name in the Probot-XXXXXX format. Set up the robot WiFi
Password (min. 8) The network password, 8-24 characters. It accepts only capital letters, digits and -. Lowercase letters are turned into capitals. If it is empty, the code uses the password Probot1234. Set up the robot WiFi
โ†ป (Generate a new password) Makes a new password in the PB-XXX-XXX format. Set up the robot WiFi
Channel The WiFi channel, 1-13. The channels with a star (1, 5, 9, 13) are recommended. Set up the robot WiFi
Code Preview section The .ino code generated from the blocks. It updates right away after every change. You cannot type in it. Copy or download the code

Probot examples window

Name What it does Shortcut Related task
Search examples... Searches the example names and descriptions. When the window opens, the cursor is here. Start with a ready-made example
Example card Loads the example and closes the window. The card of the loaded example is highlighted. Start with a ready-made example
ร— Closes the window. Clicking outside the window closes it too. Esc

FTC Blocks screen

The FTC editor itself is always in English. Its categories, blocks and right-click menus come from FTC's own editor. The side panel and the toolbar belong to Blocks.

FTC Blocks screen; the block list is marked 1, Robot configuration 2 and OnBot Java 3.

Toolbar (FTC)

Name What it does Shortcut Related task
"Control Hub" text Shows that this mode is for the REV Control Hub. Pressing it does nothing.
OpMode The OpMode name, 60 characters at most. The Java class name and the file names come from it. Write a new FTC program
Pick an example Opens the "FTC examples" window. Start with an FTC example
New program Asks first, then puts the program back to how it started. The Robot configuration and the OpMode name do not change. Write a new FTC program
Copy Java Copies the code in the OnBot Java section to the clipboard. Save the program, open it and get the Java code
Download .blk Downloads the program as a <ClassName>.blk file. Save the program, open it and get the Java code
Load .blk Opens a .blk file. It replaces the program without asking first. Save the program, open it and get the Java code
Download .java Downloads the Java code as a <ClassName>.java file. Save the program, open it and get the Java code

Block list (FTC)

The categories are in English. Categories marked with an arrow have subcategories. The list of blocks is on the FTC block reference page.

Category What is inside
LinearOpMode OpMode commands such as waitForStart, opModeIsActive and sleep.
Gamepad Gamepad sticks and buttons. Subcategories: Pressed, Rumble.
Actuators Motors and servos. Subcategories: DcMotor, Servo, CRServo, with your device names under them.
Sensors Sensors. Subcategory: IMU.
Utilities ElapsedTime, Range, Telemetry, Time.
Logic, Loops, Math, Text, Lists General programming blocks.
Variables Create variable... and the variable blocks.
Functions Blocks that define and call functions.

The device categories are built from the Robot configuration. If the configuration has no device of a type, its category does not appear.

Workspace (FTC)

Name What it does Shortcut Related task
to runOpMode block The main block of the program. It cannot be deleted. Blocks go inside it. Write a new FTC program
Center button Centers the view.
+ / โˆ’ Zooms in (up to 3x) / zooms out (down to 0.3x). Wheel
Trash can Deletes a block you drop on it. Press it to list the deleted blocks in a panel. You can drag them back from there.

Menu that opens when you right-click an empty area: Undo, Redo, Clean up Blocks (lines the blocks up), Collapse Blocks (folds all blocks), Expand Blocks (unfolds all blocks), Delete <n> Blocks (deletes every block that can be deleted).

Menu that opens when you right-click a block:

Item What it does
Duplicate Makes a copy of the block.
Add Comment / Remove Comment Adds a note to the block or removes the note.
Inline Inputs / External Inputs Shows the inputs side by side or stacked.
Collapse Block / Expand Block Folds the block into one line or unfolds it.
Disable Block / Enable Block Takes the block out of the program for now, or puts it back.
Delete Block Deletes the block. The to runOpMode block does not have it.
Help Opens the block's help page. It is faded on some blocks.
Create "<name>" On a function block: makes the block that calls that function.

Menu that opens when you press a variable's dropdown:

Item What it does
Variable names Picks the variable the block uses.
Rename variable... Changes the variable's name everywhere.
Delete the "<name>" variable Deletes the variable and the blocks that use it. If other blocks also use the variable, it first asks "Delete <n> uses of the "<name>" variable?".

Side panel (FTC)

Name What it does Shortcut Related task
Panel handle Widens or narrows the side panel. It works with a mouse and by touch.
OpMode section The OpMode settings that are saved in the .blk file. Write a new FTC program
Type TeleOp or Autonomous. Write a new FTC program
Group The group name on the Driver Station, 40 characters at most. You can leave it empty. Write a new FTC program
Robot configuration section The device names on the Control Hub. Each row: device type, name, ร—. Set up the robot configuration
Device type Motor (DcMotor), Servo, Continuous rotation servo (CRServo), IMU. Set up the robot configuration
Device name Starts with a letter and uses letters, digits and _. When the name changes, the blocks that use that device take the new name too. Set up the robot configuration
ร— Removes the device from the list. Set up the robot configuration
+ Add device Adds a new motor to the list (motor1, motor2...). Set up the robot configuration
OnBot Java section The Java code generated from the blocks. Its heading shows the file name (for example ProbotOpMode.java). You cannot type in it. Save the program, open it and get the Java code

FTC examples window

It works the same as the "Probot examples" window: Search examples..., example cards and ร—.

On a narrow screen

If the window is 860 pixels wide or narrower, the regions stack one under another. The side panel moves below the workspace, and the panel handle is hidden.

On a phone, the intro card reads "Coding tool is made for a computer". Continue anyway becomes active after 3 seconds.

On this page
Regions in both modesMode tabsProbot Blocks screenToolbar (Probot)Block list (Probot)Workspace (Probot)Side panel (Probot)Probot examples windowFTC Blocks screenToolbar (FTC)Block list (FTC)Workspace (FTC)Side panel (FTC)FTC examples windowOn a narrow screen