We are really excited to announce that we are almost ready to release a new control board on the market. Its name is AirQ 305 and it will have really interesting features and, more important, a really competitive price.
AirQ Read more
You just received your new AirQ ShielD. And you want to start developing your application right now. But before you can start coding there are a couple of things you may know. We know: you don't like to read Read more
After a week of testing and tuning up, we are finally ready to push the Arduino sNET library on our github account at http://github.com/airqnetworks :-) The library repository is named snet-arduino, and it can be easily downloaded using git:
$ git clone Read more
As we've announced some days ago, we are progressively releasing information about how to develop custom applications above our wireless devices. We already described the protocol we've developed to interact with our control boards and wireless sensors: its name is sNET Read more
Starting from this post, we’ll publish a series of tutorials that show how it’s simple to build custom and complex wireless solutions using Arduino and AirQ Networks products.
The first tutorial we publish is maybe the most simple but it’s the bare bone tutorial of all DIY and makers: a Wi-Fi thermostat. Unless you are one of those lucky people that live in that areas of the earth where there are 25°C during all the year, a thermostat is useful both during winter and summer. During winter a thermostat can control the heating system as well as conditioning system during the summer. But often devices are placed far from where we need to control them. And this is especially true for boilers that are usually placed inside specific rooms (see left picture).
So wireless is a crucial point to design a flexible and adaptive thermostat. But we want to go further. In the Internet of Things (IoT) era, we want to design a thermostat that is smart and that we can control from the web wherever we are.
Bill of material
This tutorial is divided in three parts. In the first part, we’ll design a really simple but functional thermostat able to control a remote boiler according a hardcoded temperature. To do this step we’ll need:
Yesterday we started shipping new AirQ 305 to our worldwide customers. And we are really happy that many of you liked it
But we haven’t released complete specifications until now. So, let’s see all features of this new control board. AirQ 305 is a wireless controller board with 4 relays and 4 inputs. Each relay is tight to a three way terminal block (Normally Open, Normally Closed and COMmon). Relays are able to drive up to 10A of current. But if you plan to use them to drive AC loads, these are the exactly specifications of manufacturer:
Rated load (resistive / cosφ=1)
6A @250 VAC (NO/NC) 10A @120 VAC (NO/NC)
10A @24 VDC (NO/NC)
Rated carry current
Max. switching voltage
250 VAC 24 VDC
Max. switching current
Different from other AirQ Networks control boards, inputs in AirQ 305 are voltage driven. This solution is more flexible compared to voltage free inputs, since they can be used both in case of dry and hot contacts. However, inputs can’t be used with every type of voltage and, keep in mind that they can’t be used with AC source. Input voltage ranges from 3VDC up to 24VDC. This upper limit can be extended using a voltage limit resistor. If you need to interface a dry contact (eg, a switch), you can sink +12VDC from power supply, as shown in the following picture. Inputs are opto-isolated: this is really useful if the input voltage is noisy.
Compared to AirQ 310 and AirQ 300 control boards, this one doesn’t provide a battery changer and management IC. So the board can be powered only through a power adapter. The reason of this choice was to keep the selling price as low as possible. If fault tolerance is demanding, consider buying an AirQ 310 or 300 control board.
We’ve just released the new 0.3 version of sNET adapter for Arduino. This release introduces new interesting changes:
We changed the way confirmation is handled. Now we use the sNET message modifier MSG_CONFIRM to ask control board if a command has been received. This allows a better management of confirmation giving the best performance possible.
We decided that the default value for check parameter in setRELAYx() method is now true. This means that, if the library was compiled with the macro SNET_ENABLE_CONFIRM, all setRELAYx() operations are done with confirmation.
We’ve added the support to relay pulse for AirQ 310 control board through pulseRELAYx() method.
Now the support for new AirQ 305 control board is completed (we’ll say more about this in a next post).
We also added an “example” directory inside the library that contains examples that show how to use a given board. The only thing to change is the sNET address of the specific board.
You just received your new AirQ ShielD. And you want to start developing your application right now. But before you can start coding there are a couple of things you may know. We know: you don’t like to read tens of pages on our technical wiki. You’re only interested in write down code. That’s the reason why we wrote this survival guide. One. Two. Three. Let’s go
There are essentially two main things you have to know: pairing and ARS.
Each AirQ Networks end device (eg. AirQ 310 control board or AirQ 101 wireless sensor) can be associated to only one transceiver. And an AirQ ShielD is a transceiver. This procedure is called pairing. To pair a device to an AirQ ShielD you need to follow this procedure:
Turn off the device you need to pair to the shield (eg. AirQ 310 control board).
Turn on Arduino with the shield correctly mounted (see next).
Press the PAIR button on AirQ ShielD leaving it pressed for 2 seconds.
You’ll notice that the STATUS led starts blinking repeatedly. The shield will remain in pairing mode for 30 seconds.
Turn on the device you want to pair.
After two or three seconds the STATUS led of the device will blink more quickly to signal that it has been paired. The STATUS led stops blinking.
Pairing is completed. To stop pairing mode immediately, press PAIR button for 1 second.
We did a video that shows this procedure.
However, for all of you that are buying in this period an AirQ ShielD with another AirQ Networks device, we are providing them already paired. But it’s important to know that pairing could be needed if you buy other devices in the future.
Remember that if you bought only AirQ ShielDs you don’t need pairing.
A lot of you asked us if AirQ ShielD could be used to build customs hardware solutions without using other AirQ Networks devices. And the answer is definitively yes. AirQ ShielD is nothing more than a transceiver and it is designed to accept commands that send bytes to another AirQ ShielD. To develop a wireless solution using AirQ ShielD you need:
At least two AirQ ShielDs (but you can use how many you need).
Two Arduino Uno boards.
The sNET library for Arduino
AirQ ShielD allows sending data messages to another AirQ ShielD. The maximum number of bytes that can be sent is 10. To a send a message to another shield the sNET::sendToDevice() method can be used. Let’s do an example. Suppose that you received two AirQ ShielDs: one with sNET address equal to 22.214.171.124 and the other one with the address 126.96.36.199. And suppose that you want to send the “HELLO” string from 188.8.131.52 board to 184.108.40.206. The following Arduino code is all you need.
The code is self-explanatory: the first 4 parameters are the address of the remote shield that will receive the message; the fifth parameter (0x1) says sNET library to send a data message; the remaining part is the data we want to send and its size. If you want to send a message to all AirQ ShielD on the same sNET network, you can use the sNET::sendBroadcast() method: