The long term aim of BerryIO is to enable developers to control the Raspberry Pi and its GPIO ports remotely from any device with a web browser, without ever needing to connect a screen or keyboard to the Pi itself. The new API mode extends this further enabling mobile apps, etc to be produced and control BerryIO.

The way BerryIO works is once the Raspberry Pi has booted up (or if the connectivity changes) it automatically connects to the main wired or one of the predefined wireless networks and BerryIO emails the owner with a web link. They can then click the link and open BerryIO in a browser (with their username and password).

At the moment I've got the email system, a system status display, the network status display, LCD control, GPIO control, SPI DAC control and SPI ADC input reading as well as the camera, basic shutdown and reboot systems working. In the future I will be adding support for video (including a live viewfinder), I2C as well as full wireless networking control (at the moment you still have to use the "WiFi Config" utility on the desktop).

Currently the network status display detects the network devices you currently have plugged in and shows you what they are up to using visual indicators which colour green from connected, blue for standby and grey to indicate they are without a connection (see screenshots).

The GPIO control panel allows you to view and set the GPIO status realtime. Its all clickable and you can change the values and in/out modes on the fly (see screenshots).

The SPI control panel allows you to view the ADC values and set the DAC values by clicking on the slider (see screenshots).

The LCD control panel allows you output text to a HDD44780 or KS0066U compatible LCD.

The camera control panel alows you to take photos with different settings.

There's also a command line interface, so you can issue commands directly to it over SSH or in scripting should you wish to (see screenshots).

For those interested in the technical details its mostly written in PHP which runs the back end for both the command line and the web browser interface (which is served with Apache). SPI control is written in C, the emailing is done with msmtp and the network can be managed by Raspians wpagui (although I hope to include functions in BerryIO to configure the network at some point).


Video's and News Articles

BerryIO has been featured on!
Check out the video of BerryIO in action on the fantastic blog.


Check out the BerryIO Album on Google+.

Things Still To Do

Known Issues

Version History

Version 1.0.0  (2012-09-19)

Version 1.1.0  (2012-09-20)

Version 1.2.0  (2012-09-22)

Version 1.2.1  (2012-09-23)

Version 1.3.0  (2012-09-30)

Version 1.4.0  (2012-10-05)

Version 1.4.1  (2012-10-10)

Version 1.4.2  (2012-10-13)

Version 1.4.3  (2012-10-20)

Version 1.4.4  (2012-11-04)

Version 1.4.5  (2012-11-24)

Version 1.5.0  (2012-12-30)

Version 1.5.1  (2013-01-01)

Version 1.6.0  (2013-01-07)

Version 1.6.1  (2013-01-12)

Version 1.6.2  (2013-01-12)

Version 1.6.3  (2013-01-21)

Version 1.6.4  (2013-01-21)

Version 1.6.5  (2013-01-27)

Version 1.6.6  (2013-02-04)

Version 1.6.7  (2013-02-07)

Version 1.6.8  (2013-03-24)

Version 1.6.9  (2013-03-24)

Version 1.7.0  (2013-03-24)

Version 1.8.0  (2013-04-07)

Version 1.8.1  (2013-04-07)

Version 1.8.2  (2013-05-19)

Version 1.9.0  (2013-08-26)

Version 1.9.1  (2013-11-07)

Version 1.9.2  (2013-12-29)

Version 1.9.3  (2014-07-21)

Version 1.9.4  (2014-07-21)

Version 1.9.5  (2014-07-21)

Version 1.10.0  (2014-07-21)

Installation Instructions

Please follow the instructions detailed here: