Arduino Processors

Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects. We love Arduino devices because they are cheap, very reliable and easy to configure to do very powerful things using the Arduino Integrated Development Environment (IDE). They are also easy to interface to our Home Control System and use the same events protocol and APIs. It makes it very quick and easy to prototype advanced smart home features and devices.

We use Arduino processors as part of our distributed Home Control System, with each one acting as a slave processor. Because Arduino processors are programmed via a USB interface and cannot be hacked to run code remotely, they are also very secure.

Arduino Uno

In simple applications the Arduino Uno is a very cost effective solution. It can be used with many sensors or used to control devices and appliances. The main challenge we have found with this processor is its limited memory.

Arduino Mega 2560

The main advantage of the Mega 2560 is that it has much more memory for code and data storage. This basically means it can be used to do more powerful things. It also has many more digital I/O and analogue input pins.

Note:  When using the Mega 2560 board with and Ethernet shield, a simple RC circuit is required on the reset pin to add a small time delay and to allow more time for Ethernet shield to start up. A 220uF capacitor (to ground) and 220Ω resistor are connected to the reset pin. This is described in more detail here.

Arduino Mega 2560 Pro

The Mega 2560 Pro is relatively new and is a much more compact for of the Mega 2560. The board is just 54mm × 38mm.

We have an ongoing evaluation of the Mega 2560 Pro on our Dream Green House website.

Ethernet Shield

Both the Uno and Mega 2560 do not come with an IP network interface. Both require an Ethernet shield (a piggy-back board) to accept a standard RJ45 connector so that they can be connected to a switch or router. Some software libraries are also required to enable it to work. Adding an Ethernet shield also places limitations on some pins on the processor as they are used to interface to the shield. The shield also has support for a micro-SD card.

Warning:  There are many cheap, Chinese Arduino products being sold that don't always follow the correct components specifications and many Ethernet shields suffer from poor performance. This is covered in more detail on our Arduino tips page.

Wireless Arduino Boards

There are a number low power Arduino boards that use Wi-Fi for their network connectivity.

Arduino Software

There is an excellent Integrated Development Environment (IDE) which is free and used to write software and upload it to the boards. There are thousands of hardware and software examples freely available on the web, to help get anyone started with programming.

We have developed our our library of code to simplify the encrypted communications used by our contextual smart home and have a library of code for the huge range of sensors used in our home. There are many simple software algorithms that can be used to perform sensor data validation and provide rate limiting.

Interrupts

Arduino interrupts are useful for making things happen automatically in microcontroller programs and can help solve timing problems. Good tasks for using an interrupt may include reading a rotary encoder, monitoring sensors or monitoring user input.

Powering Arduinos

We typically deliver a 12V dc power supply to our Arduino devices because this can then be used to power 12V devices connected to it. 12V dc is a bit too high a voltage to feed directly into an Uno or Mega 2560 though, so we use a local dc-dc convertor to provide a regulated 8.5V dc and this has the added benefit of handling any voltage drops in longer cable runs.

Arduino don't natively support Power over Ethernt (PoE) but you can use a PoE splitter to derive a local 12V dc power supply over an Ethernet cable.

Examples

We have many example projects based upon Arduino processors on our Dream Green House website.

Temperature Sensors

We have connected numerous Dallas DS1820 temperature sensors to our contextual smart home. They are our temperature sensors of choice because they are cheap, accurate and very reliable. Simple software algorithms allow us to get very timely data with low latency, enabling them to be used for HVAC applications and also for early detection of fires.