Principles

  • Limit power consumption:

https://forum.mysensors.org/topic/1287/door-window-sensor-consuming-more-power-when-closed/5

try a 1 MOhm pull up and disable the internal. Hardware debounce is the way to go. Add 100nF to ground and 10k in series with the contact.

  • Use an Arduino Pro Mini 3V3 to keep the cost down (compared to the sensebender).
  • Use hardware debouncing (or none), but not the software debouncing library, since that one is guaranteed to give trouble combined with sleep mode.
  • The Arduino 3.3V 8mhz can handle down to roughly 2.8V and the Nrf24l01+ down to 1.9V. Hence the batteries can not be NiMH rechargeables - Alkaline or Lithium required. We use a CR2450 coin cell which gives 3V.
  • Program the BOD to 0xFE = 1.8V.
  • Prepare the Arduino Pro Mini for use with a battery supply: remove the power LED, remove the voltage regulator.
  • Add a Si7021 module to measure temperature and humidity.

The result

Isolation between the boards, prepare headers for support

Isolation between the boards, prepare headers for support

Leave the 4th hole free

Leave the 4th hole (=D6) free

Ready to solder the 4th hole

Ready to solder the 4th hole

Soldering the hole is done

Soldering the hole is done

Soldering the D6 hole is done - other side

Soldering the D6 hole is done - other side

Soldering the 8 holes is done

Soldering the 8 holes is done

Soldering the capacitor, resistor, ground, supply and pinheader done

Soldering the capacitor, resistor, ground, supply and pinheader done

Prepared for battery supply: remove LED, regulator

Prepared for battery supply: remove LED, regulator

Added the SI7021 temperature and humidity sensor

Added the SI7021 temperature and humidity sensor

Connected the IRQ of the radio

Connected the IRQ of the radio

Connecting external parts in the box

Connecting external parts in the box

Later, the components were reorganized in the box

Later, the components were reorganized in the box

Used Components

Wiring

Component Pin Wire/Component Pin Component
ArduinoProMini3V VCC red plus Battery CR2450
ArduinoProMini3V GND black min Battery CR2450
GND GND Reed Contact D3 ArduinoProMini3V
ArduinoProMini3V VCC Resistor > 3M Ohm D3 ArduinoProMini3V
AdapterProMiniForNrfSmd IRQ green D2 ArduinoProMini3V
Si7021Module VCC red VCC ArduinoProMini3V
Si7021Module GND black GND ArduinoProMini3V
Si7021Module SCL A5 Purple ArduinoProMini3V
Si7021Module SDA A4 Green ArduinoProMini3V

Programming

  • Select as board: Arduino Pro or Pro Mini
  • Processor: ATmega328P (3.3V, 8MHz)
  • Serial monitor: 19200 Baud
  • Use platformio

Code at: CoinCellNode.ino

First sign of life

 __  __       ____
|  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
| |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
| |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
|_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
        |___/                      2.3.2

104 MCO:BGN:INIT NODE,CP=RNNNA---,FQ=8,REL=255,VER=2.3.2
167 TSM:INIT
174 TSF:WUR:MS=8000
190 TSM:INIT:TSP OK
200 TSF:SID:OK,ID=16
212 TSM:FPAR
223 ?TSF:MSG:SEND,16-16-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
835 TSF:MSG:READ,0-0-16,s=255,c=3,t=8,pt=1,l=1,sg=0:0
862 TSF:MSG:FPAR OK,ID=0,D=1
1193 TSF:MSG:READ,7-7-16,s=255,c=3,t=8,pt=1,l=1,sg=0:1
1689 TSF:MSG:READ,10-10-16,s=255,c=3,t=8,pt=1,l=1,sg=0:1
2263 TSM:FPAR:OK
2271 TSM:ID
2277 TSM:ID:OK
2285 TSM:UPL
2297 TSF:MSG:SEND,16-16-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
2334 TSF:MSG:READ,0-0-16,s=255,c=3,t=25,pt=1,l=1,sg=0:1
2363 TSF:MSG:PONG RECV,HP=1
2377 TSM:UPL:OK
2387 TSM:READY:ID=16,PAR=0,DIS=1
2408 TSF:MSG:SEND,16-16-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
2447 TSF:MSG:READ,0-0-16,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
2482 TSF:MSG:SEND,16-16-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.3.2
2523 TSF:MSG:SEND,16-16-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
2560 TSF:MSG:READ,0-0-16,s=255,c=3,t=6,pt=0,l=1,sg=0:M
2594 TSF:MSG:SEND,16-16-0-0,s=255,c=3,t=11,pt=0,l=14,sg=0,ft=0,st=OK:Coin Cell Node
2639 TSF:MSG:SEND,16-16-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
2682 TSF:MSG:SEND,16-16-0-0,s=1,c=0,t=6,pt=0,l=17,sg=0,ft=0,st=OK:CCN - Temperature
2729 TSF:MSG:SEND,16-16-0-0,s=2,c=0,t=7,pt=0,l=14,sg=0,ft=0,st=OK:CCN - Humidity
2777 TSF:MSG:SEND,16-16-0-0,s=3,c=0,t=0,pt=0,l=18,sg=0,ft=0,st=OK:CCN - Reed contact
2822 MCO:REG:REQ
2836 TSF:MSG:SEND,16-16-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
2873 TSF:MSG:READ,0-0-16,s=255,c=3,t=27,pt=1,l=1,sg=0:1
2902 MCO:PIM:NODE REG=1
2914 MCO:BGN:STP
Coin Cell Node 1.0 Channel 125 - Online!
2940 MCO:BGN:INIT OK,TSP=1
Wake up - now minute -1
2975 TSF:MSG:SEND,16-16-0-0,s=3,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1
Reed contact changed without interrupt - now open
T: 21.84
H: 62.00
TempDiff :121.84
HumDiff  :162.00
3061 TSF:MSG:SEND,16-16-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:21.8
3125 TSF:MSG:SEND,16-16-0-0,s=2,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=OK:62
3160 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
3188 TSF:TDI:TSL
3196 MCO:SLP:WUP=-1
3209 TSF:TRI:TSB
Wake up - now minute 0
T: 21.80
H: 62.00
TempDiff :0.04
HumDiff  :0.00
3256 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
3307 TSF:TDI:TSL
3315 MCO:SLP:WUP=-1
3328 TSF:TRI:TSB
Wake up - now minute 1
T: 21.69
H: 62.00
TempDiff :0.15
HumDiff  :0.00
3373 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
3424 TSF:TDI:TSL
3434 MCO:SLP:WUP=-1
3444 TSF:TRI:TSB
Wake up - now minute 2
T: 21.54
H: 62.50
TempDiff :0.30
HumDiff  :0.50
3491 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
3543 TSF:TDI:TSL
3553 MCO:SLP:WUP=-1
3563 TSF:TRI:TSB
Wake up - now minute 3
T: 21.42
H: 63.00
TempDiff :0.42
HumDiff  :1.00
3614 TSF:MSG:SEND,16-16-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:21.4
3676 TSF:MSG:SEND,16-16-0-0,s=2,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=OK:63
3710 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
3739 TSF:TDI:TSL
3749 MCO:SLP:WUP=-1
3760 TSF:TRI:TSB
Wake up - now minute 4
T: 21.27
H: 63.00
TempDiff :0.15
HumDiff  :0.00
3807 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
3858 TSF:TDI:TSL
3866 MCO:SLP:WUP=1
3876 TSF:TRI:TSB
3895 TSF:MSG:SEND,16-16-0-0,s=3,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:0
Reed contact changed - now closed
3948 MCO:SLP:MS=100,SMS=0,I1=255,M1=255,I2=255,M2=255
3977 TSF:TDI:TSL
3987 MCO:SLP:WUP=-1
3997 TSF:TRI:TSB
Wake up - now minute 5
4028 TSF:MSG:SEND,16-16-0-0,s=3,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1
Reed contact changed without interrupt - now open
T: 21.23
H: 63.50
TempDiff :0.19
HumDiff  :0.50
4110 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
4161 TSF:TDI:TSL
4171 MCO:SLP:WUP=-1
4182 TSF:TRI:TSB
Wake up - now minute 6
4210 TSF:MSG:SEND,16-16-0-0,s=3,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1
Reed contact repeat last message - now open
T: 21.20
H: 63.50
TempDiff :0.22
HumDiff  :0.50
4290 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
4341 TSF:TDI:TSL
4352 MCO:SLP:WUP=-1
4362 TSF:TRI:TSB
Wake up - now minute 7
4392 TSF:MSG:SEND,16-16-0-0,s=3,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1
Reed contact repeat last message - now open
T: 21.53
H: 65.50
TempDiff :0.11
HumDiff  :2.50
4476 TSF:MSG:SEND,16-16-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:21.5
4538 TSF:MSG:SEND,16-16-0-0,s=2,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=OK:66
4573 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
4599 TSF:TDI:TSL
4610 MCO:SLP:WUP=-1
4620 TSF:TRI:TSB
Wake up - now minute 8
4651 TSF:MSG:SEND,16-16-0-0,s=3,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1
Reed contact repeat last message - now open
T: 21.42
H: 65.50
TempDiff :0.11
HumDiff  :0.00
4730 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255
4782 TSF:TDI:TSL
4792 MCO:SLP:WUP=-1
4802 TSF:TRI:TSB
Wake up - now minute 9
Tags: domotica nodes
Comments: