
## What is brainbox
The starting point for *<b>Internet of Things</b>* applications are the things themselves.
<span class='branding'>brainbox</span> is an authoring system for designers, developers, makers, researchers
and students who want to design and build tangible Internet of Things projects. <span class='branding'>brainbox</span>
allows anyone to graphically create new unlimited interactions between this physical and virtual objects within a
simple web-browser application without knowing coding or hacking.
<br>
<br>
Brainbox can accept input data from devices connected to the PC, such as a switch, sensor, joystick or even an
RF24 wireles device.

## What it is NOT
<span class='branding' >brainbox</span> is not a (yet another) new home automation server. It's purpose
is to cover key components of networking, IoT and digital circuits to ensure that you understand how to connect
device to the Internet with fun.
<br>
<br>


## Browser-based editing
<span class="container clearfix">
<span  class='primary' markdown='1'>
    ![overview](overview.png)
</span>
<span  class='secondary' markdown='1'>
 <span class='branding' >brainbox</span> provides a browser-based flow editor that makes it easy to
 wire  things together using the wide range of nodes in the palette. The created files, named *brains*, can be then
 deployed to the runtime in  a single-click. New JavaScript based nodes, named *blocs* can be created within the web based
 designer.
</span>
</span>
<br>
<br>


## Server
<span class="container clearfix">
<span  class='primary' markdown='1'>
 The server part of <span class='branding' >brainbox</span> handles communication with actual hardware and is built
 on Node.js. It is designed to run on Linux based embedded devices, PCs, on cloud servers. Once a project has been
 authored, the server continues to run the project even when the browser has disconnected.
</span>
<span  class='secondary' style="" markdown='1'>
    ![nodeJS](node.svg)
</span>
</span>
<br>
<br>




## Hook up Sensors
A good way to get started with an Arduino is to hook up some sensors and read them with brainbox.

### USB

<span class="container clearfix">
<span  class='primary' markdown='1'>
  ![nodeJS](usb.png)
</span>
<span  class='secondary' style="" markdown='1'>
Do you want to add wireless capability to your project? Using the NRF24L01+ module is a very easy and
reliable way to do so. This transceiver module works at the 2.4GHz band and it is extremely easy to use with
any Arduino board and <span class='branding' >brainbox</span>. Download the ready to use Arduino sketches and
connect the wires and you are ready to use them within the browser base editor.<br><br>*You can find detailed
information how to setup the RF24 or the arduino in the platform section of this documentation*
</span>
</span>




### Wireless

<span class="container clearfix">
<span  class='primary' markdown='1'>
Do you want to add wireless capability to your project? Using the NRF24L01+ module is a very easy and
reliable way to do so. This transceiver module works at the 2.4GHz band and it is extremely easy to use with
any Arduino board and <span class='branding' >brainbox</span>. Download the ready to use Arduino sketches and
connect the wires and you are ready to use them within the browser base editor.<br><br>*You can find detailed
information how to setup the RF24 or the arduino in the platform section of this documentation*
</span>
<span  class='secondary' style="" markdown='1'>
   ![nodeJS](rf24.png)
</span>
</span>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
