Documentation / Concepts / Overview


A quick list of concepts used in the BrainBuilder development studio


Block is a generic term used to represent a physical item, like a development board, sensor or LEDs, and also to refer to logical entities as variables and rules.

Hardware blocks

The Hardware folder contains all physical components of your project. One component that always should be added there is your development board. All inputs and outputs and outputs are added here.

Development board

Available development boards are: Arduino Mega, Nano, Uno. You can define more than one, but only one can be enabled.

Analog input

For reading from analog sensors

Digital input

To read a digital input

Digital output

Commonly used to switch something on or off, control a servo motor.


The LED probably doesn’t need an introduction, it’s an easy way to visually signal a status,

Hardware switch

For reading a button or switch. You don’t have to think about debouncing, that’s taken care of.


These are the logic components available


A rule specifies one or more actions, based on a condition. For example, switch on the heating if it gets cold. To switch ‘GreenLed’ on when the ‘Light’ level is less than 200, and off if the light level is higher than that, add a RuleBlock, name it ‘LedOn’ and the following rule:

if ( Light < 200 ) {
    Led = 1;
} else {
    Led = 0 ;

See: Rules


A blinker can be used to make a ‘blinking light’ or a buzzer or do any number of things. You can specify an interval of 5 milliseconds or more.

Global variable

A global variable can be read and set by all components. Set the type of variable as desired (from ‘bit’ to (un)signed 64 and float-16) When a value is read, the last value written to it is shown.

Screen pages

For use with a display

Settings pages

For entering and changing settings

Project info

Project info is a space to make notes for yourself about the project. You don’t have to fill it in.


For reporting data via USB.