X10 Sensors

I also build some X10 sensor units. These units  use the 18F2455 for general X10 tasks, and a second PIC 16F819 for controlling the sensors. Communication between the two processors is done by means of the SPI bus. For transmitting the data on the power line, I used the extended X10 protocol. I have build 2 variations: one to measure temperature and light intensity, and one to measure pressure, humidity and temperature.


Temperature and light sensor

Here is a picture of the TL01, the temperature and light sensor.

The temperature is measured by a LM135 and the light intensity is measured by a Siliconex NSL-06S53. The sensor values are converted to digital by the internal AD converter of the 16F819 PIC. The unit can be put in program mode, after which the house address, unit address and command codes can be set by sending X10 commands. It is also possible to calibrate the temperature sensor by sending a calibration value in programming mode. Temperature and light values can be requested from the unit by sending extended X10 commands. The unit autonomously transmits temperature whenever the temperature changes. Here you can find the specification of the TL01.

Pressure and humidity sensor

The HB01 (pressure and humidity sensor) uses the MM5534 from Intersema as the pressure sensor. The Sensirion SHT71 is used for humidity measurement. The unit operates in the same way as the TL01. Here you can find the specification of the HB01.

Finished unit

As the design needed a double sided pcb, I was forced to have one produced at a third party as I can only do single sided pcb’s myself. The complete unit (TL01) is shown here.