"Strobbio" allows you to transfer small amounts of data directly from your screen to your Arduino powered project.
Warning! Epileptic persons should not use this software because it produces succesive flashes!

The transmitter

The transmitter is written in JavaScript in order to be compatible with as many platforms as possible. You can send data from you laptop, your smartphone or your tablet as long as it is equipped with a JavaScript capable browser.

To start sending data around you must include the "strobbio.js" library in your HTML file.

Afterwards, it's that simple...

window.onload=function() {
var strobbio=new Strobbio();
var frame=new StrobbioFrame();

The receiver

The receiver is a C++ library that you can add to your Arduino IDE and use whenever you want. If you find it difficult to install the Strobbio library, check the following link Installing Additional Arduino Libraries

To receive data you have to make sure that getStatus() is called frequently enough and check the returned value like in the example below.

#include "strobbio.h"

StrobbioFrame frame=StrobbioFrame();
Strobbio receiver=Strobbio();

void loop() {
int status=receiver.getStatus();
if(status==STATUS_DATA) {

The required hardware

To make it possible for the Arduino to sense the light flashes you will need a photoresistor. The required circuit, as you can see above, is quite simple.

The R1 value depends on the resistance range of the photoresistor (LDR1).
* The default analog input used by the receiver is A5.

The protocol

The default Strobbio frame consists of 12 bits: 11 payload bits + 1 even parity bit
Every bit starts with a light pulse and ends with the next one. The interval between two pulses denotes the bit value.

* You can always change the frame size and the bit timings according to your needs as long as your sensor can handle it.

Get the code!

Strobbio is Free and Open Source. It is released under the terms of the MIT license.

online repository


Strobbio was my semester project for the module "Ubiquitous Computing" of the Department of Informatics of the Ionian University.