Professional grade: Canique Temperature Sensor & Heat Control
Here I am introducing part of my project that I've been working on for the last couple of years (since 2016/2017).
Meet the temperature/humidity sensor (picture showing a prerelease state - the sensor will be upgraded soon):
+5 years battery lifetime (single AA alkaline battery) when sending every 30 seconds. (calculations rather suggest 7.5 years) Everything is highly optimized for low consumption. Almost no public library is used (most libraries don't offer superior quality).
400-800m range using 868 MHz carrier frequency
<2 ppm RTC @ room temperature. Algorithmic temperature compensation is done to reduce RTC offset.
Meet the heat control system supporting Vaillant 7-8-9 interface (again a prelease version):
LEDs and button on the back are hidden in the picture.
The device is able to control the water temperature in Vaillant boilers (and other manufacturers using the same interface). It isn't just using on/off switching. It sets the water temperature between 30°C and 90°C.
- 5-28V input voltage
- output range 3V-24V
- ~6mV output resolution
- Automatic calibration to heating system voltage
- Automatic detection of stable or oscillating voltage at startup
- Many error checks to detect unconnected wire and the like
- Radio: 868 MHz
- Automatic off state when no radio message is received for 5 minutes
- expected power consumption in operating mode < 0.1W
- expected power consumption in standby mode < 0.05W
- button to switch between modes - device can be "disconnected" from heating system by pressing the button (gives control back to the heating system)
The 3rd part of the whole story is the gateway. There is no picture of the gateway yet. It's a complete mini-computer though (no ESPxxx and the like), offering ethernet and an MQTT API.
It's equipped with 4 cpu cores, 512MB RAM, and an external 868MHz antenna.
What I forgot to write:
The whole ecosystem consists of:
- Temperature / Humidity Sensor
- Reed Sensor
- Vaillant Heat Control
- Android App
- Web Client
evb last edited by
It is not clear to me if these are mysensors compatible nodes or a system with its own libraries and therefore must be integrated separately in your home controller system?
@evb For wireless 868 MHz communication the system uses its own protocol, designed for security and short messages. (For example I use every bit of the message, bit shifting etc. is applied to minimize payload length.)
From a programming perspective it isn't based on 8Bit. It's 32Bit, Cortex-M0+. Programmed in C/C++. Typical power consumption of the whole sensor node in sleep @ 1.85V = 1uA (1020 nA to be accurate).
For integration into your home controller system, the Gateway is the right place. You send MQTT messages to / receive MQTT messages from the Gateway. It talks to the nodes, you talk to the Gateway.
So the final picture looks like this (from a developer perspective):
You send a message to the Gateway saying "Set boiler temperature to 54°C" and get back an ACK. The temperature is set.
Or you subscribe to an MQTT channel from the gateway and then are notified about every change on that channel until you unsubscribe. E.g temperature/humidity in refrigerator. You also get the latest value of that channel upon subscription immediately.
To name a few, there are channels for battery voltage, sensor values, firmware revision, sensor label.
The gateway also supports:
Configuring alarms (again via MQTT) and being notified about alarm conditions. You send a JSON message with alarm parameters, like time + trigger (like humidity must be below/above threshold) and then get notified on an MQTT alarm channel.
Puneit Thukral last edited by
You mentioned that it’s running on single AA battery and in the text input voltage is 5V. I am not clear on this part.
Which microcontroller are you using. My limited knowledge tells me that arduino can go only as low as 1.8v input voltage to work. How are you running the board with single AA battery. I am very interested to know.
monte last edited by
Is it open sourse? And the most interesting part for me would be the gateway, do you use your own design, or readily available RaspberryPi-like board?
@Puneit-Thukral You're mixing up the sensor node and the Vaillant heat control system. The minimum input voltage is 5V for the heat control system (only). This has nothing to do with the used MCU, but the 7-8-9 Vaillant interface usually works with 24V. So usually the input voltage is 24V anyway.
The interface for the Vaillant heat system is usually as follows:
24V input => roughly 11V to 17V output on the CTL pin to regulate the boiler temperature
If you used 5V on the input you'd only be able to regulate up to max. 5V.
The Vaillant heat control system (it's the second picture, the one with the box) does not run from batteries. It gets power directly from the Vaillant (or compatible) heating system.
The single AA battery temperature/humidity node runs from a single 0.8V-1.6V battery. You can see the battery in the picture - in this case it's an Eneloop although I'd recommend Alkaline batteries for devices that run for years. To run from a single battery the node has a boost circuit integrated that boosts the voltage to 1.85V.
On all devices (sensor nodes, heating control, gateway) I'm using a variant of ARM Cortex M0+ or Cortex M0. (Eventually it will all be Cortex M0+). This 32 Bit architecture is superior to Atmega328P (the typical MCU used in Arduinos) in every respect (be it power efficiency, pure performance, sleep current with wakeup timer, price to performance/flash size ratio, peripherals quality and quantity, etc etc.). Just 1 example: the used ADC is 12 Bit with hardware oversampling support (vs 10 Bit without oversampling on Atmega328)
@monte I'll sum it up:
Android App - might be open source in the future
Gateway - not open source, but open
Server Code (cloud) - no
Sensor Node - no
Heat Control - no
In the future the Android App might become open source. Anybody can build a UI, because the data needed for that is available from the gateway.
I wish I'd use my own design for the gateway but to finance that, I'd have to sell thousands of these devices because it's a very time intensive task requiring specialists. Currently the gateway is running on an Orange Pi Zero board with a custom hat. This is why it's the most expensive part. The communication Orange Pi <-> Hat is via USART.
The temperature node has its own web page now: Canique Climat
Canique Climat mounted outside with 2 screws. Venting holes on the left and downside.
Uses a brand new onboard temperature/humidity sensor.
This is what a Bosch freezer looks like when measured over 24 hours. It is set to cool down to -18°C. Measurement is done in the top drawer (afaik the coldest one)
Not sure what the point is to post your projects here in the MySensors forum.
This is an open source/open hadware community. So unless you plan to open source them, please use some other channel to advertise your commercial projects.
bjacobse last edited by
Regardless if this is just an ad for his own work, selling this is illegal, as all devices within EU, that contains a RF transmitter MUST be certified by a "notified body"
So you shall pay for a independent company to test your device and provide a test report and then you must label this info to your device...
I trust this have NOT been done, until documentation proves me wrong
And if you want to sell in US then they require a similar approval
This does NOT apply for prototype devices... which is what we do when we solder electronics ourselves
monte last edited by monte
@bjacobse even if it uses certified components? Like let's say wifi modules with fcc certification? So radio module certification isn't enough and you need to repeat certification for the whole device? And if you change the design slightly, do it again?
I am just curious.
bjacobse last edited by bjacobse
Yes, even that the wifi module is certified, does not conclude that your design that uses the certified module is approved and sellable.
so yes you need to certify your own design
An old topic about the approval is discussed in this link
And to make it more expensive/difficult, you need different approvals for different regions in the world, you can read a bit more from this link:
It's always nice to see what people can accomplish. It looks professional and I'm impressed with the battery lifetime. But if it's not open source and I can not create sensors / actuators with it myself. It's probably not something I will go for. In my country using 868Mhz is not available for use in home automation. You need to have a permit to transmit on that frequency.
Since Ikea started to use Zigbee in their products, Zigbee technology became cheap and many devices are available (good reliable smoke detectors e.g.) also on Aliexpress. And it's easy to integrate in most home automation system. So to me if I can buy something that meets my requirements for cheap I'll go that route.
As I already have a mash up of different technologies for my home automation I'm not really that keen on using yet another one. Right now I have Ikea Tradfri, RF, Zwave, Zigbee and MySensors. For that same reason I don't use Tasmato e.g.
I use my sensors for all the things I create, which are things I can't buy or just don't provide the features I want. Or because I love the things other creators have made, like the sense bender and the mysensors gateway.
I just think the mySensors audience is not the people that are looking for yet another product like the one in this post. Most build things like this themself. Not always because it's cheaper, but always because we can.