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. Troubleshooting
  3. How low can arduino can go?

How low can arduino can go?

Scheduled Pinned Locked Moved Troubleshooting
powerarduino pro minlow consumption
29 Posts 10 Posters 21.4k Views 5 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.
  • I iask

    @funky81 What power consumption did you end up with when in sleep mode with your NRFXXXXX connected? I am using the door/window sensor sample, when close it consumes 11.5 uA and when open it consumes 8.5uA (I wish that could be the other way around since the window will be closed most of the time).

    funky81F Offline
    funky81F Offline
    funky81
    wrote on last edited by
    #19

    @iask I haven't upload my latest door sketch to my node yet. But if I'm using above sketch, idle 4uA and around 18mA while transfer.

    Do you have any issues like me before?

    I 1 Reply Last reply
    0
    • funky81F funky81

      @iask I haven't upload my latest door sketch to my node yet. But if I'm using above sketch, idle 4uA and around 18mA while transfer.

      Do you have any issues like me before?

      I Offline
      I Offline
      iask
      wrote on last edited by
      #20

      @funky81 Well I am not sure what else to try to get lower than 11.5uA. If you are getting 4uA then it's possible. I will have to try your sleep method

      void sleep(){
         // disable ADC
        ADCSRA = 0;  
      
        // clear various "reset" flags
        MCUSR = 0;     
        // allow changes, disable reset
        WDTCSR = bit (WDCE) | bit (WDE);
        // set interrupt mode and an interval 
        WDTCSR = bit (WDIE) | bit (WDP3) | bit (WDP0);    // set WDIE, and 1 second delay
        wdt_reset();  // pat the dog
        
        set_sleep_mode (SLEEP_MODE_PWR_DOWN);  
        noInterrupts ();           // timed sequence follows
        sleep_enable();
       
        // turn off brown-out enable in software
        MCUCR = bit (BODS) | bit (BODSE);
        MCUCR = bit (BODS); 
        interrupts ();             // guarantees next instruction executed
        sleep_cpu ();  
        
        // cancel sleep as a precaution
        sleep_disable();
      }
      

      currently I am using

      gw.sleep(INTERRUPT,CHANGE, 0);
      
      funky81F 1 Reply Last reply
      1
      • I iask

        @funky81 Well I am not sure what else to try to get lower than 11.5uA. If you are getting 4uA then it's possible. I will have to try your sleep method

        void sleep(){
           // disable ADC
          ADCSRA = 0;  
        
          // clear various "reset" flags
          MCUSR = 0;     
          // allow changes, disable reset
          WDTCSR = bit (WDCE) | bit (WDE);
          // set interrupt mode and an interval 
          WDTCSR = bit (WDIE) | bit (WDP3) | bit (WDP0);    // set WDIE, and 1 second delay
          wdt_reset();  // pat the dog
          
          set_sleep_mode (SLEEP_MODE_PWR_DOWN);  
          noInterrupts ();           // timed sequence follows
          sleep_enable();
         
          // turn off brown-out enable in software
          MCUCR = bit (BODS) | bit (BODSE);
          MCUCR = bit (BODS); 
          interrupts ();             // guarantees next instruction executed
          sleep_cpu ();  
          
          // cancel sleep as a precaution
          sleep_disable();
        }
        

        currently I am using

        gw.sleep(INTERRUPT,CHANGE, 0);
        
        funky81F Offline
        funky81F Offline
        funky81
        wrote on last edited by
        #21

        @iask how is the result?

        1 Reply Last reply
        0
        • T Offline
          T Offline
          Tibus
          wrote on last edited by
          #22

          I use the @funky81 's sleep method but the nrf doesn't go to sleep so I draw 14ma. When I use the gw.sleep method, I draw +-26ua. Is it possible to go below? (without the nrf, my own pcb with atmega328 go to 5ua in sleep mode with your function (doesn't work with gw.sleep because it's a test without the nrf ;D)

          funky81F 1 Reply Last reply
          0
          • T Tibus

            I use the @funky81 's sleep method but the nrf doesn't go to sleep so I draw 14ma. When I use the gw.sleep method, I draw +-26ua. Is it possible to go below? (without the nrf, my own pcb with atmega328 go to 5ua in sleep mode with your function (doesn't work with gw.sleep because it's a test without the nrf ;D)

            funky81F Offline
            funky81F Offline
            funky81
            wrote on last edited by funky81
            #23

            @Tibus do you have other nrf to try? I'm affraid you're using fake nrf.
            30% of my nrf (out of 10), are fake...

            one more thing, sleep method in above post dont turn off nrf radio while sleep.
            you can try gw.sleep() if you want turn off nrf radio while sleep (MyGateway gw)

            1 Reply Last reply
            0
            • T Offline
              T Offline
              Tibus
              wrote on last edited by
              #24

              yes, when I use de gw.sleep it works great but I can't go lower than 26ua+-. My test with your function draw 14ma because the nrf doesn't go to sleep... But is there a method to go lower than 26ua with the nrf? I'm already verry happy of the 26ua but if I can go lower, it would be even better ;D
              Do you things it's because I use fake nrf? where can i bought real nrf? The one I use is from electrodragon.

              funky81F 1 Reply Last reply
              0
              • T Tibus

                yes, when I use de gw.sleep it works great but I can't go lower than 26ua+-. My test with your function draw 14ma because the nrf doesn't go to sleep... But is there a method to go lower than 26ua with the nrf? I'm already verry happy of the 26ua but if I can go lower, it would be even better ;D
                Do you things it's because I use fake nrf? where can i bought real nrf? The one I use is from electrodragon.

                funky81F Offline
                funky81F Offline
                funky81
                wrote on last edited by
                #25

                @Tibus my suggestion is that try other nrf radio.
                Right now I can low as 10uA while sleeping

                1 Reply Last reply
                0
                • T Offline
                  T Offline
                  Tibus
                  wrote on last edited by
                  #26

                  ok thanks

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    ericvdb
                    wrote on last edited by
                    #27

                    What do you guys use to measure such low currents?

                    funky81F 1 Reply Last reply
                    0
                    • E ericvdb

                      What do you guys use to measure such low currents?

                      funky81F Offline
                      funky81F Offline
                      funky81
                      wrote on last edited by
                      #28

                      Hi @ericvdb , you can use multi tester like in this link....

                      1 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        brolly759
                        wrote on last edited by
                        #29

                        This is an old thread but Tibus, the problem I had was exactly yours with 26uA. I had to downgrade my Arduino software to 1.0.6 . Then I got normal numbers 3uA.

                        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.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