Skip to content
  • 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. Announcements
  3. 💬 Battery Powered Sensors
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

💬 Battery Powered Sensors

Scheduled Pinned Locked Moved Announcements
battery
347 Posts 55 Posters 66.9k Views 53 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.
  • T tssk

    Hello

    I would like to ask for help with passive battery powered node I created with following components:

    • Arduino pro mini 8MHz - voltage regulator and power LED removed
    • SX1276 based 868MHz LoRa radio
    • BME680 sensor
    • DC-DC 3.3V step-up booster

    I created a battery measuring circuit according to scheme on this page ( https://www.mysensors.org/build/battery ).

    The problem is the two fresh new AA batteries lasted less than 14 days and stopped when the circuit measured 36%.

    2x1.5V AA Aerocell following start and end values:

    09.02.2021 16:45 102% (start) : 1.610V and 1.610V
    22.02.2021 04:15 36% (end) : 1.001V and -0.150V

    2021-02-25_07-36.png

    The node code is sleeping for 6 minutes between each sensing and sending data.

    sleep(180000);
    

    14 days seems very short to me. Is that normal? Is there something I can to make it last longer?

    Thanks

    mfalkviddM Offline
    mfalkviddM Offline
    mfalkvidd
    Mod
    wrote on last edited by mfalkvidd
    #283

    @tssk could you post your sketch? Some things that could draw power:

    • bme not turned off properly when sleeping the node
    • lora transmits can take a long time, depending on which settings are used

    Which booster are you using? A good booster will use almost no power when the node is sleeping. A bad booster will consume almost as much as if the node was not sleeping, so the performance of the booster will make a huge difference.

    T 1 Reply Last reply
    1
    • T tssk

      Hello

      I would like to ask for help with passive battery powered node I created with following components:

      • Arduino pro mini 8MHz - voltage regulator and power LED removed
      • SX1276 based 868MHz LoRa radio
      • BME680 sensor
      • DC-DC 3.3V step-up booster

      I created a battery measuring circuit according to scheme on this page ( https://www.mysensors.org/build/battery ).

      The problem is the two fresh new AA batteries lasted less than 14 days and stopped when the circuit measured 36%.

      2x1.5V AA Aerocell following start and end values:

      09.02.2021 16:45 102% (start) : 1.610V and 1.610V
      22.02.2021 04:15 36% (end) : 1.001V and -0.150V

      2021-02-25_07-36.png

      The node code is sleeping for 6 minutes between each sensing and sending data.

      sleep(180000);
      

      14 days seems very short to me. Is that normal? Is there something I can to make it last longer?

      Thanks

      skywatchS Offline
      skywatchS Offline
      skywatch
      wrote on last edited by skywatch
      #284

      @tssk Sending 240 messages a day is quite a lot for a battery node. I think you will need higher capacity batteries with that frequency of sending (is it really essential to send that often I wonder?).

      Anyway, I am also testing battery nodes and as far as I can see the lora and bme are likely taking a lot of power. They must be 'put to sleep' as much as possible. AFAIK lora is an abbreviation of 'long range' and therefore means 'more power'. Can you test the current drawn by just the radio in sleep and transmitting?

      Also, bootloader - I highly recommend using the minicore bootloader with internal 8MHz, bod as you wish (I ususally disable) and try again. My sleeping nodes use less than 5uA in sleep and I am trying to get that even lower this week.

      Also check the value of pull-upresistors on the boards, they can be on the low side and perhaps better with higher value external ones (something I hope to test tomorrow as it happens).

      Also temperature and humidity will have an effect. I put one test node on a colder NE facing window which has slept all the time except a twice daily battery check and send value only if changed. It is the only node to have changed from 100% to 99% in a week, so the colder window is clearly having an effect on the battery life in this situation.

      As @mfalkvidd implied I would get rid of the stepup booster if at all possible, they are not so efficient and can produce a lot of noise on the power line. Can you go to 3xAA batteries? What about an 18650 li-on or two in parallel?

      Finally check solder joints. A dry joint or cold joint may look OK but measure them with a meter just to make sure.

      T 1 Reply Last reply
      0
      • mfalkviddM mfalkvidd

        @tssk could you post your sketch? Some things that could draw power:

        • bme not turned off properly when sleeping the node
        • lora transmits can take a long time, depending on which settings are used

        Which booster are you using? A good booster will use almost no power when the node is sleeping. A bad booster will consume almost as much as if the node was not sleeping, so the performance of the booster will make a huge difference.

        T Offline
        T Offline
        tssk
        wrote on last edited by
        #285

        @mfalkvidd

        • I did not know that I need to turn BME off ů how to do that?

        • Only thing I found is that Arduino has deepSleep() - but I am not sure if I can use it.

        • I am using the default Bw125Cr45Sf128 but thinking about testing Bw125Cr48Sf4096 to achieve greater range.

        • Booster is the whining one - https://www.laskarduino.cz/step-up-boost-menic-s-me2108-33v-480ma/

        • Is there a way I can measure power draw with multimeter?

        // Enable debug prints
        //#define MY_DEBUG
        
        // Enable passive mode
        #define MY_PASSIVE_NODE
        
        // Passive mode requires static node ID
        #define MY_NODE_ID 100
        
        // Enable and select radio type attached
        //#define MY_RADIO_RF24
        //#define MY_RADIO_NRF5_ESB
        //#define MY_RADIO_RFM69
        #define MY_RADIO_RFM95
        
        //#define MY_DEBUG_VERBOSE_RFM95
        #define MY_RFM95_FREQUENCY (RFM95_868MHZ)
        //#define MY_RFM95_MODEM_CONFIGRUATION RFM95_BW31_25CR48SF512
        #define MY_RFM95_CS_PIN 8
        #define MY_RFM95_IRQ_PIN 2
        
        #include <MySensors.h>
        #include <Wire.h>
        #include <SPI.h>
        #include <Adafruit_Sensor.h>
        #include "Adafruit_BME680.h"
        
        #define BME_SCK 13
        #define BME_MISO 12
        #define BME_MOSI 11
        #define BME_CS 10
        
        //#define SEALEVELPRESSURE_HPA (1013.25)
        
        // Initialize general message
        MyMessage msgTemp( 1, V_TEMP );
        MyMessage msgHumi( 2, V_HUM );
        MyMessage msgAirq( 3, V_LEVEL );
        
        //Adafruit_BME680 bme; // I2C
        Adafruit_BME680 bme(BME_CS); // hardware SPI
        //Adafruit_BME680 bme(BME_CS, BME_MOSI, BME_MISO,  BME_SCK);
        
        void setup()
        {
          analogReference(INTERNAL);
        
          if (!bme.begin()) {
            Serial.println( "ERR: BME680 not found" );
            while (1);
          }
          // Set up oversampling and filter initialization
          bme.setTemperatureOversampling(BME680_OS_8X);
          //bme.setPressureOversampling(BME680_OS_4X);
          bme.setHumidityOversampling(BME680_OS_2X);
          bme.setIIRFilterSize(BME680_FILTER_SIZE_3);
          bme.setGasHeater(320, 150); // 320*C for 150 ms
        
          delay(2000);
          
        }
        
        void presentation()
        {
        	// Send the sketch version information to the gateway and controller
        	sendSketchInfo("Room sensor", "4.0");
        
        	// Register all sensors to gw (they will be created as child devices)
          wait(100);
        	present( 1, S_TEMP );
          wait(100);
          present( 2, S_HUM );
          wait(100);
          present( 3, S_AIR_QUALITY );
        
        }
        
        void loop()
        {
        
          int batt = analogRead( A3 );
          // 1M, 470K divider across battery and using internal ADC ref of 1.1V
          // Sense point is bypassed with 0.1 uF cap to reduce noise at that point
          // ((1e6+470e3)/470e3)*1.1 = Vmax = 3.44 Volts
          // 3.44/1023 = Volts per bit = 0.003363075
          int battP = batt / 10;
          #ifdef MY_DEBUG
              float battV  = batt * 0.003363075;
              Serial.print( "Battery Voltage: " );
              Serial.print( battV );
              Serial.println(" V");
              Serial.print( "Battery percent: " );
              Serial.print( battP );
              Serial.println(" %");
          #endif
          wait(100);
          sendBatteryLevel( battP );
          
        
          if (! bme.performReading()) {
            Serial.println( "ERR: BME680 reading failed" );
            return;
          }
          
          float temp = bme.temperature;
          #ifdef MY_DEBUG
            Serial.print( "DBG: Temperature = " );
            Serial.print( temp );
            Serial.println( " C" );
          #endif
          wait(100);
          send(msgTemp.set( temp, 2 ));
          
          /*
          float pres = bme.pressure/100.00;
          #ifdef MY_DEBUG
            Serial.print( "DBG: Pressure = " );
            Serial.print( pres );
            Serial.println( " hPa" );
          #endif
          wait(100);
          send(msgPres.set(pres,2));
          */
          
          float humi = bme.humidity;
          #ifdef MY_DEBUG
            Serial.print( "DBG: Humidity = " );
            Serial.print( humi );
            Serial.println( " %" );
          #endif
          wait(100);
          send(msgHumi.set( humi, 2 ));
          
          /*
          float alti = bme.readAltitude(SEALEVELPRESSURE_HPA);
          #ifdef MY_DEBUG
            Serial.print( "DBG: Approx. Altitude = " );
            Serial.print( alti );
            Serial.println( " m" );
          #endif
          wait(100);
          send(msgPosi.set(alti,2));
          */
        
          float airq = bme.gas_resistance / 1000.0;
          #ifdef MY_DEBUG
            Serial.print("DBG: Gas Resistance = ");
            Serial.print( gas );
            Serial.println(" KOhms");
          #endif
          wait(100);
          send(msgAirq.set( airq, 2 ));
          
          
          sleep(10000);
        	//sleep(180000);
        }
        
        1 Reply Last reply
        0
        • skywatchS skywatch

          @tssk Sending 240 messages a day is quite a lot for a battery node. I think you will need higher capacity batteries with that frequency of sending (is it really essential to send that often I wonder?).

          Anyway, I am also testing battery nodes and as far as I can see the lora and bme are likely taking a lot of power. They must be 'put to sleep' as much as possible. AFAIK lora is an abbreviation of 'long range' and therefore means 'more power'. Can you test the current drawn by just the radio in sleep and transmitting?

          Also, bootloader - I highly recommend using the minicore bootloader with internal 8MHz, bod as you wish (I ususally disable) and try again. My sleeping nodes use less than 5uA in sleep and I am trying to get that even lower this week.

          Also check the value of pull-upresistors on the boards, they can be on the low side and perhaps better with higher value external ones (something I hope to test tomorrow as it happens).

          Also temperature and humidity will have an effect. I put one test node on a colder NE facing window which has slept all the time except a twice daily battery check and send value only if changed. It is the only node to have changed from 100% to 99% in a week, so the colder window is clearly having an effect on the battery life in this situation.

          As @mfalkvidd implied I would get rid of the stepup booster if at all possible, they are not so efficient and can produce a lot of noise on the power line. Can you go to 3xAA batteries? What about an 18650 li-on or two in parallel?

          Finally check solder joints. A dry joint or cold joint may look OK but measure them with a meter just to make sure.

          T Offline
          T Offline
          tssk
          wrote on last edited by
          #286

          @skywatch

          • This is room sensor and I would like to react to changes in temperature and airquality - I was thinking that I could prolong the interval up to 12min. What do you think is optimal measurements rate for room thermostat?

          • Is it possible / necessary to put the radio module to sleep? How to do that?

          • So far I did not mess with the Arduino bootloader but I would like to :) Any link that I could read about it? And specifically about the minicore you mention?

          • I do not understand what you mean by the pull-up resistors?

          • I have my node in the middle of the room around 20-24C that sould not be the problem. Actually it is it main purpose to provide data for optimal room temperature.

          • I included step up boosted based on recommendation on the https://www.mysensors.org/build/battery page. I thought it should use the batteries most efficiently. I think I could go with 3 AA batteries. Will I need to regulate the voltage or can I power the radio and bme modules directly?

          TheoLT 1 Reply Last reply
          0
          • T Offline
            T Offline
            tssk
            wrote on last edited by
            #287

            IMG_20210225_121037.jpeg

            IMG_20210225_121053.jpeg

            1 Reply Last reply
            0
            • T tssk

              @skywatch

              • This is room sensor and I would like to react to changes in temperature and airquality - I was thinking that I could prolong the interval up to 12min. What do you think is optimal measurements rate for room thermostat?

              • Is it possible / necessary to put the radio module to sleep? How to do that?

              • So far I did not mess with the Arduino bootloader but I would like to :) Any link that I could read about it? And specifically about the minicore you mention?

              • I do not understand what you mean by the pull-up resistors?

              • I have my node in the middle of the room around 20-24C that sould not be the problem. Actually it is it main purpose to provide data for optimal room temperature.

              • I included step up boosted based on recommendation on the https://www.mysensors.org/build/battery page. I thought it should use the batteries most efficiently. I think I could go with 3 AA batteries. Will I need to regulate the voltage or can I power the radio and bme modules directly?

              TheoLT Offline
              TheoLT Offline
              TheoL
              Contest Winner
              wrote on last edited by
              #288

              @tssk I use a threshold. I measure every 30 - 60 seconds. If a change goes pass the threshold I report immediately. Else I report periodically. I think I've created a small lib for that some years ago

              T 1 Reply Last reply
              1
              • TheoLT TheoL

                @tssk I use a threshold. I measure every 30 - 60 seconds. If a change goes pass the threshold I report immediately. Else I report periodically. I think I've created a small lib for that some years ago

                T Offline
                T Offline
                tssk
                wrote on last edited by
                #289

                @TheoL I see so you measure every tim e but send only sometimes. Nice idea thanks.

                1 Reply Last reply
                0
                • mfalkviddM Offline
                  mfalkviddM Offline
                  mfalkvidd
                  Mod
                  wrote on last edited by
                  #290

                  You might need to turn off the BME, but that depends on how it works and what the Adafruit library handles for you.

                  My Sensors will turn off the radio when the Arduino goes to sleep so you don't need to sleep the radio manually.

                  This diagram from the booster datasheet shows how much current it will consume with no load:
                  380a6f60-7d46-4426-aba2-bf16486f2d51-image.png

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    tssk
                    wrote on last edited by tssk
                    #291

                    I hope I am measuring it correctly.

                    It shows 12.5 when in sleep and up to 90 when transmitting/measuring.

                    Any one can interpret that for me please? :)

                    IMG_20210225_151612.jpeg

                    skywatchS 1 Reply Last reply
                    0
                    • T tssk

                      I hope I am measuring it correctly.

                      It shows 12.5 when in sleep and up to 90 when transmitting/measuring.

                      Any one can interpret that for me please? :)

                      IMG_20210225_151612.jpeg

                      skywatchS Offline
                      skywatchS Offline
                      skywatch
                      wrote on last edited by skywatch
                      #292

                      @tssk That is 12.5mA (12500uA) in sleep and up to 90mA (90000uA) in transmit mode. Compare that to my door/window sensor which is <5uA sleep and about 15uA transmit with nrf24l01+). Your current draw is too high for most 'normal' batteries to last very long as you have found out.

                      Minicore info and install instructions is here -- https://github.com/MCUdude/MiniCore.

                      Pull-up resistors are on the pcb and connect between data and Vcc as well as clock to Vcc. You won't gain a lot tampering with those with the figures you have posted so I would forget about those at the moment and concentrate on more productive things to get a lower current.

                      here is the bit of code to only send sensor variable when it has changed.....

                      if (int != oldint) {
                          send(msgInt.set(int));
                          oldint = int;
                        }
                      

                      This is used in my door sensor and can be used with any sensor variable name.

                      ALso of help would be to re-flash the node with MY_DEBUG to see how often your node is measuring and sending data. It shows if your prog is working as your expected it to (or not).

                      Anoother thought is that the sleep interval does not have to be fixed. You can vary it so that some times of day it is 20-30mins between read/send and at others you can reduce it if you think you need to.

                      mfalkviddM 1 Reply Last reply
                      0
                      • skywatchS skywatch

                        @tssk That is 12.5mA (12500uA) in sleep and up to 90mA (90000uA) in transmit mode. Compare that to my door/window sensor which is <5uA sleep and about 15uA transmit with nrf24l01+). Your current draw is too high for most 'normal' batteries to last very long as you have found out.

                        Minicore info and install instructions is here -- https://github.com/MCUdude/MiniCore.

                        Pull-up resistors are on the pcb and connect between data and Vcc as well as clock to Vcc. You won't gain a lot tampering with those with the figures you have posted so I would forget about those at the moment and concentrate on more productive things to get a lower current.

                        here is the bit of code to only send sensor variable when it has changed.....

                        if (int != oldint) {
                            send(msgInt.set(int));
                            oldint = int;
                          }
                        

                        This is used in my door sensor and can be used with any sensor variable name.

                        ALso of help would be to re-flash the node with MY_DEBUG to see how often your node is measuring and sending data. It shows if your prog is working as your expected it to (or not).

                        Anoother thought is that the sleep interval does not have to be fixed. You can vary it so that some times of day it is 20-30mins between read/send and at others you can reduce it if you think you need to.

                        mfalkviddM Offline
                        mfalkviddM Offline
                        mfalkvidd
                        Mod
                        wrote on last edited by mfalkvidd
                        #293

                        @skywatch said in 💬 Battery Powered Sensors:

                        @tssk That is 12.5mA (12500uA) in sleep and up to 90mA (90000uA) in transmit mode. Compare that to my door/window sensor which is <5uA sleep and about 15uA transmit with nrf24l01+

                        You mean 15mA transmit, right?

                        skywatchS 1 Reply Last reply
                        1
                        • T Offline
                          T Offline
                          tssk
                          wrote on last edited by
                          #294

                          I removed the step up booster connected + directly to VCC but the node stopped working - only the arduino onboard led is constantly on.

                          I also tried to measure the step up booster alone and it is showing 0.05 at 20mA on multimeter settings.

                          I am now really confused and I am not sure what to conclude from that...

                          T 1 Reply Last reply
                          0
                          • mfalkviddM mfalkvidd

                            @skywatch said in 💬 Battery Powered Sensors:

                            @tssk That is 12.5mA (12500uA) in sleep and up to 90mA (90000uA) in transmit mode. Compare that to my door/window sensor which is <5uA sleep and about 15uA transmit with nrf24l01+

                            You mean 15mA transmit, right?

                            skywatchS Offline
                            skywatchS Offline
                            skywatch
                            wrote on last edited by
                            #295

                            @mfalkvidd Yes - you got me ;)

                            I was confusing it with the battery pir which is 15-16uA in trigger mode. But yes, 15mA in Tx mode with a nrf24 module.

                            Maybe it is time for me to hibernate for a few months after all .....

                            1 Reply Last reply
                            0
                            • T tssk

                              I removed the step up booster connected + directly to VCC but the node stopped working - only the arduino onboard led is constantly on.

                              I also tried to measure the step up booster alone and it is showing 0.05 at 20mA on multimeter settings.

                              I am now really confused and I am not sure what to conclude from that...

                              T Offline
                              T Offline
                              tssk
                              wrote on last edited by tssk
                              #296

                              @tssk said in 💬 Battery Powered Sensors:

                              I removed the step up booster connected + directly to VCC but the node stopped working - only the arduino onboard led is constantly on.

                              The problem was that the batteries I used were not completely fresh. I googled that Arduino pro mini need at least 2.7V to operate. Using fresh batteries the node is working. And it shows 6.0mA in sleep and 25.4mA when transmitting.

                              So using the stepup booster adds 6.5mA in sleep and 65mA when transmitting to consumption?

                              I also found LowPower library (https://github.com/rocketscream/Low-Power) but it seems to interfere with mysensors library (https://github.com/rocketscream/Low-Power/issues/80). Any experience?

                              skywatchS 1 Reply Last reply
                              0
                              • T tssk

                                @tssk said in 💬 Battery Powered Sensors:

                                I removed the step up booster connected + directly to VCC but the node stopped working - only the arduino onboard led is constantly on.

                                The problem was that the batteries I used were not completely fresh. I googled that Arduino pro mini need at least 2.7V to operate. Using fresh batteries the node is working. And it shows 6.0mA in sleep and 25.4mA when transmitting.

                                So using the stepup booster adds 6.5mA in sleep and 65mA when transmitting to consumption?

                                I also found LowPower library (https://github.com/rocketscream/Low-Power) but it seems to interfere with mysensors library (https://github.com/rocketscream/Low-Power/issues/80). Any experience?

                                skywatchS Offline
                                skywatchS Offline
                                skywatch
                                wrote on last edited by skywatch
                                #297

                                @tssk

                                The 2.7V is set in the fuses, you can go a lot lower if you disable Bod completely. I tested one with nrf24 and it worked down to 1.64V.

                                I think you will find that all the 'good stuff' from the low power library is included in mysensors sleep function anyway.

                                I suggest using minicore (it is easy to install and all works from within the arduino IDE you are used to) and set internal oscillator and disable BoD. You will need a programmer (a few dollars) or you can use another arduino as programmer. but that is more time consuming to set up and easier to mess up as well!

                                Good that you got rid of the booster!

                                T 1 Reply Last reply
                                0
                                • skywatchS skywatch

                                  @tssk

                                  The 2.7V is set in the fuses, you can go a lot lower if you disable Bod completely. I tested one with nrf24 and it worked down to 1.64V.

                                  I think you will find that all the 'good stuff' from the low power library is included in mysensors sleep function anyway.

                                  I suggest using minicore (it is easy to install and all works from within the arduino IDE you are used to) and set internal oscillator and disable BoD. You will need a programmer (a few dollars) or you can use another arduino as programmer. but that is more time consuming to set up and easier to mess up as well!

                                  Good that you got rid of the booster!

                                  T Offline
                                  T Offline
                                  tssk
                                  wrote on last edited by
                                  #298

                                  @skywatch said in 💬 Battery Powered Sensors:

                                  I think you will find that all the 'good stuff' from the low power library is included in mysensors sleep function anyway.

                                  So when I use sleep() mysensors library overloads the generic arduino sleep?

                                  I suggest using minicore (it is easy to install and all works from within the arduino IDE you are used to) and set internal oscillator and disable BoD. You will need a programmer (a few dollars) or you can use another arduino as programmer. but that is more time consuming to set up and easier to mess up as well!

                                  I look at the git repo and I more confused now. I thought it is some kind of bootloader/firmware I flash. What is Arduino core? I never heard that term.

                                  Good that you got rid of the booster!

                                  I wonder why the booster is recommended here https://www.mysensors.org/build/battery ? Or did I misinterpreted?

                                  mfalkviddM E 2 Replies Last reply
                                  0
                                  • T tssk

                                    @skywatch said in 💬 Battery Powered Sensors:

                                    I think you will find that all the 'good stuff' from the low power library is included in mysensors sleep function anyway.

                                    So when I use sleep() mysensors library overloads the generic arduino sleep?

                                    I suggest using minicore (it is easy to install and all works from within the arduino IDE you are used to) and set internal oscillator and disable BoD. You will need a programmer (a few dollars) or you can use another arduino as programmer. but that is more time consuming to set up and easier to mess up as well!

                                    I look at the git repo and I more confused now. I thought it is some kind of bootloader/firmware I flash. What is Arduino core? I never heard that term.

                                    Good that you got rid of the booster!

                                    I wonder why the booster is recommended here https://www.mysensors.org/build/battery ? Or did I misinterpreted?

                                    mfalkviddM Offline
                                    mfalkviddM Offline
                                    mfalkvidd
                                    Mod
                                    wrote on last edited by
                                    #299

                                    @tssk said in 💬 Battery Powered Sensors:

                                    I wonder why the booster is recommended here https://www.mysensors.org/build/battery ? Or did I misinterpreted?

                                    If you interpreted

                                    Note that a booster can be a bit noisy (and disturb the radio). The booster is also less than 100% efficient, so boosting can be less efficient than just powering the Arduino directly from the batteries and change batteries when they hit 2.8V.

                                    as a recommendation, I would say that you did a slight misinterpretation. But it depends on what sensors you use and how much the device will be sleeping.

                                    1 Reply Last reply
                                    0
                                    • T tssk

                                      @skywatch said in 💬 Battery Powered Sensors:

                                      I think you will find that all the 'good stuff' from the low power library is included in mysensors sleep function anyway.

                                      So when I use sleep() mysensors library overloads the generic arduino sleep?

                                      I suggest using minicore (it is easy to install and all works from within the arduino IDE you are used to) and set internal oscillator and disable BoD. You will need a programmer (a few dollars) or you can use another arduino as programmer. but that is more time consuming to set up and easier to mess up as well!

                                      I look at the git repo and I more confused now. I thought it is some kind of bootloader/firmware I flash. What is Arduino core? I never heard that term.

                                      Good that you got rid of the booster!

                                      I wonder why the booster is recommended here https://www.mysensors.org/build/battery ? Or did I misinterpreted?

                                      E Offline
                                      E Offline
                                      evb
                                      wrote on last edited by evb
                                      #300

                                      @tssk In following post I have described my adventures in building a battery powered door node : https://forum.mysensors.org/topic/11499/checking-mechanical-locked-doors-by-a-battery-based-windows-door-sensor-node?_=1614421889744
                                      Search for the section : The battery-based windows/door sensor node : software
                                      I explain there the use of the minicore package.
                                      See also the section References at the end for more information about battery powered nodes

                                      1 Reply Last reply
                                      0
                                      • T Offline
                                        T Offline
                                        tssk
                                        wrote on last edited by
                                        #301

                                        So I ordered Arduino Uno for programming my Pro Minis. And going to experiment with 2xAA or 3xAA setup without step up booster (they are whining anyway so I will be happy if I get rid of it :)

                                        Thank everyone for help!

                                        1 Reply Last reply
                                        1
                                        • N Offline
                                          N Offline
                                          nekitoss
                                          wrote on last edited by
                                          #302

                                          I have a problem: when batteries go around 2.7V radio will stop transmitting. Board still take current, but no messages.
                                          I'm using own board with barebone 328p (8mHz internal) and SMD/mini nrf24l01 (pretty shure china)
                                          Did anyone had same issues?

                                          I've checked programmaticaly (yes, it is possible!) my fuse bits: Low=0xE2, High=0xD2, Extended=0xFE (0x06)
                                          (BOD = 1.8V)
                                          I've have three same boards (water leak) and used other not-yet-installed with specially made low-voltage regulated source (with 2200 uF capacitor and resistor load to eliminate voltage drop at transmission) to test - same result.
                                          Sometimes i can go lower to 2.5V but not guaranteed, sometimes even corrupted messages (i.e. node id 168 instead 8).
                                          Tests were without UART, only MYSController to monitor messages flooding each 5sec to approve life.

                                          Did anyone had same problems with nrf24l01 modules? All i see people say the can go to around 2.0 V.

                                          According to article https://www.gammon.com.au/power (and datasheet)
                                          at 8mHz i'm safe down to 2.4V (something like that i also measured)
                                          nrf should go down to 1.9...

                                          Also it would be great to add into advanced section possible voltages and problems with NiMh, china modules & 2.7V(if not only me), [not]possible currents from coin cells and metioned article.

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


                                          2

                                          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
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular