You can read about it here and download the manual for details here.
Enjoy!
Showing posts with label dht22. Show all posts
Showing posts with label dht22. Show all posts
May 20, 2015
The new Wireless Multi sensor Mk3 is available in the store!
Labels:
12f1840,
1wire,
carbon dioxide,
co2,
dht22,
ds1820,
ds18b20,
ds2450,
fineoffset,
foogadgets,
lmst606,
max31850,
rfxcom,
rfxmeter,
rfxtrx433,
senseair,
telldus,
tellstick,
thermocouple,
wireless multi sensor
August 20, 2014
WMS Mk2 - Currently supported devices
Here is a list of currently supported devices (WMS Mk2 sold after August 1st, 2014).
http://foogadgets.tictail.com
EDIT (2014-09-15): I have removed the support for DS276X since the configuration of the chip and also the extra calculations needed to present a valid sensor reading, was too complex.
To read Thermocouples I recommend the MAX31850 instead.
1-wire networks could be big as long as they are well built. The WMS Mk2 has successfully been tested in a network with 33 sensors and 75m length.
http://foogadgets.tictail.com
EDIT (2014-09-15): I have removed the support for DS276X since the configuration of the chip and also the extra calculations needed to present a valid sensor reading, was too complex.
To read Thermocouples I recommend the MAX31850 instead.
- AM2302 - Temperature and Humidity sensor in one capsule.
- DHT22 - Temperature and Humidity sensor in one capsule.
- All kinds of passive switches with an ON/OFF function. Some examples,
- Tilt switch
- Vibration switch
- Doorswitch
- Float switch
- All kinds of sensors that output 0-5V digital signal. Some examples,
- CO2 sensor (S8 from SenseAir)
- 1-wire products from Maxim Integrated,
- DS18B20 - Digital thermometer
- DS18S20 - Digital thermometer
- DS1820 - Digital thermometer
- DS1822 - Digital thermometer
- DS1825 - Digital thermometer
- DS2450 - 4 channel A/D converter
DS2760 - High-precision Li+ battery monitorDS2761 - High-precision Li+ battery monitorDS2762 - High-precision Li+ battery monitor- MAX31820 - Ambient temperaure sensor
- MAX31826 - Digital temperature sensor
- MAX31850K - Cold-junction compensated thermocouple Type K
- MAX31851 - Cold-junction compensated thermocouple Type S and R
- ... or any other sensor/device based on any of the 1-wire products above
- https://www.m.nu/adomvandlare-4-kanaler-025v-dc-p-307.html
- https://www.m.nu/adomvandlare-4-kanaler-05v-dc-p-455.html
- https://www.m.nu/barometer-version-2-p-439.html
- https://www.m.nu/co2matare-version-2-p-259.html
https://www.m.nu/fuktmatare-p-340.html- https://www.m.nu/ljussensor-analog-version-12-p-186.html
- https://www.m.nu/temperatursensor-for-tuffa-miljoer-ds18b20-p-252.html
- https://www.m.nu/temperatursensor-med-metallfilm-ds18b20-p-269.html
- https://www.m.nu/temperatursensor-pa-kabel-ds18b20-p-44.html
- https://www.m.nu/temperatursensor-pa-kretskorti-plastbox-p-456.html
https://www.m.nu/termoelementinterface-mat-hoga-temperaturer-version-2-p-457.html- https://www.m.nu/thermocouple-amplifier-with-1wire-breakout-board-max31850k-p-1392.html (remember to also order the level shifting board)
1-wire networks could be big as long as they are well built. The WMS Mk2 has successfully been tested in a network with 33 sensors and 75m length.
Labels:
1wire,
433mhz,
co2,
dht22,
ds1820,
ds18b20,
ds18b22,
ds18s20,
ds2450,
thermocouple,
wireless multi-sensor
March 19, 2014
Connection guide for the Wireless Multi-sensor
Here are the different connections to the Wireless Multi-sensor version 1.1.
First I start with presenting the different ways to connect sensors,
In the end I show how you can power the Multi-sensor and where you can feed it, under the section Power.
With the DS2423-firmware the Multi-sensor will support the DS2423-2-channel counter commonly used when logging energy consumption. however there is a simpler way.
The DHT22 can be connected with up to 100m cable according to the specification.
A transmission will only be done as soon as the DATA-line goes high.
You will be safe to feed the Multi-sensor with 4.5-5.5V independently of which sensors you combine. The easiest way is to use a USB-charger or similar. The USB port is only there to give power to the Multi-sensor. The D+ and D- pins are not used.
If you want to minimise the form factor you will likely want to choose a small battery. It can be useful to know that you can go as low as 3.0V as long as you only use 1-wire DS18X20 sensors. I have successfully powered a Multi-sensor and one DS18B20 with a CR2032 cell battery (3V). The test was speed up with increased transmission interval. The estimated lifetime of this configuration is estimated to more than 1.5 years.
The transmitting range of the Multi-sensor will depend on the voltage level.
Here is the specification for the Radio module used in the Multi-sensor (FS1000A):
For the advanced user it could probably be possible to boost the transmission range by feeding the RF module with 12V separate from the rest of the Multi-sensor.
First I start with presenting the different ways to connect sensors,
- Temperature and Temperature/Humidity sensors
- PIR and CO2 sensors
- Passive switch-type of sensors
In the end I show how you can power the Multi-sensor and where you can feed it, under the section Power.
Temperature and Temperature/Humidity sensors
The 1-wire network is ideally a straight bus. But it could as well be pure star-shaped. This shape is however not recommended by Maxim. For more detailed information about the network topology I recommend reading Guidelines for Reliable Long Line 1-Wire Networks.
A network length of about 50 meters have been reported to work OK with the Multi-sensor, but do not see this as the maximum limit. Maximum network length is still to be found. Cable type is important if you plan to build a large network. Pair-twisted EKKX 2x2x0,5 is one of the recommended cables to successfully build a large working 1-wire network.
The following 1-wire sensors have been verified to work, DS18B20, DS18S20, DS18B22, DS1820 and MAX31820.
The following 1-wire sensors have been verified to work, DS18B20, DS18S20, DS18B22, DS1820 and MAX31820.
With the DS2423-firmware the Multi-sensor will support the DS2423-2-channel counter commonly used when logging energy consumption. however there is a simpler way.
The DHT22 can be connected with up to 100m cable according to the specification.
PIR or CO2 sensor
You can choose from many different types of sensors to connect to the PIR-input. Any of those types (or similar) can be connected right into the pin connector after removing the read jumper thing.Passive switch-type of sensors
Any passive switch-type of sensor can be connected to the PIR-input. With this type of sensor you will need to add a Pull-down resistor to force the DATA-line low when the switch is open. The pull-down resistor should have a value of about 4k7 to 10kOhm, but it is not critical.A transmission will only be done as soon as the DATA-line goes high.
Power
You can power the Multi-sensor in one of two ways. Either you use the USB-port, or you use the solder pads on the PCB marked BAT for battery, to power it with the power source of your choice.
The table below will guide you with what minimum and maximum voltages that are allowed.
You will be safe to feed the Multi-sensor with 4.5-5.5V independently of which sensors you combine. The easiest way is to use a USB-charger or similar. The USB port is only there to give power to the Multi-sensor. The D+ and D- pins are not used.
If you want to minimise the form factor you will likely want to choose a small battery. It can be useful to know that you can go as low as 3.0V as long as you only use 1-wire DS18X20 sensors. I have successfully powered a Multi-sensor and one DS18B20 with a CR2032 cell battery (3V). The test was speed up with increased transmission interval. The estimated lifetime of this configuration is estimated to more than 1.5 years.
The transmitting range of the Multi-sensor will depend on the voltage level.
Here is the specification for the Radio module used in the Multi-sensor (FS1000A):
| Operating Voltage | 2.5 V to 12 V |
| Operating Current | 4mA @ 5V, 15mA @ 9V |
| Quiescent Current | 10uA |
| Operating Temperature | -10C - 60C |
| Modulation | ASK |
| Max. Data Rate | 2.4K |
| Data Input | TTL |
| RF Power | 20 mW@5V |
For the advanced user it could probably be possible to boost the transmission range by feeding the RF module with 12V separate from the rest of the Multi-sensor.
Labels:
12f675,
1wire,
433mhz,
carbon dioxide,
co2,
dht22,
ds1820,
ds18b20,
ds18b22,
ds18s20,
esic,
esic-clone,
s8,
senseair,
wireless multi-sensor
January 3, 2014
New version of the Wireless Multi-sensor PCB
Here is my latest version of the Wireless Multi-sensor PCB (Version 1.1).
Last night I assembled 12 units. I only had time to test two units very quickly, but all is sound so far. The only missing part is the PIC12F675. I have been waiting since 12th November :(. It will arrive any day now :)
As can be seen in the picture below, there are three inputs. One for the DHT22, one for the 1-wire bus and one event sensor input. The event sensor-input have the same pin-configuration as the PIR-sensor HC-SR501.
I have also added a power supply input (marked BAT) to the right of the DHT22 input where you have the possibility to add your own power supply.
The changelog for version 1.1,
*A pull-down resistor can be soldered in the spot marked R4. It will not needed if the input is not used since there will be a jumper grounding the data input pin.
*The 2.1mm DC-jack has been exchanged to a mini USB type B connector. I have also added the possibility to add your own power supply.
*The hardware bug has been corrected.
Labels:
12f675,
1wire,
433mhz,
ask,
dht22,
ds1820,
ds18b20,
ds18b22,
ds18s20,
esic,
esic-clone,
fineoffset,
fineoffset-clone,
foogadgets,
ook,
rfxcom,
rfxtrx433,
telldus,
tellstick,
wireless multi-sensor
November 29, 2013
Wireless Multi-sensor
A.k.a. esic-clone and fineoffset-clone.
How hard can it be to build a wireless temperature sensor? I had to find out.
I figured I needed a microcontroller that could read a sensor and bitbang the data to a 433MHz OOK radio module. My choice fell on the PIC12F675. Not too many pins and not too many registers/parameters/options to keep in the head. And one more thing. I wanted to write in assembler.
The temperature sensor that I set up as a project to copy was one that had the brand ESIC that was sold by Clas Ohlson in Sweden. The protocol seemed not too complex and it was easy to implement since the receiver that I have (Tellstick DUO) is written mainly in open source. I could easily have a look at what the Tellstick DUO expected to receive from an ESIC temperature/humidity sensor.
The the rest of this blog post is a description of how you can build your own temperature sensor that is compatible with Tellstick DUO/NET from Telldus and RFXtrx433 from RFXCom. I call it a Wireless Multi-sensor. It will be more clear why "Multi-" in a moment. Note: esic_clone/fineoffset_clone was the first name and it will be seen trough out the text.
The Wireless Multi-sensor mimic an ESIC/Viking temperature sensor but with better range, and best of all, it can mimic up to at least 11 ESIC-sensors with only one Wireless Multi-sensor device.
It supports the following sensors,
The Wireless Multi-sensor will appear as if it was one or several single ESIC/Viking temperature sensors. All depending on how many sensors that has been added to the Wireless Multi-sensor device.
Here are some examples of the different configurations (esic_clone = Wireless Multi-sensor):
- DS18X20 Dallas Temperature sensor(s) (Optional)
- DHT22 (a.k.a. RHT03 and AM2302) Temperature/Humidity sensor (Optional)
- HC-SR501 PIR sensor Google "DYP-ME003/Specification.pdf" (Optional)
- TX433 OOK/ASK transmitter module (i.e. FS1000A)
- R1 1k
- R2,R3 4k7
- LED
- 100nF decoupling capacitor
However, if a HC-SR501 PIR sensor is used the minimum voltage is 4.5V.
I recommend 3 AA(A) batteries, unregulated or 4 NiMH AA(A).
I generate the HC and CC differently depending on the sensor.
Note that the way the HC and CC for all sensors above is generated, implies that the HC and CC survive a battery change.
In my Multi-sensor I have used the 7-bit humidity field to send the current battery status level when sending data from the 1-wire sensors. The value you get is dependent on Vdd. Anything from 3V to 5.5V should be OK to feed the circuit with. Lower numbers mean higher voltage. The voltage drop over the LED is used as a reference. In my case the voltage drop over the LED is 1.77V. This gives the following equation,
where Vdiod is the voltage drop over the diode and Humidity is the read value from the Tellstick.
Data packets sent from the DHT22 readings will contain the actual humidity.
In the case when activity is detected by the event sensor (i.e. PIR-sensor) the humidity field is
filled with data that should be different from the previously triggered event. The purpose with this is to make the sensor compatible with Beyond Measure, a very flexible, module based automation application.
until next sample-transmit round. This is 23 in the asm-code which corresponds to a transmission
approximately once every minute.
The system define PACKET_RESENDS specifies how many packets in every burst that should
be sent. Default is 3, just like the original ESIC-sensor.
There are also three forums where I have presented this project where you might find more information.
Svenska Elektronikforumet (Swedish)
Telldus Forum (English)
Temperatur.nu Forum (Swedish)
There are two variants of the implementation. Both have the same features but uses different protocols.
If you need to re-compile the code you will need MPLab X IDE that is free to download from here,
http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads
You can also buy a kit or the complete product from here.
There you will also find a Wireless Energy Meter compatible with Tellstick DUO/NET and RFXtrx433 that I will post as soon as it is verified.
/Niclas
How hard can it be to build a wireless temperature sensor? I had to find out.
I figured I needed a microcontroller that could read a sensor and bitbang the data to a 433MHz OOK radio module. My choice fell on the PIC12F675. Not too many pins and not too many registers/parameters/options to keep in the head. And one more thing. I wanted to write in assembler.
The temperature sensor that I set up as a project to copy was one that had the brand ESIC that was sold by Clas Ohlson in Sweden. The protocol seemed not too complex and it was easy to implement since the receiver that I have (Tellstick DUO) is written mainly in open source. I could easily have a look at what the Tellstick DUO expected to receive from an ESIC temperature/humidity sensor.
The the rest of this blog post is a description of how you can build your own temperature sensor that is compatible with Tellstick DUO/NET from Telldus and RFXtrx433 from RFXCom. I call it a Wireless Multi-sensor. It will be more clear why "Multi-" in a moment. Note: esic_clone/fineoffset_clone was the first name and it will be seen trough out the text.
The Wireless Multi-sensor mimic an ESIC/Viking temperature sensor but with better range, and best of all, it can mimic up to at least 11 ESIC-sensors with only one Wireless Multi-sensor device.
![]() |
| ESIC temperature/humidity sensor |
![]() |
| Viking temperature/humidity sensor |
It supports the following sensors,
- DS18B20, DS18S20, DS18B22, DS1820 from Dallas Semiconductor. A network of 10 has been tested OK, and more will probably work as well. Parasite mode is not supported. The sensor variant MAX31820 is likely to work as well since they should be compatible to DS18B20, but they have not been verified yet. Please let me know if they work so I can update this blog post.
- DHT22 Temperature and Humidity sensor (a.k.a. RHT03 and AM2302)
- HC-SR501 PIR-sensor to detect movement. It will send data whenever pin 4 goes from L to H. Actually this can be any sensor that have a 0V-5V TTL logic output.
The Wireless Multi-sensor will appear as if it was one or several single ESIC/Viking temperature sensors. All depending on how many sensors that has been added to the Wireless Multi-sensor device.
Here are some examples of the different configurations (esic_clone = Wireless Multi-sensor):
The details
More about the electrical schema and the program.
Hardware
Bill of materials
- PIC12F675- DS18X20 Dallas Temperature sensor(s) (Optional)
- DHT22 (a.k.a. RHT03 and AM2302) Temperature/Humidity sensor (Optional)
- HC-SR501 PIR sensor Google "DYP-ME003/Specification.pdf" (Optional)
- TX433 OOK/ASK transmitter module (i.e. FS1000A)
- R1 1k
- R2,R3 4k7
- LED
- 100nF decoupling capacitor
Power supply
Maximum voltage is limited by the PIC to 5.5V and minimum voltage is 3V.However, if a HC-SR501 PIR sensor is used the minimum voltage is 4.5V.
I recommend 3 AA(A) batteries, unregulated or 4 NiMH AA(A).
Software
This has been my first PIC microprocessor project, so I am not very familiar with PIC-assembler. The code could probably be optimised and for sure much better structured.Mandolyn protocol
There are several interpretations of the Mandolyn protocol on the internet. This is my interpretation of the protocol which I believe is the correct one ;)
- 4-bit Preamble
- 4-bit House Code (Either 6 byte 1-wire id XOR:ed or OSCCAL or PIR_SENSOR_ID)
- 2-bit Channel Code (Either 6 byte 1-wire id XOR:ed or OSCCAL or PIR_SENSOR_ID)
- 2-bit Unknown (Always b'11')
- 1-bit Battery status (Here always b'0')
- 7-bit Humidity (Represents battery status and/or Humidity depending on sensor)
- 12-bit Temperature from 1-wire sensors and/or DHT22
- 2-bit Packet sequence number (0-2)
- 2-bit Checksum (1st bit XOR all ODD bits, 2nd bit XOR all EVEN bits)
House Code (HC) and Channel Code (CC)
In the Mandolyn protocol the House code and Channel code is used to tell one sensor from another.I generate the HC and CC differently depending on the sensor.
- 1-wire sensor: HC and CC for each individual 1-wire sensor is generated from every individual sensors unique serial ID.
- DHC22: HC and CC for the DHC22 is generated from the OSCCAL register value, but could be hardcoded to another value if needed.
- Event sensor: HC and CC for the event sensor will be set by the PIR_SENSOR_ID parameter. Default value is HC=15 CC=4.
Note that the way the HC and CC for all sensors above is generated, implies that the HC and CC survive a battery change.
Humidity bits
The ESIC-sensor is sending the Humidity value as a 7-bit integer.In my Multi-sensor I have used the 7-bit humidity field to send the current battery status level when sending data from the 1-wire sensors. The value you get is dependent on Vdd. Anything from 3V to 5.5V should be OK to feed the circuit with. Lower numbers mean higher voltage. The voltage drop over the LED is used as a reference. In my case the voltage drop over the LED is 1.77V. This gives the following equation,
Vdd=Vdiod/Humidity/2*256
where Vdiod is the voltage drop over the diode and Humidity is the read value from the Tellstick.
Data packets sent from the DHT22 readings will contain the actual humidity.
In the case when activity is detected by the event sensor (i.e. PIR-sensor) the humidity field is
filled with data that should be different from the previously triggered event. The purpose with this is to make the sensor compatible with Beyond Measure, a very flexible, module based automation application.
Battery status bit
I have not used the battery status indicator flag in any way since it is ignored by Telldus.System defines
The system define SAMPLE_DELAY tell how many 2.6 second periods that should passuntil next sample-transmit round. This is 23 in the asm-code which corresponds to a transmission
approximately once every minute.
The system define PACKET_RESENDS specifies how many packets in every burst that should
be sent. Default is 3, just like the original ESIC-sensor.
There are also three forums where I have presented this project where you might find more information.
Svenska Elektronikforumet (Swedish)
Telldus Forum (English)
Temperatur.nu Forum (Swedish)
There are two variants of the implementation. Both have the same features but uses different protocols.
- esic_clone mimic ESIC sensors.
- fineoffset_clone mimic Viking sensors.
If you need to re-compile the code you will need MPLab X IDE that is free to download from here,
http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads
You can also buy a kit or the complete product from here.
There you will also find a Wireless Energy Meter compatible with Tellstick DUO/NET and RFXtrx433 that I will post as soon as it is verified.
/Niclas
Subscribe to:
Posts (Atom)













