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 24.1k 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).

    F Offline
    F 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
    • F 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);
      
      F 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);
        
        F Offline
        F 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)

          F 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)

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

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

                F Offline
                F 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?

                    F 1 Reply Last reply
                    0
                    • E ericvdb

                      What do you guys use to measure such low currents?

                      F Offline
                      F 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

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        17

                        Online

                        12.0k

                        Users

                        11.2k

                        Topics

                        113.4k

                        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