The Weather Project

Under construction

Transmitter

Hardware

The circuit is based on Anaren A1101R09 radio modules that broadcast in 915 MHz frequency. To reduce the power consumption of the the radio module during the package transmission it is powered from a DC-DC voltage converter TPS62733 that drops the battery voltage down to 2.4V. The radio module has SPI interface with the microcontroller. More information on using the radio module for data transmission can be found here.

The Si7005 temperature and humidity sensor is requested to perform a new measurement every minute. It is activated by the microcontroller via the I2C interface. The sensor is equipped with a cover that protects the sensing element from moisture and dust. See here for more info on testing this sensor.

The heart of the device is MSP430G2453 microcontroller. It is clocked from internal 8 MHz oscillator and is kept in LPM3 sleep mode most of the time to reduce the power consumption. Waking up the microcontroller from sleep is provided by internal timer which is clocked from a watch crystal. This way the wake-up period is very close to 1 sec, The microcontroller provides power to the sensor for the time of temperature and humidity measurement. Once the data is extracted from sensor, it is integrated into a package to be transmitted and loaded into the radio module. The on-board ADC of the microcontroller is used to control the battery voltage every 10 minutes. The firmware is loaded into the microcontroller via the Spy-Bi-Wire interface. We used MSP-FET430UIF programmer for loading the firmware.

The circuit is powered from a lithium 3.6V battery, which is capable to work in the wide range of temperatures down to -55°C, which is needed for our winters here. The DC-DC converter is activated only for the package transmission time. Otherwise, it is off and the microcontroller and sensor are powered directly from the battery via internal MOSFET that short cuts pins 2 and 3 of the converter chip. The average power consumption of the entire device is about 10 μA, so the battery should last for several years.

Schematic Assembly

Firmware

Receiver

Hardware

The schematic is very similar to the transmitter. It uses the same radio module with SPI interface and a similar microcontroller. The radio module remains in the receiving mode all the time. Since the circuit is powered from the USB port of a computer, the requirements for low power consumption are not very strict. However, the microcontroller is put on sleep any time anyway and its wake-up from sleep is provided by the radio module as soon as it receives a qualified package.

Instead of the temperature and humidity sensor we use barometric pressure sensor with I2C interface. The receiver unit is supposed to be placed inside a leaving space, where the pressure is essentially the same as outside.

To deliver the received data from outside sensor and the pressure sensor we use I2C to HID USB converter based on Silicon Labs CP2112 chip. This chip is put on the same I2C bus as the pressure sensor and can only work as master in I2C communication. This implies that the microcontroller has to be slave device to deliver the data to CP2112. However, to communicate with the pressure sensor the microcontroller has to be in the master mode. Thus, we have to avoid a situation where bothe I2C masters transmit, since this would leave to lossing the I2C arbitration and errors.

Initially, the microcontroller is configured for the I2C master communication. Upon waking-up from sleep by the radio module extracts a package from the radio and requests the onboard pressure sensor to perform a new measurement. As the measurement is done, the microcontroller requests the sensor to deliver the data on the I2C bus and receives the data in the I2C master mode. After this it is reconfigured by firmware for the I2C slave operation and gives and signals its readyness to CP2112 by rising up the voltage on its pin 10. The CP2112 converter is monitored by the computer software every second. Once the software discovers the logic 1 level on pin 20 of CP2112 it understands that the microcontroller is in I2C slave mode and is ready to deliver the data to the server. After the microcontroller delivered and collected sensor data to CP2112 it switches back to the I2C master mode and waits for the next interrupt from the radio module.

Schematic Assembly

Firmware

Computer Software

Downloads