eXperiBot Blockly app
With the eXperiBot Blockly app, you can program your eXperiBot using blocks and discover various lessons tailored to your needs.

Use on PCs
eXperiBot Blockly can be used on most PCs without installation directly on the following website:
To use the app, simply open the link above in a supported web browser and follow the setup assistant.
Supported web browsers
eXperiBot Blockly currently supports the following web browsers on PCs:
Google Chrome (version 105 or higher)
Microsoft Edge (version 105 or higher)
All other Chromium-based browsers (Chromium version 105 or higher)
Your web browser must be configured to allow eXperiBot Blockly to use JavaScript, store data on your system, and access Bluetooth devices. Usually, it is not required to change any settings, as it is the default configuration for most web browsers. However, when using Linux, a special configuration is required.
If you are unsure whether eXperiBot Blockly supports your web browser, simply open the app via the link above. If you receive an error message, your browser is not yet compatible. Please contact experibot@cornelsen.de if you have any further questions. We are happy to help!
Installation via app stores
If you cannot or do not want to use one of the supported web browsers, you can also install the app via the respective app store for your platform:
Windows: Microsoft Store
macOS: App Store
When using Linux, installing the app via app stores is currently not possible.
When installing the app via app stores, the following system requirements apply:
Windows
Windows 11 or Windows 10 (version 1909 or higher)
Microsoft Edge (version 105 or higher) must be installed
macOS
Mac with Apple processor and macOS 13.3 (Ventura) or higher
Safari (version 16.4 or higher) must be installed
Use on tablets and smartphones
Using eXperiBot Blockly in a web browser is not currently supported on tablets or smartphones. Instead, install the app from your platform’s app store:
iOS: App Store
Android: Play Store
You may also simply search for “eXperiBot” or “Cornelsen” in the respective store to find all eXperiBot apps.
The following system requirements apply when installing the app on tablets or smartphones:
iOS
iPad or iPhone with iOS 16.4 or later
Internet connection is required when launching the app for the first time
Android
Tablet or smartphone with Android 9.0 (Pie) or higher
Internet connection is required when launching the app for the first time1
Device must have Android System WebView version 136 or higher installed1
If the device uses Android 9.0 (Pie), it must have Chrome version 136 or higher installed instead1
Huawei devices must have Huawei WebView version 15 or higher installed instead1
1) If this is not the case, the app cannot be started and a corresponding error message will appear.
On some smartphones, the smaller form factor may limit usability. We therefore recommend using eXperiBot Blockly on a tablet or PC.
As a general rule: If you cannot find the app in the respective app store on your device, it is probably not compatible with your device. If you have any further questions, please contact experibot@cornelsen.de. We will be happy to assist you!
Android devices without a Google account
The eXperiBot Blockly app can also be installed on Android devices without a Google account—and thus without access to the Google Play Store. To achieve this, download the following APK file and open it on your device.
If you install the app via an APK file, you will not receive automatic app updates with features, improvements, and bug fixes. You will need to download new versions of the app manually from this page.
Use on Linux computers
eXperiBot Blockly can also be used on Linux PCs in any supported web browser. However, the following configuration steps are required first:
Open the page
chrome://flags/#web-bluetoothin your web browser.Enable the “Web Bluetooth” option.
Restart your web browser.
Offline use
eXperiBot Blockly can be used offline on all platforms. Before the app can be used completely offline, you must start it once with an existing internet connection. Until then, not all features may be available.
Once the start page has been opened, the app will prepare itself for offline use. This involves downloading all necessary content through the Internet. Once the process is complete, the message “eXperiBot Blockly can now be used without an Internet connection” will appear.
You can use the app as normal while it downloads all data for offline use. If you close the app during this process, the download progress will be saved.
If you change the app’s language later, the app may need to download additional content to be usable offline again. You will also need an Internet connection for this.
While you are working offline, you will not receive updates with new content, features, improvements, and bug fixes for the app and your eXperiBot. Continuous offline use is therefore not recommended.
Setup
If you are using eXperiBot Blockly in a web browser or on Windows, you will need to set up the app when you start it for the first time. A setup assistant will open automatically to guide you through this process.

During setup, you will be prompted to select a working directory.
You also have the option to install eXperiBot Blockly as a web app on your device to make it easier to find and launch. eXperiBot Blockly will then appear just like any other application installed on your computer. You can do this at any time via the app settings or your web browser settings.
Once setup is complete, you will be taken to the app’s start page.
Working directory
The working directory is where the eXperiBot Blockly app stores all its data. This includes your workspaces and projects, as well as your progress in working through lessons.
Files in the working directory are not suitable for direct sharing between multiple devices. Please use the export and share functions within the app for this purpose.
We recommend creating the working directory in a secure folder that cannot be accidentally overwritten or deleted. eXperiBot Blockly must be able to read and write files from the working directory when in use.
You can change the working directory at any time in the app settings. This is useful if you have moved the associated folder outside the app or want to continue working with other data.
Please note that app settings are saved independently of the working directory and are therefore linked to the respective web browser. If the app is installed via an app store, the app settings are saved to the respective user account of the device.
The working directory can play a special role when multiple people use the app on one device. For more information, see the section Handling multiple users on one device.
On tablets and smartphones and when using the app on macOS via the App Store, the working directory cannot be selected or changed for technical reasons.
Handle multiple users on one device
There are several ways to organize the use of the eXperiBot Blockly app by multiple people on one device.
In situations that allow the creation of separate user environments (e.g., via user accounts on Windows, macOS, or Linux), working with multiple people on one device is straightforward. In this case, we recommend that each user environment use its own instance of the app with its own working directory.
In situations that do not allow separate user environments, you can change the working directory when switching users. We recommend creating a separate working directory for each person and using the “Change working directory” option in the app settings. This ensures that a user cannot directly access another user’s projects and change or delete them, either intentionally or accidentally.
In situations that do not support the creation of separate user environments and, for technical reasons, do not allow the working directory to be changed, there is currently no easy way to work with multiple people on one device. In this case, we recommend exporting the progress in the form of files and backing it up externally before each user change. These files can then be imported into the app when work is resumed.
Are you unsure how the eXperiBot Blockly app can be used in the technical environment of your educational institution? Don’t worry, we’re happy to help! Just contact experibot@cornelsen.de, and we’ll work with you to find a solution to use eXperiBot Blockly in your institution.
Start page
The start page offers you two basic ways to get started with the app: Learn with the eXperiBot and Work creatively, as well as access to the app settings.

First steps
The “First steps” lesson teaches you the basics of eXperiBot, regardless of which eXperiBot product you are using. Perfect if you have no previous experience with eXperiBot!
Product selection
The product selection takes you to lessons that are specifically tailored to your eXperiBot product. For more information, see the section Learn with the eXperiBot.
Settings
This takes you to the app settings.
Work creatively
Here you can create or import a workspace and work freely in it. For more information, see the section Work creatively.
Learn with the eXperiBot
The product selection will take you to lessons that are specifically tailored to your eXperiBot product.

Since eXperiBot is a modular system, eXperiBot Smart Team can also process all eXperiBot Explorer lessons. The app accounts for this when it lists the lessons, and users can adjust it through the available filter settings.
You can find more information about lessons in the Lessons section.
Work creatively
When working creatively, you work without any guidelines and can experiment freely without any specific tasks. You organize your programs in the form of workspaces and projects.

The home page always displays the three workspaces you last edited so that you can pick up right where you left off. Alternatively, you can create a new workspace, import files, or view all workspaces.
Settings
In the app settings, you will find various troubleshooting functions as well as a range of options that allow you to customize eXperiBot Blockly to your liking.

Under “About eXperiBot Blockly” you will find the current version of the app and can view an overview of the latest changes. If you are using the app in a web browser, you can install the app on your device here if you have not already done so during setup.
Lessons
The eXperiBot Blockly app contains numerous lessons that introduce users to working with the eXperiBot and teach a wide range of skills.

In addition to the “First Steps” lesson, which teaches you the basics of working with eXperiBot regardless of your product, there are various dedicated lessons for each product. You can access these directly from the app’s start page.
Each lesson and its tasks come with detailed information, such as difficulty level, recommended grade level, and average processing time, to enable better overview and planning.
The lesson planner for teachers provides detailed information on each lesson.
Learners can also engage in creative work outside of lessons. They can either experiment freely or work on assignments that teachers have developed.
Ways of working
All lessons are divided into two ways of working, “Step-by-step guide” and “Independent working.” You can adjust the way of working in the eXperiBot Blockly app when you choose lessons using the filter settings.
We offer many lessons for both ways of working. Although their content differs, they always lead to the same learning objective. This approach ensures that learners achieve a similar result, regardless of the working method they choose.
Below you will find an explanation of these two working methods:
Step-by-step guide
The lessons provide clearly structured steps and guidance that lead learners to the learning objective.
Working through the lessons creates confidence and understanding of the process of working with eXperiBot.
Teachers rarely need to provide assistance when working through the lessons, as the lesson itself already supports learners in overcoming potential challenges.
Independent working
The lessons enable learners to work independently and autonomously and to achieve the learning objectives on their own.
Working through the lessons promotes learners’ problem-solving skills and initiative, as the lessons encourage them to think critically and develop individual solutions.
Teachers should be on hand to advise learners as they work through the lessons, providing feedback and helping them to overcome any potential challenges.
Difficulty
A lesson’s difficulty level indicates the average complexity of all units to be completed, excluding bonus units.
You should always consider the difficulty level within the context of the lesson’s recommended grade levels, and it remains independent of the chosen way of working.
Lessons and tasks fall into four difficulty levels:
Very easy
Easy
Medium
Hard
Units
Each lesson consists of units and bonus units that build on the previous unit and their progress.

Working on units
Units have to be completed in sequence. This means that you cannot unlock unit 2 until you finish unit 1, and so on. You unlock any bonus units simultaneously as soon as you complete the last unit.
Once you start a unit by clicking the green play button, the block editor opens with the unit view visible on the right.

The unit view allows learners to complete the current lesson step by step. Learners can expand or collapse the unit overview, switch to full-screen mode, and view the current learning goal.
After completing the unit, learners review their results and write down what they have learned while working on that unit. In addition to the programming code, this step checks whether they have achieved the learning objective.
Learners can then mark the unit as complete. The app then reopens the overview page of the current lesson.
Learners can pause their work and close the app at any time without losing their current progress. For more information, see the section Save and share work progress.
When working on units, please note that any changes will not affect the status of the following units. Therefore, you should take care to ensure that you do not make fundamental changes to the program too late. You can copy program code in the block editor and paste it into another task at any time.
States
Tasks can have the following states, which the app distinguishes visually and textually from each other:
Unit not yet started
This is the starting point when you first open the lesson. You can work on the unit, but you have not yet started it. Click the blue button to start it.

Unit in progress
Work on this unit has started but was not yet finished. You can resume it by clicking the blue button.

Unit done
The unit was completed. You can edit the solution by using the corresponding button.

Unit locked
The unit is not yet unlocked. You must complete all previous units to unlock it.

Bonus units are unlocked simultaneously once you complete the last main unit.
Export and share progress
To export progress made on a lesson and its units, for example to share with the teacher, use the “Export progress” (or “Share progress” on mobile devices) button on the lesson overview page.
To export a single task, use the corresponding button in the block editor.
For more information on exporting and sharing, see the section Save and share work progress.
Reset progress
To reset your progress on a lesson and its units, use the “Reset lesson” button (trash bin icon) on the lesson overview page.
For more information, see the section Save and share work progress.
Workspaces and projects
The eXperiBot Blockly app organizes creative work within workspaces and projects.
Workspaces

Workspaces are “folders” that contain projects. Therefore, they are used for grouping projects into different subject areas or assigning them to individual lessons.
You can export workspaces as eXperiBot Blockly Workspace (.ebw) files and exchange them between devices. For more information, see the section Save and share work progress.
Projects

Projects are programs and associated data developed with the eXperiBot Blockly app.
A project contains the following information:
Name of the project
Description of the project (optional)
Name of the author of the project (optional)
Program developed in the block editor
If you give your projects meaningful names, you will be able to find and organize them more easily later on.
You can export projects as eXperiBot Blockly Project (.ebp) files and exchange them between devices. For more information, see the section Save and share work progress.
You can also use the “More” button (three dots) to edit, duplicate, move to another workspace, or delete projects.
Block editor
The block editor is the heart of the eXperiBot Blockly app. Here you can use drag-and-drop to graphically design block-based programs that you want the eXperiBot to run for you. You open projects and units in the block editor.

Back
Use this button to exit the block editor and return to the previous page.
Start block of the program
The “start program” block is part of every program and is the entry point of the program sequence. There is always exactly one start block. You cannot delete it.
Manage project
You can manage the current project using this button.
Open knowledge base
This button takes you to this knowledge base.
Connect eXperiBot
You can use this button to connect to an eXperiBot that is switched on and located near you. For more information, see the section Connect your eXperiBot to the app.
eXperiBot live data
In the eXperiBot live data view, you can view data from your eXperiBot in real time within the app, without having to run a program. For more information, see the section experibot live data.
Message log
In the message log, you can see all the messages that your eXperiBot outputs or has outputted while running a program. For more information, see the section Message log.
Show unit
When working on a unit, you can use this button to display the unit view. When viewing a program from an imported lesson, you will see the information from the results review here. For more information, see the section on Units.
Show Python code
This button allows you to display your program as Python code and export it as a file if necessary. The Python code updates automatically with every change you make to your program.
Undo and redo changes
You can use these buttons to undo or redo changes you have made to your program.
Program control
Use this button to control the current program. Once you have connected your eXperiBot to the app, you can run or stop your program with it. For more information, see the section on develop and run programs.
View control
Use these buttons to zoom in and out of the visible area of the block editor or to focus on the “start program” block.
Learning level
Here you change your current learning level while working creatively.
Toolbox
The toolbox contains all the blocks available for programming your eXperiBot. For more information, see the Toolbox section.
You can find detailed information about using the work area in the Programming blocks and Work area of the block editor.
Connect your eXperiBot to the app
Follow these steps to connect your eXperiBot to the app:

Turn on your eXperiBot by pressing and holding the play button on the Powerbrain control panel.
Click on the “Connect” button and follow the instructions in the app. You can find the “Connect” button in several places in the app, e.g., in the block editor or in the app settings.
Once the app establishes a connection with your eXperiBot, the status LED on the Powerbrain lights up blue.
For technical reasons, the way you select an eXperiBot to connect to may differ between platforms. Please also refer to the section Distinguishing between eXperiBots.
When you connect your eXperiBot to the app for the first time, a system dialog may appear in which you must allow the app to use Bluetooth.
Manage your eXperiBot in the app
Once your eXperiBot is connected, you can manage it in the app. You will find all the important information about your eXperiBot in the corresponding display.

Manage eXperiBot
This button opens the display that allows you to manage your eXperiBot. The designation “A42” displayed on the button varies from eXperiBot to eXperiBot.
Dialog for managing your eXperiBot
In this dialog you will find important information about your eXperiBot: name, battery charge level, version, and an overview of all connected modules.
LED colors of the connected modules
Here you can see the LED colors of the modules connected to your eXperiBot. They correspond to the color of the status LED of the respective physical module. You can change them at any time here. You can find out when this is helpful in the section Selecting an LED color.
Disconnect
Here you can disconnect from your eXperiBot. Alternatively, you can also turn off the eXperiBot or close the app.
Help
If a module is not displayed despite an existing connection to the eXperiBot, you can get help by clicking this button.
If a module is not listed in connected modules even though it is connected to the eXperiBot, try disconnecting the module from the eXperiBot and reconnecting it. If the module still does not appear, you can find more information in the Help and Troubleshooting section.
Develop and run programs
Follow these steps to develop and run a program:

Connect your eXperiBot to the app.
Connect at least one programming block to the start block. Make sure that the required modules—in this case, a motor with a blue LED—are connected to the eXperiBot.
Run the program by clicking on the green play button.
The program is transferred to your eXperiBot and executed. Depending on the program size and the Bluetooth signal strength, this process may take a few seconds.
The eXperiBot executes all blocks connected to the start block sequentially, always from top to bottom. The app grays out and skips blocks that are not connected to the start block or nested inside a function.
The program runs until it ends on its own, until you or a command terminates it programmatically, or until you stop it by using the control button in the app or on the Powerbrain.
By default, eXperiBot does not run programs in a continuous loop. To run a program continuously, use the “repeat forever” block from the “Loops” category.
Possible programming errors
Block-based programming prevents many errors from occurring during program development thanks to the predefined code blocks. These include syntax errors (SyntaxError), naming or scoping errors (NameError), and most type errors (TypeError).
However, programming errors can still occur that prevent the program from running. Here are some of the most common errors that can occur when programming with the eXperiBot Blockly app:
Division by zero (
ZeroDivisionError)Division by zero can occur unnoticed if a program sets a variable’s value to zero during execution—for example, when it processes an unprocessed sensor value.
Type errors when working with variables (
TypeError)Type errors can occur when the program uses variables whose type changes during execution.
Recursion errors (
RecursionError)Recursion errors can occur when a function within the program recursively calls itself to prevent the eXperiBot from getting stuck and becoming unresponsive.
Memory errors (
MemoryError)Memory errors can occur if a program requires too much RAM. For instance, this can happen when a program adds a large number of elements to lists. Since technical limitations mean that the RAM available to a program is not always the same, memory errors may occur slightly earlier or later in different cases.
If an error prevents the program from continuing to run, the eXperiBot briefly beeps three times, and the Powerbrain’s status LED flashes red for a short time. In the app, the message log opens, where you can view information about the error that occurred.
Work area of the block editor
In the work area of the block editor, you can combine programming blocks using drag-and-drop to develop the program for your eXperiBot.

The block editor consists of:
The toolbox is on the left, and the
work area on the right.
Add and combine programming blocks
To add a new programming block, open a category in the toolbox, drag the block onto the work area with the left mouse button (or with your finger on touchscreens), and release it where you want to place it.
You can connect programming blocks to each other at their connection points. When you drag a block, a shadow indicates a possible connection when you move it over a connection point.
There are two different connection points:
Connectors on the outside of blocks
You can attach a previous and subsequent block here. You can also nest blocks inside some blocks, such as loops, if-then conditions, or functions.
Connectors inside blocks
Here, you can insert blocks that return a value, such as math blocks, blocks that return a Boolean value, or variables.
Many connection points within a programming block already contain number blocks. You can overwrite these numbers by dragging a block into the field.
The block editor always automatically checks whether two blocks are compatible. If not, it denies the connection. For example, you cannot insert a block that returns a number into a field that expects a Boolean value. However, programming errors can still occur. For more information, see the section on possible programming errors.
Delete programming blocks
To delete one or more programming blocks, drag them to the left over the red area labeled “Delete” and release them. This action deletes all the blocks you drag.

Alternatively, you can also use your keyboard or the respective context menu to delete a block.
Context menus
Context menus allow you to perform various functions. You can open these context menus by right-clicking the corresponding element or, on touchscreens, by pressing and holding your finger on the element.
You can perform the following actions using the context menu of the work area:
Paste
Pastes a previously copied programming block.
Organize blocks
Organize all programming blocks on the work area in a row. This feature helps you keep track of or restore an overview in large programs.
Delete unused blocks and variables
Deletes all unused programming blocks and variables. For more information on unused blocks, see the section Develop and run programs. The toolbox marks a variable as unused if the program does not use it, but the user still created it.
You can perform the following actions using the context menu of a programming block:
Copy
Copies the respective programming block so that you can paste it again later.
Show help
Displays the help text for the respective programming block.
Add comment
Adds a comment to the respective programming block. Comments are saved with your program and also appear in the Python code. They are particularly useful for documenting specific segments of the program.
Delete
Deletes the respective programming block.
When you copy or delete programming blocks, the system also copies or deletes all blocks connected within the block.
Keyboard shortcuts
The block editor can also be controlled using the keyboard. The following keyboard shortcuts are available:
Generic
Confirm:
EnterBack or abort action:
Esc(Escape)Open context menu:
Ctrl+Enteror⌘(Command) +Enter, as well as the context key
Work area
Undo:
Ctrl+Yor⌘(Command) +YRedo:
Ctrl+Shift+Yor⌘(Command) +Shift+YScroll:
Shift+←,↑,↓,→Zoom in:
+Zoom out:
-Reset zoom:
0Focus on program entry point:
F
Blocks
Delete block:
BackspaceorDel(Delete)Copy block:
Ctrl+Cor⌘(Command) +CCut block:
Ctrl+Xor⌘(Command) +XPaste block:
Ctrl+Vor⌘(Command) +VDisconnect block:
XDisconnect block stack:
Shift+XDuplicate block:
DShow help:
H
Advanced
The advanced keyboard shortcuts are only available if keyboard navigation for the block editor is enabled in the app settings.
Change focus:
←,↑,↓,→Focus toolbox:
TFocus work area:
WFocus next block stack:
NFocus previous block stack:
Shift+NMove block:
MMove block stack:
Shift+MMove block:
←,↑,↓,→Position block:
Ctrl+←,↑,↓,→or⌘(Command) +←,↑,↓,→
Programming blocks
The block editor offers a wide range of programming blocks that you can use to program your eXperiBot according to your ideas.
Toolbox
The toolbox contains all the blocks currently available for developing your program. They are organized in categories. Click the corresponding button to open or close each category.

The toolbox is divided into four sections:
Powerbrain programming blocks
This section contains blocks that control the Powerbrain or your program generally. You can use blocks in this category on any eXperiBot, regardless of the modules connected.
Module programming blocks
Here you will find blocks that control a module of a specific type. You can use blocks in this category only when you connect the corresponding module to your eXperiBot.
Generic programming blocks
This section contains generic blocks that you can use in any program to control the eXperiBot’s control and data processing.
Variables and function blocks
The last section contains variable and function blocks that you can use in any program to temporarily store data and organize your code.
To improve clarity, the toolbox shows a selection of blocks that depends on the selected learning level when you work creatively and on the task at hand when you work with lessons.
The variables and function block section differ from the other categories in that they dynamically fill with blocks. When you create new variables or functions, the system makes corresponding blocks appear in the respective category.
Help texts
The block editor stores help texts for each programming block.
You can display it by moving the mouse over the respective block and hovering over it. The system will now display a tooltip containing all relevant information. On touchscreen devices, you can call up the tooltip by briefly pressing the block with your finger but without moving it.
You can also access the help text through the context menu of the respective block.
We are constantly working to expand and improve the help texts for our programming blocks. If you have any questions or feedback about a specific block, please contact experibot@cornelsen.de. We look forward to hearing your opinion and will be happy to help!
Learning levels
Learning levels are used in the eXperiBot Blockly app to group programming blocks based on their complexity and to show or hide them in the toolbox accordingly. This ensures that only programming blocks corresponding to the currently selected learning level are displayed in the Toolbox. The learning levels build on one another. All blocks are always available at the highest learning level.
When working with lessons, the learning level is preconfigured based on the complexity of the respective task.
Currently, the following learning levels are available:
Learning level 1
We designed learning level 1 for learners who have no previous experience programming the eXperiBot. We keep the number of programming blocks to a minimum to enable a quick start.
Learning level 2
Learning level 2 targets learners already familiar with the programming blocks in learning level 1. It offers more complex blocks that unlock further programming possibilities. It newly introduces the block categories Text, Variables, and Functions.
Learning level 3
Learning level 3 is designed for learners who have already worked with the programming blocks from learning levels 1 and 2. The blocks newly introduced in learning level 3 require a good capacity for abstraction and complex thinking, as concurrent programming blocks, among other features, are available here. In addition, the block category Lists is introduced.
Selecting an LED color
Please read the section Distinguishing between identical modules first so that you understand how and why modules of the same type are distinguished from each other.
You have probably noticed that all module programming blocks always include a drop-down menu for selecting an LED color. Your program needs this color so it can correctly control the modules of your eXperiBot.
The LED color you select in the programming block must always match the LED color of the module on your eXperiBot that you want to control. Otherwise, the program may fail to run, or your eXperiBot may not behave as expected.

In this example, the LED color in the programming block and the LED color of the eXperiBot module do not match. You have two options for fixing the problem:
Change the LED color in the programming block from “Blue” to “Green.”
Change the eXperiBot module’s LED color from “Green” to “Blue” in the module settings. You can find out how to do this in the section Managing eXperiBot in the app.
The better option depends on the situation. If all programming blocks in your program have an incorrectly set LED color, it is easier to change the LED color of the eXperiBot module. However, if only one programming block has an incorrect LED color, it is easier to adjust it directly in the block.
When you start a program, the eXperiBot Blockly app attempts to automatically correct LED color assignment errors and notifies you accordingly. If automatic correction is not possible, the app will prompt you to fix the problem yourself.
The block editor marks programming blocks affected by an assignment error with a warning symbol. You can click on the symbol to get more detailed information.
Once you have solved an assignment problem, simply restart the program. eXperiBot Blockly will check again to see if everything is set up correctly and start your program if there are no more problems.
Sequential and concurrent execution
By default, your eXperiBot executes program blocks sequentially.
In the following example, the first program block makes the motor run forward at medium speed for 2 seconds. During these 2 seconds, the system pauses further program execution. This means that only after the motor has completed its task does the system execute the second program block, which closes the Grabber. The system executes the block sequentially.
However, some blocks do not cause program execution to pause and continue executing until the system receives a different command. The system executes the block concurrently.
In the following example, the first programming block runs concurrently. It sets the speed of both axles of the motor module to 50%. The program then immediately executes the second block, which closes the Grabber. The two axes of the motor module keep rotating until they receive another command or the program ends.
A program can be terminated in different ways. For more information, see the section Develop and run programs.
In summary, concurrent programming blocks allow your eXperiBot to do several things at once. For example, it can drive straight ahead while simultaneously using a sensor to look for obstacles and react to them.
You can identify concurrent programming blocks by the special arrow symbol on the left side of the block. Where applicable, the help text also refers to concurrent execution.
eXperiBot live data
In the eXperiBot live data view, you can view data from your eXperiBot in real time within the app, without having to run a program.

Once you’ve connected your eXperiBot to the app, you can access various data sources, depending on the modules connected to your eXperiBot. This allows you to check measurement values without running a program. Click the information button to view helpful details about the selected data source.
There is a corresponding block in the block editor for each data source. Alternatively, you can use the “print” block to display data via the message log while a program is running.
By default, the data is updated every 100 milliseconds. The eXperiBot can transmit data from up to six data sources simultaneously. While the eXperiBot is running a program, live data is not available. If you close the live data view, data transmission stops automatically.
On older devices or in environments with poor Bluetooth signal, you may need to increase the refresh interval to ensure that data is updated regularly. You can adjust the refresh interval in the settings menu of the live data view.
Message log
In the message log, you can see all the messages that your eXperiBot outputs or has outputted while running a program.

When you use the “Text—print” block in a program, the value you pass to the block is added to the message log when the block is executed. You can pass a wide variety of data types to the block.
You can use the “Text—print” block and the message log to display status messages about the program’s execution or to check the values of variables or the return values of blocks.
If multiple “Text—print” blocks are executed consecutively in a program without any wait time, minor delays of around 30 milliseconds per execution may occur for technical reasons.
By default, the message log opens automatically when the first message is displayed. If you restart the program, a separator line is added to the message log so you can always tell which messages come from the most recent run. The timestamps displayed next to each message are, by default, relative to the time the program was started.
In the message log settings (gear icon), you can disable automatic opening if needed and also customize the timestamp format.
Messages in the message log remain there until you manually clear them or close the app. After a certain point, the oldest message is automatically deleted when a new message arrives. You can export the contents of the message log as a text file at any time.
Displaying error messages
If an error occurs while a program is running, an error message is added to the log, which helps you better understand and resolve the error.

Error messages always reference the Python code of the program being executed and include not only a Python error type (such as ZeroDivisionError) but also a description and the line number where the error occurred.
To fix an error, you must first view the Python code for the current program in the block editor and check the code on the relevant line. For this you must close the message log first.
Save and share work progress
The eXperiBot Blockly app always saves your work progress automatically, so you don’t have to do anything. This means that the app will retain any changes you make to lessons, workspaces, and projects even if you suddenly restart the app.
You can also back up your progress and share it across different devices in several ways:
Export files
When you export (or share on mobile devices), the app creates a copy of the respective workspace or project that you can share with others.
When you export a lesson, the system also saves its progress as a workspace.
Import files
When you import files, the app loads a copy of each file. This means that the app does not overwrite existing files and leaves workspaces or projects untouched on your device’s file system.
You can find imported workspaces and projects in the “Work creatively” area.
You cannot currently import lesson and task progress directly. If you re-import workspace and files from your work with lessons, you will find them as “imported lessons” in the “Work creatively” area. There, you can convert them into regular workspaces if necessary.
Duplicate projects
When you duplicate a project by using the corresponding “More” button (three dots) in a workspace, the app creates an exact copy that you can continue working with. This feature lets you save your current work status on the project, for example, and return to it at any time.
Ways to assess performance
Educators can asses learners’ performance in the eXperiBot Blockly app in several ways:
Assess results when working with lessons
Learners can export completed lessons as workspace files and then forward them to the teacher for monitoring. Each file stores the current progress and the results review for every unit as a project.
When exporting results, the system labels the files with the learners’ names to avoid confusion.
When an educator imports a workspace file into their own eXperiBot Blockly app, the app displays the file in the Work creatively section under “Imported Lessons”. From there, the teacher can open each task’s progress in the block editor and evaluate the results.
Once learners complete a unit, teachers can view the results review that learners complete at the end of each unit in the block editor through the unit view.
Assess the results of creative work
When working creatively, learners can export their progress as workspace or project files. They then forward these files to the teacher for assessment.
The teacher can import the workspace or project files into their own eXperiBot Blockly app. In the block editor, the teacher can view the work status and evaluate the results.
Assess results based on Python code
Since the eXperiBot Blockly app allows Python code to be displayed and exported in the block editor, users can use this as a basis for evaluation.
Please note that there is currently no way to load an exported Python script directly onto an eXperiBot.