eXperiBot Documentation
Language:

eXperiBot Blockly app

The eXperiBot Blockly app allows you to program your eXperiBot with blocks.

Screenshot of the eXperiBot Blockly App

Use on desktop computers

eXperiBot Blockly can be used on many desktop computers directly in the web browser. To do this, simply open blockly.app.experibot.com in a supported web browser and follow the setup wizard. During setup, you can also optionally install eXperiBot Blockly as a web app on your device.

Supported web browsers

Currently, eXperiBot Blockly supports the following web browsers on computers running Windows or macOS:

  • Google Chrome (version 105 or higher)
  • Microsoft Edge (version 105 or higher)

The web browser you selected must be configured to allow eXperiBot Blockly to use JavaScript, access Bluetooth, and store data on your system.

Professor Powerbrain says …

If you are not sure whether eXperiBot Blockly supports your web browser, simply open the app. If you do not receive an error message, your browser is compatible.

Offline use

After the initial download, eXperiBot Blockly can be used 100% offline, regardless of whether the app has been installed on the device or not. However, while you are working offline, you will not receive any updates with new features, improvements and troubleshooting for the app and your eXperiBot.

Installation via app stores

If you are unable or do not wish to use eXperiBot Blockly in your web browser, you can download the app on desktop computers from the following app stores:

System requirements

  • Windows: Windows 11 or Windows 10 (Version 1909 or higher)
  • macOS: macOS 12.3 (Monterey) or higher (use via App Store only for devices with Apple processors)
  • Linux: See Linux support

Bluetooth

The app requires Bluetooth to connect to your eXperiBot. Please make sure that Bluetooth is activated on your computer and can be used by eXperiBot Blockly. If your computer does not yet have a Bluetooth interface, please use the Bluetooth adapter included with your eXperiBot product.

Linux support

eXperiBot Blockly can be run in supported web browsers on computers running Linux. However, it is necessary to activate the experimental feature “Web Bluetooth” on the page chrome://flags/#web-bluetooth in the web browser.

Use on mobile devices

The use of eXperiBot Blockly in web browsers is not yet supported on mobile devices. However, the app can be downloaded from the following app stores:

System requirements

  • iOS: iPad or iPhone with iOS 15.4 or higher
  • Android: Tablet with Android 8.0 (Oreo) or higher (Google Chrome and/or Android System WebView version 105 or higher need to be installed)

In the app

Workspaces

In workspaces, you organize your projects. Before you can create a project, you must therefore create a workspace. You can export and import workspaces with all the projects they contain.

Screenshot of the workspace view
  1. Open workspace
    Click on a workspace to access the projects it contains.
  2. Create a new workspace
    You can create new workspaces here.
  3. More options
    Here you can rename, duplicate, export, share or delete your workspace.
  4. Import workspace
    Here you can import workspaces from outside the app.

Settings

You can find the settings in the workspace view or in the block editor at the top left next to the app icon. Here, you can do the following:

  • Change the language of the app and the block editor
  • Adjust the zoom level of the user interface
  • Make settings for barrier-free operation
  • Restore the eXperiBot and its modules
  • Change the working directory of the app
  • Reset warnings and notes
  • Restore the app
Button: Settings

Project list

The project list is used to manage your projects. Here you can create new projects, open existing projects and edit them.

Manage projects

Screenshot of the project view
  1. Open project
    Click on a project to open the block editor.
  2. Create new project
    Here you can create a new project in the current workspace.
  3. More options
    Here you can rename, duplicate, move to another workspace, export, share or delete your project.
  4. Import project
    Here, you can import projects from outside the app into the current workspace.
Professor Powerbrain says …

If you give your projects meaningful names, you will be able to find them more easily in the project list later on. You can also use the various sorting options.

Save projects

Projects are automatically saved in the eXperiBot Blockly app after each change.

If you want to leave a project unchanged but still want to continue working with the program it contains, simply create a copy of the project. To do this, go to the project list, click on the button with the three dots and select “Duplicate project”. Now you can continue working on the copy of your project.

Duplicate a project

Block editor

In the block editor, you can design block-based programs that the eXperiBot will run for you.

Editor Components
  1. Settings
    This button takes you to the app settings. Clicking on the app icon to the left will give you more information about the app.
  2. Back to project list
    Here you can leave the editor and return to the project list.
  3. Manage project
    Use this button to rename, export, share or delete your project. The project name and the workspace in which the project is located are displayed to the left of it.
  4. eXperiBot documentation
    This button takes you to the eXperiBot documentation that you are currently reading.
  5. Connect eXperiBot
    Use this button to connect to eXperiBot. For more information, see Connecting eXperiBot with the app.
  6. Program start block
    The “start program” block is part of every program and serves as the entry point for the program. All blocks that are connected to the start block are executed one after the other, always from top to bottom, after the program has started. The start block cannot be deleted or duplicated.
  7. Editor controls
    These controls allow you to undo or redo changes you have made to your program. You can also focus the editor on the start block of the open program and adjust the zoom level.
  8. Program control
    After you have connected your eXperiBot to the eXperiBot Blockly app, you can start your program by clicking on the green “Run program” button. While your program is running, you can stop it at any time by clicking on the red “Stop program” button. For more information, see Run programs.
  9. Display program as Python code
    Since eXperiBots are programmed in the Python programming language, you can view your program as Python code here. The Python code is automatically updated with every change you make to your program.
  10. Learning level
    Here you can see the learning level that is currently active and switch to a different learning level. You can find more information in the section Learning level.
  11. Toolbox
    The toolbox contains all the blocks that are available to you for programming your eXperiBot. The selection of blocks depends on the learning level you have chosen.
Professor Powerbrain says …

If you are using a keyboard, you can use common keyboard shortcuts in the block editor, e.g. to copy and paste blocks.

Connecting eXperiBot with the app

Connect the Powerbrain to the app
  1. First, turn on the eXperiBot by pressing and holding the Play button in the center of the Powerbrain.
  2. To connect your eXperiBot to the app, click on the Connect button in the top right corner of the app and follow the instructions in the app. Once the Bluetooth connection has been established, the Status LED on your eXperiBot will light up blue.

Distinguishing eXperiBots from one another

All eXperiBots can be distinguished from one another by a three-digit combination of letters and numbers. This combination is displayed in several places in the app (e.g. in the eXperiBot Manager) after you have connected your eXperiBot.

Professor Powerbrain says …

We recommend labeling the Powerbrain of your eXperiBot with this letter and number combination. This will make it easier for you to find your Powerbrain.

Labeled Powerbrain with the combination 483
Powerbrain with combination 483

eXperiBot Manager

Once the app is connected to your eXperiBot, you can access the eXperiBot Manager. Here you will find all the important information about your eXperiBot.

Screenshot of the eXperiBot Manager
  1. Click on the blue eXperiBot button to open the eXperiBot Manager.
  2. In the eXperiBot Manager, you will find all the important information about your eXperiBot: name, battery charge level, software version and an overview of all connected modules.
  3. Here you can see the LED colors of the individual modules. They correspond to the LED color of the physical module on your eXperiBot.
  4. This button takes you to the settings menu for the respective module. Here you can change the LED color. You can find out when this is helpful in the section Selecting the LED color.
  5. You can disconnect from your eXperiBot here. Alternatively, you can also turn off the eXperiBot or close the app to disconnect.
Professor Powerbrain says …

If a module is not in the list of connected modules, even though it is connected to the eXperiBot, try disconnecting the module from the eXperiBot and reconnecting it. You may have to wait a few seconds for the list to refresh.

Run programs

Screenshot of eXperiBot Blockly with program ready to run.
  1. Before you can start, make sure that your eXperiBot is connected to the app. If the button at the top right is colored blue and labeled “eXperiBot ***”, your eXperiBot is connected to the app. Clicking this button will take you to the eXperiBot Manager.
  2. Before you can run the program, you must have added at least one command to the “start program” block. Here, we are giving a motor module the command “drive forward”. Of course, this only works if a motor module is connected to the eXperiBot.
  3. Now you can run your program. It will be transmitted to the robot via Bluetooth and then started immediately. If you want to stop a program during execution, you can do so at any time by clicking on “Stop program”. As soon as the robot has completed the execution, the program will be stopped automatically.

Programming blocks

Professor Powerbrain says …

If you pause over a programming block within the block editor’s workspace with the mouse or, on touch devices, with your finger, a tooltip will appear with an explanation of how the respective block works.

Selecting the LED color

To ensure that the app can correctly control the modules of your eXperiBot, the LED color in the programming block drop-down menu must match the LED color of the eXperiBot module. The colors enable you and your program to distinguish between several modules of the same type.

In the example below, the LED color selected in the programming block (blue) does not match the LED color of the motor module connected to the eXperiBot (green).

Professor Powerbrain says …

The eXperiBot Blockly app automatically tries to correct common assignment errors of LED colors when a program is started. If this is not the case, please follow the instructions in the app.

Motor block and eXperiBot module color do not match
The LED color in the programming block and the LED color of the eXperiBot module do not match.

There are two ways to manually correct the assignment error in this example:

  1. Change the LED color in the programming block to “green” so that the eXperiBot module can be controlled correctly.
  2. Change the LED color of the eXperiBot module to “blue”. You can find out how to do this in the section eXperiBot Manager.

Which option is more useful depends on the situation.

If all the program blocks in your program have an incorrectly set LED color, then it is easier to change the LED color of the eXperiBot modules.

However, if only one programming block has an incorrect LED color, you should adjust the LED color directly in the programming block.

Deleting blocks

Screenshot of deleting a block

To delete one or more blocks, drag them to the left over the red area (“Delete”) and release.

Alternatively, you can also use the keyboard or the respective context menus (see next section).

Context menus

If you right-click a block or press and hold on touch devices, a context menu with further options will appear.

Screenshot of the context menu of a block
  • Copy
    The selected block or blocks (indicated by the red border) will be copied. To insert, please use the menu of the workspace (see next section).
  • Show help
    Help on this block and its function is displayed.
  • Add comment
    A comment is added to the block. You can use this to explain code that is not self-explanatory.
  • Delete selection
    The selected block or blocks (indicated by a red border) will be deleted.

If you right-click on the workspace or press and hold on touch devices, a context menu with further options will also appear.

Screenshot of the project’s context menu
  • Paste
    Inserts previously copied blocks.
  • Organize blocks
    Arranges all blocks on the work surface in a vertical column. This is helpful for keeping or restoring an overview in large programs.
  • Delete unused blocks
    Deletes all blocks that are not connected to the “start program” block. These blocks are displayed in a gray color. In our example, only the “Pivot turn to 0°” block would be deleted.

Learning level

Learning level 1

Learning level 1 is suitable for beginners. The number of blocks is reduced to enable a quick start.

Learning level 2

Learning level 2 is suitable for advanced users who are already familiar with the blocks from learning level 1. The new block categories of text, variables and functions are introduced. Additional programming blocks are also visible in the already familiar block categories, creating further possibilities.

Learning level 3

Learning level 3 is suitable for experts who have already dealt with levels 1 and 2. The use of the new blocks and categories in learning level 3 requires a good ability to think abstractly and complex thinking. In addition to additional programming blocks, the block category lists and the concept of concurrent programming are also introduced. More information can be found in the section Concurrent blocks.

Dialog for learning level selection

Concurrent blocks

Concurrent blocks differ from “normal” or sequential blocks in that their commands have no defined end. The concurrent command is executed until another command is issued. The program continues to run in the meantime.

Professor Powerbrain says …

You can identify concurrent blocks by the arrow symbol on the left side of the programming block.

Example: Sequential execution

Screenshot of a sequential motor programming block with another block.

The first program block causes the motor to move forward at medium speed for 2 seconds. During these 2 seconds, the program code executing is halted. This means that the command “Grabber close” is not executed until the motor has stopped again.

Example: Concurrent execution

Screenshot of a concurrent engine program block with another block.

The first program block sets the speeds of the red and blue axles of the motor module to 50%. Then the command “Grabber close” is executed – immediately and while both axes of the motor module continue to rotate. The two axes will continue to rotate until they receive another command or the program is terminated.

Professor Powerbrain says …

Concurrent blocks allow the eXperiBot to do several things at once. For example, it can drive ahead while simultaneously looking for obstacles with a sensor and reacting to them.

Dealing with multiple users on one device

There are several ways to organize the use of the app if multiple users work on one device:

  1. The user’s name is stored in the project
    All project authors enter their names when creating projects. The names are displayed in the project list. This allows projects from different authors to be distinguished from each other.
  2. All users have their own workspace
    Each workspace serves as an individual workspace for a specific user.
  3. All users have their own working directory (only on desktop computers)
    All users have their own working directory in the file system, which can be accessed by the computer on which the app is running. The working directory can be changed using the “Change working directory” function in the app settings. This is the safest option, as users cannot directly access other users’ projects.
Professor Powerbrain says …

Please note that app settings are stored independently of the working directory and are therefore linked to the user account of the device or web browser that was logged in during installation.