Page tree
Skip to end of metadata
Go to start of metadata

Programming with NEPO® follows a simple principle. The blocks are interconnected and executed by the robot according to their order. This principle is called »sequential operation«. Only blocks that are connected with each other are executed while running the program. The blocks that are connected together and to the start block are also called a sequence or  »task«.

To connect blocks with each other, they have sequence connections and/or connectors. Depending on the mode of a block, the number of the connectors may vary.

Programming with NEPO is really easy. Every program begins with the »start« block.

This block is always added by default in the Open Roberta Lab workspace. The first block that you will execute is connected with the  »sequence connector« of the »start« block. The sequence connector is a triangle at the bottom of the block and this triangle will become yellow as soon as a suitable block is in close proximity.

Transfer a program to the Edison

Before you transfer your first program, please make sure that your Edison V2.0 is connected to your computer and turned on as described here. Now you can simply follow the steps below to transfer your program:

  1. Press the »Record« button of the Edison V2.0, i.e. the round button. The Edison V2.0 should now beep once and both front LEDs should light up.
  2. In the Open Roberta Lab you can now press the »Start on Edison V2« button.


NEPO is the name of our graphical programming language. It is easy and fun to learn programming. NEPO can also be used to program and interact with other robot systems.

Perhaps NEPO seems familiar to you. When designing NEPO we were inspired by existing concepts from scratch and blockly.

The graphical NEPO blocks have different components and thus different attributes. A block always represents a certain functionality. Its function can easily be determined by its block category, for example »sensors« . Features of the graphical blocks are:

Selection Menu

In the selection menu you can choose between different functions for the block, such as in block »drive« between forward and reverse.

Sequence connection

The blocks are interconnected using the sequence connection. A program consists of all interconnected blocks. The blocks will be executed according to their order, from top to bottom. A NEPO block can have more than one sequence connection.


Input - Parameter Input

Depending on the block different values can be passed to a block. The type of the value can be identified by the colored compounds (called »connectors« ) of a block. In the chapter »block catagory« you can see the different values a block can have. Blocks can only be connected when the colors of the input and the output connector match,.

Output - Return parameters

A block may optionally also pass a value (only one) to another block. These blocks have colored output connectors. Blocks can only be connected when the colors of the input and the output connector match.


By rightclicking a block its contextmenu can be opened.

Several actions can be performed, using the menu:

  • Duplicate (copys the block and connected input parameters)
  • Add comment (adds a comment to this block)
  • Inline Inputs (changes the appearance of the block)
  • Collapse Block (minimizes the block)
  • Disable Block (deactivates the block so that it won't be executed)
  • Delete x Blocks (deletes the selected and all connected blocks)


There are seven different input and output types within NEPO. These types are as follows:

  1. Logical value (light blue)
  2. Number (dark blue)
  3. String/Text (green)
  4. Color (yellow)
  5. List (purple)
  6. Connection (pink)
  7. Image (magenta

The type »List« can contain a Logical, Number, String or Color type

Block Categories (Beginner, Expert)

A block-category groups blocks which have similar functionality. For example, the block-category "sensors" contains all blocks which control the sensors of your robot.

The Open Roberta Lab offers two choices when selecting existing blocks:

  •     Beginner
  •     Expert

The selection "Beginners" is the default selection. This category includes the main program blocks  which are most important for programming a robot.

Choosing "Expert " includes the three additional block-categories "Lists", "Functions", and " Messages" and additional NEPO blocks in other block categories.

NEPO offers eleven block categories:

Block categoryBeginnerExpert





The individual blocks and their descriptions can be found here, sorted by categories.

For each block its function, setting possibilities, as well as input and output values are described in detail.

  • No labels