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. General Discussion
  3. Reducing power for battery node.

Reducing power for battery node.

Scheduled Pinned Locked Moved General Discussion
14 Posts 3 Posters 3.0k Views 4 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.
  • skywatchS Offline
    skywatchS Offline
    skywatch
    wrote on last edited by
    #1

    Hi,

    I have a 3.3V 8MHz node. I removed the regulator and 2xLED with hot air gun and also use the sleep() function. The node wakes every 2 minutes to send temperature from 2x DS18B20 sensors.

    The batteries are draining at 1% or more per day, so what can I do to reduce the current even further?

    Could I, for example, use a transistor to turn off power to the sensors and only power them up before reading then power off again? Would that loose all the set up info for the sensors from the sketch if I did that?

    I have ordered a programmer and will try with a 1MHz bootloader, but that is weeks away from delivery (or longer since it's the summer).

    I have looked at some of the low power threads on here, but some of it is from years ago and may not be relevent today.

    1 Reply Last reply
    0
    • gohanG Offline
      gohanG Offline
      gohan
      Mod
      wrote on last edited by
      #2

      You can use a digital pin to power the sensors that you can turn on and off before and after reading the sensors. Remember that you need to initialize the every time you want to read them if you power them down. Also make sure the sensor only sends when temperature is actually changing to save battery and you could change the sleep time to 10-30min unless you really need that 2 min temperature reading.

      1 Reply Last reply
      1
      • skywatchS Offline
        skywatchS Offline
        skywatch
        wrote on last edited by
        #3

        @gohan

        Thanks for the tip - Just re-wrote the code, compiles OK. Hope to test tomorrow.

        Yes I really need the updates frequent as it is sending data for the boiler heat output and boiler return temps. So a finer graph is useful to see how the house and hot water heat.

        :)

        1 Reply Last reply
        0
        • gohanG Offline
          gohanG Offline
          gohan
          Mod
          wrote on last edited by
          #4

          Since you are monitoring a water heater, don't you have a power plug nearby that you can use to power the node?

          1 Reply Last reply
          0
          • skywatchS Offline
            skywatchS Offline
            skywatch
            wrote on last edited by
            #5

            Here in the UK it is not legal to have a power plug in this area. The 'airing' cupboard does have 240V for sure, but a socket or outlet is a big 'no - no' (nej-nej).....;)

            So batteries it has to be, and due to the size of enclosure I have chosen, 2xAAA is all I can use (though smaller 3V batteries are possible like 2x A76)....

            Thank you so much for taking the time to try and help me out here though....very kind of you :)

            1 Reply Last reply
            1
            • gohanG Offline
              gohanG Offline
              gohan
              Mod
              wrote on last edited by
              #6

              And there is no way you can "integrate" the sensor in the water heater? So you could tap on mains voltage from inside the heater, so no external plug required 😀
              Or you could think about those cells that create power from heat an do some energy harvesting on supercaps; this way you can have indefinite battery life and you don't need to tamper the water heater

              skywatchS 1 Reply Last reply
              0
              • Nca78N Offline
                Nca78N Offline
                Nca78
                Hardware Contributor
                wrote on last edited by
                #7

                Hello,

                I think your main problem will be solved with powering the sensors only when needed, if they stay powered and in active mode between measurement, they consume 1mA which is way to much for battery power. But you should be able to put them in standby mode and then they will consume only around 1uA which is very low for AAA, in that case no need to power them from a pin and reinitialize them each time.

                I would switch to 1MHz too, as the measurement time from DS18 is very slow (nearly 1s) and during that time your arduino has to wait doing nothing and using more power. Set the BOD to 1.8V while you write the bootloader, as together with 1MHz clock this will allow you to go much lower in voltage compared to the standard 2.7V value, and you will be able to use nearly all the capacity of the batteries.

                Another option to consider is using I2C temperature sensors like si7021, as they use waaaaaaaaay lower current to run and to read the values. But maybe it is not practical for you use case.

                1 Reply Last reply
                0
                • gohanG gohan

                  And there is no way you can "integrate" the sensor in the water heater? So you could tap on mains voltage from inside the heater, so no external plug required 😀
                  Or you could think about those cells that create power from heat an do some energy harvesting on supercaps; this way you can have indefinite battery life and you don't need to tamper the water heater

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

                  @gohan said in Reducing power for battery node.:
                  Or you could think about those cells that create power from heat an do some energy harvesting on supercaps;

                  Do you have any links to this please?

                  @Nca78 said in Reducing power for battery node.:

                  Hello,

                  I think your main problem will be solved with powering the sensors only when needed, if they stay powered and in active mode between measurement, they consume 1mA which is way to much for battery power. But you should be able to put them in standby mode and then they will consume only around 1uA which is very low for AAA, in that case no need to power them from a pin and reinitialize them each time.

                  I can't find any info on putting the ds18b20 into standby mode. Can you please point me in the right direction for that?

                  Nca78N gohanG 2 Replies Last reply
                  0
                  • skywatchS skywatch

                    @gohan said in Reducing power for battery node.:
                    Or you could think about those cells that create power from heat an do some energy harvesting on supercaps;

                    Do you have any links to this please?

                    @Nca78 said in Reducing power for battery node.:

                    Hello,

                    I think your main problem will be solved with powering the sensors only when needed, if they stay powered and in active mode between measurement, they consume 1mA which is way to much for battery power. But you should be able to put them in standby mode and then they will consume only around 1uA which is very low for AAA, in that case no need to power them from a pin and reinitialize them each time.

                    I can't find any info on putting the ds18b20 into standby mode. Can you please point me in the right direction for that?

                    Nca78N Offline
                    Nca78N Offline
                    Nca78
                    Hardware Contributor
                    wrote on last edited by
                    #9

                    @skywatch said in Reducing power for battery node.:

                    I can't find any info on putting the ds18b20 into standby mode. Can you please point me in the right direction for that?

                    Yes because it seems to be automatic. Sorry I don't use them much, and not with battery powered nodes.
                    Did you try to measure power consumption of the DS18 between measurements to see how much they draw when they should be in standby mode ?

                    1 Reply Last reply
                    1
                    • skywatchS skywatch

                      @gohan said in Reducing power for battery node.:
                      Or you could think about those cells that create power from heat an do some energy harvesting on supercaps;

                      Do you have any links to this please?

                      @Nca78 said in Reducing power for battery node.:

                      Hello,

                      I think your main problem will be solved with powering the sensors only when needed, if they stay powered and in active mode between measurement, they consume 1mA which is way to much for battery power. But you should be able to put them in standby mode and then they will consume only around 1uA which is very low for AAA, in that case no need to power them from a pin and reinitialize them each time.

                      I can't find any info on putting the ds18b20 into standby mode. Can you please point me in the right direction for that?

                      gohanG Offline
                      gohanG Offline
                      gohan
                      Mod
                      wrote on last edited by
                      #10

                      @skywatch I'd start from here -> http://www.instructables.com/id/Charge-Your-Cellphone-Using-Wasted-Heat/ and see if you can find a suitable solution for your system.

                      1 Reply Last reply
                      1
                      • skywatchS Offline
                        skywatchS Offline
                        skywatch
                        wrote on last edited by
                        #11

                        I have spent 10 hours on this today! I now have a 1MHz 4800Bd bootloader loaded onto the pro-mini. I have connected it all back up and the node is working and sending battery info back but nothing from either temperature sensor.

                        What can be the problem? I have checked the connections and the batteries are new out of the box. Could the 4800bd be the problem? Should I reflash with 9600 1MHz version instead?

                        Thanks....

                        Nca78N 1 Reply Last reply
                        0
                        • skywatchS skywatch

                          I have spent 10 hours on this today! I now have a 1MHz 4800Bd bootloader loaded onto the pro-mini. I have connected it all back up and the node is working and sending battery info back but nothing from either temperature sensor.

                          What can be the problem? I have checked the connections and the batteries are new out of the box. Could the 4800bd be the problem? Should I reflash with 9600 1MHz version instead?

                          Thanks....

                          Nca78N Offline
                          Nca78N Offline
                          Nca78
                          Hardware Contributor
                          wrote on last edited by
                          #12

                          @skywatch said in Reducing power for battery node.:

                          I have spent 10 hours on this today! I now have a 1MHz 4800Bd bootloader loaded onto the pro-mini. I have connected it all back up and the node is working and sending battery info back but nothing from either temperature sensor.

                          What can be the problem? I have checked the connections and the batteries are new out of the box. Could the 4800bd be the problem? Should I reflash with 9600 1MHz version instead?

                          Thanks....

                          You should have not problem with 9600Bd even with internal oscillator (which is less precise than external).
                          You should debug to have a look at what's happening with the temperature sensors, but the baud rate on serial port should have no influence with one wire library.
                          Did you add the board in the interface and select it before uploading ? Because if you upload with settings different than the frequency set on your board (in bootloader) it will not run at the right speed.

                          1 Reply Last reply
                          0
                          • skywatchS Offline
                            skywatchS Offline
                            skywatch
                            wrote on last edited by
                            #13

                            I use the 4800Bd 1MHz optiboot 5 loader.

                            Do I need the 9600 for the DS18B20?

                            I have tried with multiple pro-mini today and still the same result. If I flash back to the 8MHz bootloader it all works fine. So to me it is most definitely a bootloader issue.

                            Anyone can help with this please?

                            1 Reply Last reply
                            0
                            • skywatchS Offline
                              skywatchS Offline
                              skywatch
                              wrote on last edited by
                              #14

                              And here is the info in boards.txt....

                              atmega328_1mhz_4800baud.name=Optiboot 5 for bare 328P, 1MHz internal clock, fast start, 1.8V BOD, 4800baud upload, c/o tim7 20130416
                              atmega328_1mhz_4800baud.upload.protocol=arduino
                              atmega328_1mhz_4800baud.upload.maximum_size=32256
                              atmega328_1mhz_4800baud.upload.speed=4800
                              atmega328_1mhz_4800baud.bootloader.tool=arduino:avrdude
                              atmega328_1mhz_4800baud.bootloader.low_fuses=0x42
                              atmega328_1mhz_4800baud.bootloader.high_fuses=0xde
                              atmega328_1mhz_4800baud.bootloader.extended_fuses=0xfe
                              atmega328_1mhz_4800baud.bootloader.path=atmega
                              atmega328_1mhz_4800baud.bootloader.file=atmega328_1b.hex
                              atmega328_1mhz_4800baud.bootloader.unlock_bits=0x3F
                              atmega328_1mhz_4800baud.bootloader.lock_bits=0x2F
                              atmega328_1mhz_4800baud.build.mcu=atmega328p
                              atmega328_1mhz_4800baud.build.f_cpu=1000000L
                              atmega328_1mhz_4800baud.build.core=arduino
                              atmega328_1mhz_4800baud.build.variant=standard
                              atmega328_1mhz_4800baud.upload.tool=arduino:avrdude```.
                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              11

                              Online

                              11.7k

                              Users

                              11.2k

                              Topics

                              113.1k

                              Posts


                              Copyright 2025 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