Wireless sensor/actuator network with CC430 RF SoC.

The idea 

This piece of hardware originated as an entry for Texas Instruments Analog Design Contest'13 (come check it out, it's an annual event and YOU could score some great prizes).

The main idea of the project was to create a wireless network of sensors and actuators (grouped into arbitrary nodes) for data acquisition and control in the automated greenhouse. All data is collected from sensors and sent to the gateway node connected to web server, where processing of the obtained information takes place. Commands to actuators follow the same route in the opposite direction. This structure allows flexible and versatile solution for automation with modular approach that can be deployed quickly to any greenhouse.

Fig. 1 - 2. Potential victim of automation.

A place to deploy the system was fortunately found in my own university, where senior students built this (fig. 1, 2) hydroponic greenhouse to test various automation solutions (if memory serves me, the last thing that ran this greenhouse was PLC, hence the relays on the bottom).

Some theory and planning

A wireless sensor network (WSN) consists of spatially distributed autonomous sensors and is used to monitor physical or environmental conditions, such as temperature, sound, pressure, etc. and to cooperatively pass their data through the network to a main location. The more modern networks are bi-directional, also enabling control of sensor activity. The development of wireless sensor networks was motivated by military applications such as battlefield surveillance; today such networks are used in many industrial and consumer applications, such as industrial process monitoring and control, machine health monitoring, and so on. (From Wikipedia, the free encyclopedia)

The general diagram of the network that I've devised is shown in the figure below:
Fig. 3. Schematic diagram of the system.

Each sensor/actuator is equipped with a microcontroller that uniquely identifies this sensor in I2C network and allows the user to easily plug them to nodes in any order and any quantity (not exceeding the I2C address space size, obviously). The bidirectional link is established via radio with the gateway node, which sends the commands to nodes and receives data from sensors relaying it to the server. The server could be any single-board computer (like Rappberry Pi) or even an actual PC running the application which handles the link to gateway node.


Each node is equipped with CC430F5137 RF SoC, which is responsible for RF link between the nodes and connection to I2C network of nodes. Frequency was chosen to be 433MHz, that is, an unlicensed frequency for ITU Region 1. The schematics of each node is shown below:
Fig. 4. Schematics of WSN node built around CC430 RF SoC.
The balun circuit was taken from TI app notes and is designed specifically for reception and transmission of 433MHz radio waves. Programming of the board is done via Spy Bi-Wire interface (J2) inherent to all microcontrollers of MSP430 series. J3 connects the node to its sensors and actuators (you'll see later how a bus connection allows to use only one connector to join virtually unlimited number of sensors/actuators).
Each sensor/actuator module is comprised of MSP430G2230 uC and the sensing element itself. Figures 5 to 8 are the schematics of sensor/actuator modules already implemented:
Fig. 5. Mains switching module (BT139 TRIAC + MOC3041 driver).

Fig. 6.Air temperature and humidity sensor (DHT22).

Fig. 7. Light intensity sensor (Merely a CdS photoresistor).

Fig. 8. Water temperature sensor (DS18B20 in waterproof enclosure).
System architecture provides an opportunity to integrate sensing and actuating modules alike into the node. This simplifies the management of the system as well as provides a way to organize units with similar purposes to the same node (e.g. temperature sensor with the heater relay, salinity sensor with water pump relay).


Here are some pictures of assembled PCBs taken with my potato:

Physical manifestation of a WSN node.

Even more of them!

Node connected to mains swithing modules

Mains switch (BT139 TRIAC + MOC3041)

Left to right: water temp. module (with the sensor sticking from below), light int. sensor, air temp. and humidity sensor.

Air temperature and humidity sensor (DHT22).

Light intensity sensor (CdS photocell).

Water temperature sensor (DS18B20).

Final showdown - flourishing(ish) greenhouse.

What's yet to be done.

I'm planning to develop this project and further improve it.
For now, the project requires firmware for microcontrollers that will realize mesh network and software for the server. The list of improvement include:
1)    Adding a miniature energy harvesting system to each node, making it completely wireless and autonomous. The energy will be collected from solar cells and stored in supercapacitors. The most suitable integral solution for this is, probably, BQ25504.
2)    Development of PCBs with AC switches (relays or TRIACs). Those will make it an actual control system, enabling us not only to get data from sensors but also to control pumps etc. Done shortly after the project was submitted.