Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. My Slim 2AA Battery Node

My Slim 2AA Battery Node

Scheduled Pinned Locked Moved My Project
498 Posts 71 Posters 342.5k Views 69 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • m26872M Offline
    m26872M Offline
    m26872
    Hardware Contributor
    wrote on last edited by m26872
    #116

    Reed Switch example
    With external 10M pull-up to save battery. The plastic foam is used instead of a fixed mount, for easy disassemble, reflash, battery renewal etc.
    bild1.jpg
    bild2.jpg
    bild3.jpg
    bild4.jpg
    bild5.jpg
    bild6.jpg

    The Sketch

    // EgSlimReed2
    // By m26872, 2015-12-22
    // Interrupt driven binary switch for Slim Node with Reed switch and external pull-up (10Mohm)
    // Inspired by mysensors example:
    // https://github.com/mysensors/Arduino/blob/master/libraries/MySensors/examples/BinarySwitchSleepSensor/BinarySwitchSleepSensor.ino
    
    #include <MySensor.h>
    #include <SPI.h>
    #include <Vcc.h>
    
    #define NODE_ID 5 //12 var senaste "reed-node"-id // 110    // Use static Node_ID  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    #define SKETCH_NAME "EgSlimReed"
    #define SKETCH_VERSION "2.0 2015-12-22"
    #define SW_CHILD_ID 5
    #define SW_PIN 3
    #define BATTERY_REPORT_DAY 2   // Desired heartbeat interval when inactive. Maximum heartbeat/report interval is equal to this due to the dayCounter.
    #define BATTERY_REPORT_BY_IRT_CYCLE 10  // Adjust this according to usage frequency.
    #define ONE_DAY_SLEEP_TIME 86400000
    #define VCC_MIN 1.9
    #define VCC_MAX 3.3
    
    int dayCounter = 0;
    int irtCounter = 0;
    uint8_t value;
    uint8_t sentValue=2;
    bool interruptReturn=false;
     
    Vcc vcc;
    MySensor gw;
    MyMessage msg(SW_CHILD_ID, V_TRIPPED);
    
    void setup()  
    {  
      delay(100); // to settle power for radio
      gw.begin(NULL,NODE_ID);
      pinMode(SW_PIN, INPUT);
      digitalWrite(SW_PIN, LOW);    // Disable internal pull-ups
      gw.sendSketchInfo(SKETCH_NAME, SKETCH_VERSION);
      gw.present(SW_CHILD_ID, S_DOOR);  
    }
    
    void loop() 
    {
      if (!interruptReturn) { // Woke up by timer (or first run)
    	dayCounter++; 
    	if (dayCounter >= BATTERY_REPORT_DAY) {
    		  dayCounter = 0;
    		  sendBatteryReport();
    	}
      }
      else {	// Woke up by pin change
    	  irtCounter++;
    	  gw.sleep(50);  	  // Short delay to allow switch to properly settle
    	  value = digitalRead(SW_PIN);
    	  if (value != sentValue) {
    		 gw.send(msg.set(value==HIGH ? 1 : 0));
    		 sentValue = value;
    	  }
    	  if (irtCounter>=BATTERY_REPORT_BY_IRT_CYCLE) {
    		irtCounter=0;
    		sendBatteryReport();
    	  }
      }
    
      // Sleep until something happens with the sensor,   or one sleep_time has passed since last awake.
      interruptReturn = gw.sleep(SW_PIN-2, CHANGE, ONE_DAY_SLEEP_TIME);
    
    } 
    
    void sendBatteryReport() {
    		  float p = vcc.Read_Perc(VCC_MIN, VCC_MAX, true);
    		  int batteryPcnt = static_cast<int>(p);
    		  gw.sendBatteryLevel(batteryPcnt);
    }
    
    1 Reply Last reply
    5
    • m26872M Offline
      m26872M Offline
      m26872
      Hardware Contributor
      wrote on last edited by
      #117

      Motion sensor example
      As already mentioned; more details to be found here.http://forum.mysensors.org/topic/2715/slim-node-as-a-mini-2aa-battery-pir-motion-sensor

      20160102_001318.jpg

      1 Reply Last reply
      2
      • dakkyD Offline
        dakkyD Offline
        dakky
        wrote on last edited by
        #118

        do u add these photos and comments to openhardware.io ? they are quite helpful

        Controller: Raspberry Pi 2 :: Openhab2 :: with @TimO MySensors Binding
        Gateway: Arduino MEGA 2560 R3 :: W5100 :: Ethernet GW

        Software: MySensors 2.0development

        1 Reply Last reply
        0
        • m26872M m26872

          Humidity Sensor example
          http://forum.mysensors.org/topic/3049/slim-node-si7021-sensor-example

          (This post used to contain a not yet finished design by mistake. The link above now shows the correct finished project.)

          AWIA Offline
          AWIA Offline
          AWI
          Hero Member
          wrote on last edited by
          #119

          @m26872 I don't use any I2C pull-ups. All my Si7021/ SHT21 (GY-21) boards include the SDA/SCL pull-ups (and LDO voltage regulator/ level conversion).

          m26872M rsachocR 2 Replies Last reply
          0
          • AWIA AWI

            @m26872 I don't use any I2C pull-ups. All my Si7021/ SHT21 (GY-21) boards include the SDA/SCL pull-ups (and LDO voltage regulator/ level conversion).

            m26872M Offline
            m26872M Offline
            m26872
            Hardware Contributor
            wrote on last edited by m26872
            #120

            @AWI
            Oops, it makes me worried that I completely forgot that this project was in some test stage. Ldo and everything should probably be bypassed, but I wanted to test it first. Post edited. Thanks for noticing!

            And sorry for everyone else if this caused any trouble.

            (It also makes me a little worried about that I have too many ongoing projects right now. :confounded: )

            1 Reply Last reply
            0
            • AWIA AWI

              @m26872 I don't use any I2C pull-ups. All my Si7021/ SHT21 (GY-21) boards include the SDA/SCL pull-ups (and LDO voltage regulator/ level conversion).

              rsachocR Offline
              rsachocR Offline
              rsachoc
              wrote on last edited by
              #121

              @AWI said:

              @m26872 I don't use any I2C pull-ups. All my Si7021/ SHT21 (GY-21) boards include the SDA/SCL pull-ups (and LDO voltage regulator/ level conversion).

              @m26872 said:

              @AWI
              Oops, it makes me worried that I completely forgot that this project was in some test stage. Ldo and everything should probably be bypassed, but I wanted to test it first. Post edited. Thanks for noticing!

              And sorry for everyone else if this caused any trouble.

              (It also makes me a little worried about that I have too many ongoing projects right now. :confounded: )

              Apologies again, so that I understand it, does that mean when adding the mentioned temp sensor nodes I need additional parts?

              m26872M 1 Reply Last reply
              0
              • rsachocR rsachoc

                @AWI said:

                @m26872 I don't use any I2C pull-ups. All my Si7021/ SHT21 (GY-21) boards include the SDA/SCL pull-ups (and LDO voltage regulator/ level conversion).

                @m26872 said:

                @AWI
                Oops, it makes me worried that I completely forgot that this project was in some test stage. Ldo and everything should probably be bypassed, but I wanted to test it first. Post edited. Thanks for noticing!

                And sorry for everyone else if this caused any trouble.

                (It also makes me a little worried about that I have too many ongoing projects right now. :confounded: )

                Apologies again, so that I understand it, does that mean when adding the mentioned temp sensor nodes I need additional parts?

                m26872M Offline
                m26872M Offline
                m26872
                Hardware Contributor
                wrote on last edited by
                #122

                @rsachoc My mistake and my apology. Unfortunatly I can't even finish and share the resluts from that humidity sensor in a while since I'm leaving for a few weeks holiday.

                Anyway
                @riataman Shows a mod of the GY-21 board in this post. He also link to a board without the LDO and level converter. In any case you wont need the two 4k7 pull-up in my pictures above, only if use the bare chip.

                1 Reply Last reply
                0
                • ahmedadelhosniA Offline
                  ahmedadelhosniA Offline
                  ahmedadelhosni
                  wrote on last edited by
                  #123

                  What about using a hall effect sensor to detect magnet ?

                  I have a door sensor using the same contact sensor, but I also have a hall effect sensor and I hope to test it soon. It is very small compared to the contact sensor.

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    sensorchecker
                    wrote on last edited by
                    #124

                    Hello m26872,
                    your project is great, and i will order tomorrow a set of PCBs.
                    I've done a breadboard setup with the SI7021 according to your schematic and your sketch, which works flawlessly.
                    (ATmega328P / SI7021 / NRF24L01 / 2xAA Battery / your 1Mhz bootloader / your Fuse Settings)

                    Unfortunately I do not get the current consumption below 2mA.
                    What to do to get the power consumption below 10uA and to increase the battery life on a couple of years ?
                    Any help is appreciated...

                    AWIA 1 Reply Last reply
                    0
                    • S sensorchecker

                      Hello m26872,
                      your project is great, and i will order tomorrow a set of PCBs.
                      I've done a breadboard setup with the SI7021 according to your schematic and your sketch, which works flawlessly.
                      (ATmega328P / SI7021 / NRF24L01 / 2xAA Battery / your 1Mhz bootloader / your Fuse Settings)

                      Unfortunately I do not get the current consumption below 2mA.
                      What to do to get the power consumption below 10uA and to increase the battery life on a couple of years ?
                      Any help is appreciated...

                      AWIA Offline
                      AWIA Offline
                      AWI
                      Hero Member
                      wrote on last edited by
                      #125

                      @sensorchecker A power consumption of 2mA is way out of range. Is your sensor entering sleep? Or an ftdi adapter still connected?

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        arnoldg
                        wrote on last edited by
                        #126

                        can i run it on 5V without any problem.

                        For the RF433 interface i need 5V so i would like to make one that is powerd by an usb charger.

                        m26872M 1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          sensorchecker
                          wrote on last edited by
                          #127

                          @AWI

                          No FTDI Adapter, no LED and nothing else is connected.
                          I build the node like the schematic in the first post.
                          When i start the sensor node, power consumption is about 16mA.
                          After a few seconds (4-5sec) the current goes down to 2mA

                          Can you please tell me, how to find out, that the node is in sleep mode
                          I have really no idea how to fix that.. but i have to, because i ordered the PCBs today!

                          Thanks for your help

                          m26872M 1 Reply Last reply
                          0
                          • S sensorchecker

                            @AWI

                            No FTDI Adapter, no LED and nothing else is connected.
                            I build the node like the schematic in the first post.
                            When i start the sensor node, power consumption is about 16mA.
                            After a few seconds (4-5sec) the current goes down to 2mA

                            Can you please tell me, how to find out, that the node is in sleep mode
                            I have really no idea how to fix that.. but i have to, because i ordered the PCBs today!

                            Thanks for your help

                            m26872M Offline
                            m26872M Offline
                            m26872
                            Hardware Contributor
                            wrote on last edited by m26872
                            #128

                            @sensorchecker I think you should start with a simple example like the "reed switch sensor" and by looking at the other sketches you should be able to add some debug prints yourself. You only need a high ohm resitor 1M-10M and two pieces of wire to simulate a button or switch.

                            1 Reply Last reply
                            0
                            • A arnoldg

                              can i run it on 5V without any problem.

                              For the RF433 interface i need 5V so i would like to make one that is powerd by an usb charger.

                              m26872M Offline
                              m26872M Offline
                              m26872
                              Hardware Contributor
                              wrote on last edited by
                              #129

                              @arnoldg The nRf24L01+ is rated like 1.9-3.7V. So 5V will probably kill it.

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                arnoldg
                                wrote on last edited by
                                #130

                                Oke, that's tru i didn't think of that.
                                but when i use a 5v - 3v power suply in between it could work.

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  sensorchecker
                                  wrote on last edited by
                                  #131

                                  @m26872
                                  I have already tested the "reed switch sensor" and it works fine for me- but with a power consumption of 2mA ...:-(
                                  Is it possible that i have a problem with the bootloader or the fuses ?
                                  How can i check that ?
                                  Usually i use USBASP and avrdude for programming the processors on breadboards.
                                  Is it also possible to do the whole programming with the arduino IDE ?

                                  ahmedadelhosniA 1 Reply Last reply
                                  0
                                  • S sensorchecker

                                    @m26872
                                    I have already tested the "reed switch sensor" and it works fine for me- but with a power consumption of 2mA ...:-(
                                    Is it possible that i have a problem with the bootloader or the fuses ?
                                    How can i check that ?
                                    Usually i use USBASP and avrdude for programming the processors on breadboards.
                                    Is it also possible to do the whole programming with the arduino IDE ?

                                    ahmedadelhosniA Offline
                                    ahmedadelhosniA Offline
                                    ahmedadelhosni
                                    wrote on last edited by
                                    #132

                                    @sensorchecker did you try changing your nrf ?

                                    1 Reply Last reply
                                    0
                                    • BartEB Offline
                                      BartEB Offline
                                      BartE
                                      Contest Winner
                                      wrote on last edited by
                                      #133

                                      @sensorchecker and @m26872 changing the NRF module did work for me as well.

                                      I was struggling a lot getting the power consumption down using all the trick and tips as described on the mysensors forum but nothing worked for by battery powered nodes (i have a couple these ).

                                      I was not able to bring the power consumption down below 2.4 mA (with the NFR mounted) finally i just, for an differnt experiment, i took a "fresh"NRF and just for the fun i measured the current and it was down to 0.05 mA for no reason. They came from the same batch.

                                      My theory now is that i broke the first radio module during programming of the node, although the FTDI serial module is in 3.3v mode it still measures around 4.5 volt. So the voltage might has damaged my NRF radio a bit (it still communicates).

                                      1 Reply Last reply
                                      1
                                      • S Offline
                                        S Offline
                                        sensorchecker
                                        wrote on last edited by
                                        #134

                                        @ahmedadelhosni and @BartE and @m26872 you made my day...!
                                        Changing the NRF module was the solution, now my power consumption is about 8uA.
                                        Now waiting for the PCBs and parts to build 10- 15 nodes

                                        Thank you so much for your help

                                        1 Reply Last reply
                                        0
                                        • F Offline
                                          F Offline
                                          flopp
                                          wrote on last edited by
                                          #135

                                          There is no crystal?

                                          I haven't used Atmega328P as standalone but I have read that you need a crystal.

                                          m26872M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          14

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular