Hortduino open source shield: Popular Embedded Systems for being connected to your plants.
Suitable to be controlled using App Inventor, Scratch (S4A) or Python

"Hort" is a catalan word that stands for "vegetable patch". Cities can have a lot of potential to harvest vegetables and benefit the quality of the air and energy savings of the air conditioning attic neighbours.
Hortduino is an Arduino shield that lets connect sensors with screw connectors, and it fits in a box for real world applicaton on vegetable patches.
The Hortduino Kit is a combination of software and hardware (based on Arduino) that lets citizens and students connect to their plants using their familiar programming languages such as Scratch (S4A from Citilab), Blockly (App Inventor), Python or Java.
A lot of projects and educational activities can be developed on Horduino following the RaspBCN arquitecture (RaspberryBCN).
It is based on the Escola Rel project called Smart Hort (Smart Allotment).
Apart from Bluetooth, Hortduino could be used with Internet of Things networks such as TTN Cat, which is based on LoRa technology. Arduino based boards like The MKR WAN 1300 can be used.
Sentilo is an open source Barcelona City Council sensors platform software that can be used to store collected data. Our own machines or (VPS) can be used to install an run Sentilo, which uses Java, Tomcat, MongoDB, MySQL, ReDis.
Hortduino is an open source project (MIT License) and hardware and software stuff can be downloaded:





Hortuino kit (mounted in a low cost 80x80mm IP55 box) has been used in a Barcelona City Council prototype (Institut Municipal d'Informàtica) derived from Smart Hort project to show to the citizens how to build cyber-physical systems and control them using Scratch, Blockly (Used by App Inventor and mSchools program), Pyhton or Java.

Hortduino is intended to be used by citizens under DIY (Do it Youtself) approach.

Android App for remote control (App Inventor):

An open source demo app is availabe at the App Inventor Gallery (you must be logged in). It is also available at Google Play under the name of Hortduino. This App uses Bluetooth to comunicate to the Arduino board and it uses a simple protocol.


The App interacts with Arduino by sending the actuator states and receiving sensor states.
Following instructions has been implemented:

  To read:  An[enter]  => Reads analog n pin.                            Example:  A0[enter]
            n[enter]   => Reads digital n pin.                           Example:  2[enter]
  To write: An=value   => Writes value to analog An pin                  Example:  A2=255[enter]
            n=value    => Writes 1 to digital n pin                      Example:  3=0[enter]  (or 3=1[enter])
            Tn=value   => Writes 1 to digital n pin during t seconds     Example:  T3=10[enter]
            Sn=value   => Writes value angle to digital n servo pin      Example:  S10=90[enter]

This protocol is implemented in a specific program (firmware) that must be installed in the Arduino board. This firmware can be downloaded here, and it depends on the standard Servo library and on the Simple Timer library, which is not included into the default Arduino environment but it has been included in our firmware distribution bundle.

Installing the Firmware into your Arduino

The firmware is a piece of software you need to install into your Arduino board to be able to communicate with it from App Inventor.

  • Download and install the Arduino environment by following the instructions on http://arduino.cc/en/Main/Software. Take in account Arduino Uno requires at least version 0022.
  • Download our firmware bundle from here
  • Connect your Arduino board to a USB port in your computer
  • Open the firmware file (BluetoothFirmwareTimersServo.ino) from the Arduino environment
  • In the Tools menu, select the board version and the serial port where the board is connected
  • Load the firmware into your board through Tools > Upload

Setting up your HC-06 Bluetooth module

In the following post a documentation can be found in order to set up the HC-06 Bluetooth module. 38,400 baud is a good value to communicate with Android devices.
Once configured the Bluetooth module, the protocol can be tested using a Bluetooth Terminal like BlueTerm:

Other sources

Arduino Project Handbook (by Mark Geddes)

Case studies

Hortduino has been used to run the Jardi.Net system, which is an example of cyber-physical system based on embedded systems.

Pilot tests at schools have been promoted with low cost kits prototypes.

Previous prototypes:

Who we are?
Xavier Pi -
Jordi Binefa -
José Luis Rubiés -