Finding this video 7 years later is great. I've never ran a chip that low until now. I'm surprized your Keithley showed anything at all when most meters round down to zero when the next digit is below 5. I have a 38 year old Hioki multi meter I picked up at Goodwill for 5 bucks. It reads in increments of 10nA and I was finally able to confirm that it works and showed the same result as your bench meter. Thank you for sharing! I really need a meter like yours now.
Kevin, I must say, this is nothing less than amazing! I'm not sure how and where I will implement what I just "learned" but this video is top notch - thank you for a) taking the time to research these details and b) then make your findings available to your viewers. Most appreciated!
Kevin Darrah I’m interested in making a small battery powered fish feeder for a beta fish. Something that utilizes a Mini Pro 3.3v, two double A’s, and one of those tiny digital camera stepper motors. Do you have any videos on getting the lowest possible power draw while still utilizing the internal clock? Watchdog would drift too much over the course of a month or so
Kevin this is amazing stuff. I am new ( 2 weeks) to Arduino and coding, and know I am going to watch this video over and over dozens of time to comprehend the scope of sleep mode. This is precisely what I am trying to implement into my project. Thank you for taking the time to prepare and research this tutorial. this is an amazing gift to the community. Many thanks.
I never thought too much about what else besides the sleep mode could further increase battery life much. Thanks for this awesome video! Also bonus points for not begging for likes and subs at the start, like so many other youtubers do. Keep it up!
I'm part of the late crew but: working right now on a similar project I - finally! - stumbled across your channel/video.. I failed trying all other tutorials and even ChatGPT couldn't help me out with a proper code. Either the 328 didn't wake up again or the sketch didn't work at all.. Yours worked for me right from the start, it doesn't need libraries and you even explain how to set the needed registers!! Instant subscription 👍 and your channel is - unfortunately - really underrated..
Not going to lie. This is way over my head as far as digging into complicated verbiage in documentation, but your breakdown at least helped me understand the efforts that go into breaking down the use of all these sleep state features that I was just copying and pasting into my scripts to use in my projects. Appreciated.
Thanks a million Kevin! I was working on a project running a battery and just need to check a sensor every hour or so. There are no clear guides anywhere to what you have figured out. This tutorial has made my project really to the next level! I subscribed as well. Awsome job!!!
I like the content! keep stuff like this coming, especially episodes like this, with a look into a technique or something, but no project. very nice videos
Really appreciate the way you make your videos, the speed of presentation, and the content you choose. One of my favourite channels. As an idea for an extension video, I wondered about using a 555 timer with a really long repeat, hourly maybe, as the watchdog to interrupt and wake up a deep sleep arduino instead of a RTC.
Some no nonsense power saving, very clever stuff man...Kudos! Very informative will surely implement in a future battery sourced project. If there is one thing that is always in high in use and low in supply it is always going to be power nowadays, used to be the memory/time trade-off. This goes deep into a philosophical EE argument to be made, it seems saving power has become a much larger global problem and it is great to see people like you aware of this, implementing and being pragmatic about ways to improve that consumption of power we Americans forget to bother about. ;-)
Hi Kevin. Could you make video on attiny series power saving and deep sleep. These micros are perfect for small projects using batteries. I use tinys whenever I can. Single 3V button cell project would be nice :)
Absolutely great! No other video or any instruction helped me. Once I watched your video everything works perfect! And even with datasheet explanation! Awesome!!!! Greetings from Germany ;)
Thanks for the tutorial! I didn't know those registers were simply keywords that you can use in the Arduino code in conjunction with the bit operations.
Liked and subbed, Great video Kevin, I really love the way you explain things. I have been using arduino for years now but have always hit a brick wall when it comes to assembly and modifying MCU bits. I just learned more about it in 25 minutes then the past three years. Bravo!
This was just a awesome presentation of power saving possibilities. Exactly what I needed. I'm running a 328P-PU on the internal 8 MHz and the power savings in sleep mode are even mire dramatic: on my digital multimeter I measure 0.1 micro amps when sleeping! This is even lower than your 0.368 micro amps you measured. Thanks again for your detailed explanations. They were perfect!
I have a interesting phenomena after increasing the watchdog counter in the for loop to 20 (to get 20x8"sleep) --> It's not possible to wake up the 328 with the interrupt button, unless I press the button multiple times (up to 19 times!). What is the mechanism behind?
Well put together video with explanation. I'm using a Pmos latch circuit to wake up the whole thing, but then found I could use a Cmos 555 dual timer to do the same thing at less cost and power for a simple project. Uses nothing in the off state. Would like to see some power harvesting projects in this series.
I really enjoyed this video. I loaded the code provided from the link onto an Arduino Uno clone and the setting of all the pins to output dropped the measured current used by the Arduino to 11.44mA when the LED was off. For reference when the basic Blink code was running the measured current used by the Arduino when LED was off was 21.72mA. So that alone cut the current usage in half. Brilliant! Really a smart thing to do. Lesson learned. Thanks Kevin. I'll drop a few bucks in the tip jar..
Great work Kevin - really clear and straight forward. I particularly like the methodical way you step through this develop the improvements. Would be great to see the differences when applied to the ESP8266
Ha ha, I love the last minute "Oh, you know what...you need this last bit of code to make this whole thing work". Kinda like "Lost".."oh, you know what..you have to type in these numbers then press "execute" every 108 minutes to discharge any electromagnetic buildup, continually averting worldwide catastrophe." "oh, thanks for the boat, c-ya". All kidding aside, love the videos.
Let's say I am using a standalona ATmega328 chip instead of an Arduino module. When programming this chip using Arduino IDE I have the choice to switch OFF the BODS. In such a case, do I need to use your code to disabel the BODS?
I'm looking for a DMM and looked at the price of yours which knocked me back a bit lol Also thank you for making videos, I always type your name in followed by what I want to learn about because there is always a video!
Re-visiting this video. I can't seem to get the power consumption lower than 200µA with the provided code. Poking around with further PRR modifications brought me down to 112µA, but still nowhere near thelow level you got. Could it be a counterfeit part?
Wow! The current "consumption" (if you could call it that) after you disabled the Brown Out Detection is INSANE! Thank you for sharing this Kevin! BTW, how come you're still able to upload new sketches after you put the Arduino in the various sleep modes? Is it possible to brick the ATMega by putting it into a "coma"?
This is really good stuff. Thank you kevin for coming up with such awesome contents. I am actually working on a project in which i really tied up with the battery power consumption, this video is really gonna help me out. Thank again. :)
I tried your code with adruino nano v3.0. it went down to 5.5 milliamp from 20 milliamp after removing power LED but I could not get it down to microamps. may be we need different code. can I get any help about that? thanks in advance
for my expert i am using atmega328. I need to put it in sleep mode keeping only timer 2, together with qurzo 32768 on pins 9-10, active to continue counting the hour. which sleep mode could i use? Is there anything else that would remain attractive that I could deactivate? thank you very much
Thanks Kevin I am combining your ESP8266 to database data and your DS18B20 projects for wifi grain bin temperature monitoring (spoilage prevention) and low power modes on ESP8266 might also be ideal
Still here SHOCKINGLY! No, I really enjoy the content you put out! It's very informative and professional. I don't have enough funds to support you on Patreon, although I have disabled my Adblocker.
Hi there :) Is it possible to cut power supply outputs during the sleep? Because I have couple of sensors plus communication modules and they are drawing power even when arduino is sleeping. Some of them requires 3.3 V power supply and I cant use any of digital pins from arduino
Correction, I think. At 11:38 you said digital pin 3. I can see that is physically the 4th pin, which from looking at the datasheet int0 is on physical pin 4 on the DIP 328, which is digital pin 2 aka PD2. Perhaps you mistakenly started counting from 1? Still an awesome video!
@Kevin Darrah Hi Kevin! Awesome and very useful video! I had a quick question regarding interrupts. I was wondering when you put the arduino to sleep do you know if the void loop function stops looping? Hence saving power?
Thanks, Kevin! This is definitely a great deep sleep tutorial for battery-powered Arduino projects. I was wondering if a bootloader was used to change the code between each part or you used an external programmer. I presume that communication with the micro host after sleep mode is activated is not possible, isn't?
How does the function pinMode(i, OUTPUT); set a pin to HIGH or LOW. I thought you needed to call the digitalWrite(pinNum, HIGH/LOW) to accomplish this. How would I set it LOW?
awesome video!! It motivates me to learn more about this assembly setting and try to get more out of the datasheets (it has being always like ready ancient code non-sense)
Well done Kevin, a very well explained and documented tutoral, I have learned a gret deal from your video and in fact have now written my own library to "sleepState" to allow me to implement these great power saving ideas
Hi Kevin. I really impressive by the project you have done. I would like to have some advice from you if possible. I'm working on low power project. I could not find the ATmega328P library to boot loader and upload the sketch. I select Arduino Uno but not working.Tks
Hi Kevin, thanks for this video, it really helped me for my little project. I do have a question. You include a button to wake up the chip, but I noticed that you didn't use the assembler command sei for "Global Interrupt Enable" at 3:55 in your video. Why is this not needed? Or is yours already enabled? Thanks again.
Hi Kevin, great stuff!! I tried uploading the code on PlatformIO but received a compilation error stating "src\main.cpp:16:22: error: 'digitalInterrupt' was not declared in this scope" the code worked perfectly in Arduino 1.8.5 though.... any suggestions why I see this on PlatformIO? thanks in advance
Nice video, Kevin. I started experimenting with power reduction a few weeks ago with an ATTiny 84 powered IR remote. I found the power reduction register helpful for turning off unused peripherals. I was wondering: why do you use the arduino IDE over atmel studio or some other IDE? For simplicity/speed/familiarity? To reach a wider audience?
Hi Kevin, that was a very comprehensive video and I think you covered the lot! I just wish the Atmel guys had done a video like this in the past as I had no idea of which low power options to use. Maybe they were 'interrupted' too much to do anything else apart from datasheets :-) I wish I could afford some test gear (and time) to check batteries, but assume if 4 x AA alkalines were used, and without waking the MCU that they would last at least a year (maybe). Thanks much again for your great explanation and effort in sharing this!
Very interesting. I like your approach to the problem. Simple, direct, and effective. Thank you. I will surely use your method for a small project I have in mind.
Hey, it works like a champ! Made a 2nd remote control for my Mitsubishi AC so I don't have to go upstairs to turn it ON/OFF everytime I return/leave the house. 1 ATmega328P(8MHZ no caps, crystals), 1 IRLed, 1 3V coincell battery, a pushbutton switch and a little bit of code. Saved me $75. I was unable to measure the LOWLOW sleep current with my multimeter! THANX!
Kevin if you catch it early, you can use RUclips's vid editor to chop out the bit you don't want(click your icon/creater studio/create/video editor). Then you don't have to re-upload - It will publish a new vid.
Kevin -Over the last year or so I have watched this video about 6 times. It is a subject I am interested in, and you did a good job explaining and presenting it. I looked thru your low power playlist and I don't see anything about using an attiny. Would this yield an even lower current consumption and still allow a wake up interrupt and an external interrupt ?
i'm not entirely sure why, but for me the for loop just doesn't do anything. no matter what i put in there, it always just resets after ~8 seconds. what could the problem be?
Kevin, my programming experience is mainly in assembly, so forgive me if my question is odd. I've never set registers manually in Arduino IDE, so why not manually set the reigsters in assembly code if you can use inline assembly? From what I remember, it wasn't as tricky to just write %10000000 to the register's address to set bit Seven, or %01100000 to set bits 5 and 6 simultaneously. That or use BSET or BCLR. Do you have a tutorial for doing this kind of thing in C++ or in Arduino IDE? I'd like to understand a litter better. Thanks!
Excuse me, sir, I would like to get sleep mode code of ATMega 328P code that goes to sleep and wake up depending on a timer, not external switch.Thanks a lot
Finding this video 7 years later is great. I've never ran a chip that low until now. I'm surprized your Keithley showed anything at all when most meters round down to zero when the next digit is below 5. I have a 38 year old Hioki multi meter I picked up at Goodwill for 5 bucks. It reads in increments of 10nA and I was finally able to confirm that it works and showed the same result as your bench meter. Thank you for sharing! I really need a meter like yours now.
Kevin, I must say, this is nothing less than amazing! I'm not sure how and where I will implement what I just "learned" but this video is top notch - thank you for a) taking the time to research these details and b) then make your findings available to your viewers. Most appreciated!
thanks! appreciate that!
Great video! Please keep up with this low power series, it's very helpful
+David Perna thanks, lots more to come!
Yes pls
Kevin Darrah I’m interested in making a small battery powered fish feeder for a beta fish. Something that utilizes a Mini Pro 3.3v, two double A’s, and one of those tiny digital camera stepper motors. Do you have any videos on getting the lowest possible power draw while still utilizing the internal clock? Watchdog would drift too much over the course of a month or so
@@DrMrSuperAwesomeGuy yes pls
Kevin this is amazing stuff. I am new ( 2 weeks) to Arduino and coding, and know I am going to watch this video over and over dozens of time to comprehend the scope of sleep mode. This is precisely what I am trying to implement into my project. Thank you for taking the time to prepare and research this tutorial. this is an amazing gift to the community. Many thanks.
I never thought too much about what else besides the sleep mode could further increase battery life much. Thanks for this awesome video! Also bonus points for not begging for likes and subs at the start, like so many other youtubers do. Keep it up!
I'm part of the late crew but: working right now on a similar project I - finally! - stumbled across your channel/video..
I failed trying all other tutorials and even ChatGPT couldn't help me out with a proper code. Either the 328 didn't wake up again or the sketch didn't work at all..
Yours worked for me right from the start, it doesn't need libraries and you even explain how to set the needed registers!!
Instant subscription 👍 and your channel is - unfortunately - really underrated..
Thank you so much, I really like this, specially when you do that without external library.
from datasheet to break board ,the perfect way to do it.Thanks for this Kevin.
Such a kind of videos give an incredible value to internet. Thank you for sharing your hard work!
Time for the authoritarian powers of the world to ban us from it.
Not going to lie. This is way over my head as far as digging into complicated verbiage in documentation, but your breakdown at least helped me understand the efforts that go into breaking down the use of all these sleep state features that I was just copying and pasting into my scripts to use in my projects. Appreciated.
Nice video! The little snafu in the middle is not a big deal at all! Tons of great information in this video, it is all very much appreciated!
Wow! fantastic series!! Good job, man! can you make a tutorial also on low power mode for esp8266?
Hope the best for you in the future!
+Giacomo Paccagnan yeah, esp8266 is a great module but it eats power like crazy!
+Giacomo Paccagnan Yes please!
Giacomo Paccagnan
Yes
Thanks a million Kevin! I was working on a project running a battery and just need to check a sensor every hour or so. There are no clear guides anywhere to what you have figured out. This tutorial has made my project really to the next level! I subscribed as well. Awsome job!!!
I like the content! keep stuff like this coming, especially episodes like this, with a look into a technique or something, but no project. very nice videos
This saved me what could have been a while going through the datasheet and testing various methods. Kudos!
Really appreciate the way you make your videos, the speed of presentation, and the content you choose. One of my favourite channels.
As an idea for an extension video, I wondered about using a 555 timer with a really long repeat, hourly maybe, as the watchdog to interrupt and wake up a deep sleep arduino instead of a RTC.
This sort of tutorial was long overdue! Great tutorial, really well explained.
Probably the best video I've seen on this topic. Thank you very much Kevin.
Some no nonsense power saving, very clever stuff man...Kudos! Very informative will surely implement in a future battery sourced project. If there is one thing that is always in high in use and low in supply it is always going to be power nowadays, used to be the memory/time trade-off. This goes deep into a philosophical EE argument to be made, it seems saving power has become a much larger global problem and it is great to see people like you aware of this, implementing and being pragmatic about ways to improve that consumption of power we Americans forget to bother about. ;-)
thanks for taking the time to explain this so well, awesome tutorial man, keep the hardwork :)
20:40 those 16 seconds were quite accurate because you started the timer just after led goes off.
Great video by the way!
Hi Kevin. Could you make video on attiny series power saving and deep sleep. These micros are perfect for small projects using batteries. I use tinys whenever I can.
Single 3V button cell project would be nice :)
FWIW attiny is similar enough to atmega328 that a lot of this transfers
Absolutely great! No other video or any instruction helped me. Once I watched your video everything works perfect! And even with datasheet explanation! Awesome!!!!
Greetings from Germany ;)
still a great video after 8 years. i am learning to code a Attiny right now. i learned how to disable BOD by software and ADC in this video!
Thanks for the tutorial! I didn't know those registers were simply keywords that you can use in the Arduino code in conjunction with the bit operations.
Great video man. Thanks for going the extra mile and going over every bit and not just showing 1 or 2 things :)
Liked and subbed, Great video Kevin, I really love the way you explain things. I have been using arduino for years now but have always hit a brick wall when it comes to assembly and modifying MCU bits. I just learned more about it in 25 minutes then the past three years. Bravo!
1 mA is too much. We need to go deeper. :) I love it.
This was just a awesome presentation of power saving possibilities. Exactly what I needed. I'm running a 328P-PU on the internal 8 MHz and the power savings in sleep mode are even mire dramatic: on my digital multimeter I measure 0.1 micro amps when sleeping! This is even lower than your 0.368 micro amps you measured. Thanks again for your detailed explanations. They were perfect!
I have a interesting phenomena after increasing the watchdog counter in the for loop to 20 (to get 20x8"sleep) --> It's not possible to wake up the 328 with the interrupt button, unless I press the button multiple times (up to 19 times!). What is the mechanism behind?
Problem solved. Counter variable ‚i‘ needs to be declared globally and set to 76 in the interrupt service routine to get out of the ‚for‘ loop :-)
Wow Kevin, you really put a lot of work into this. Thank you very much for your efforts.
very good presentation from datasheet to real ...perfect
Well put together video with explanation. I'm using a Pmos latch circuit to wake up the whole thing, but then found I could use a Cmos 555 dual timer to do the same thing at less cost and power for a simple project. Uses nothing in the off state. Would like to see some power harvesting projects in this series.
This is... wildly helpful. Thank you!
Tremendous video! Exactly what I needed to give me the confidence to use Arduino in a low power project. Thank you!
Great tutorial Kevin! best one I have seen about sleep functionality. thanks
I really enjoyed this video. I loaded the code provided from the link onto an Arduino
Uno clone and the setting of all the pins to output dropped the measured current used by the Arduino to 11.44mA when the LED was off. For reference when the basic Blink code was running the measured current used by the Arduino when LED was off was 21.72mA. So that alone cut the current usage in half. Brilliant! Really a smart thing to do. Lesson learned. Thanks Kevin. I'll drop a few bucks in the tip jar..
oh god!!!! i was searching for this concept for about a month....great explanation...just amazing...definitely great work #Thumbs up.
Very good. Half way through, bookmarked, because I'll need to watch this a few times.....
Great work Kevin - really clear and straight forward. I particularly like the methodical way you step through this develop the improvements. Would be great to see the differences when applied to the ESP8266
Exactly what I was looking for, thank you!
Ha ha, I love the last minute "Oh, you know what...you need this last bit of code to make this whole thing work". Kinda like "Lost".."oh, you know what..you have to type in these numbers then press "execute" every 108 minutes to discharge any electromagnetic buildup, continually averting worldwide catastrophe." "oh, thanks for the boat, c-ya". All kidding aside, love the videos.
Let's say I am using a standalona ATmega328 chip instead of an Arduino module. When programming this chip using Arduino IDE I have the choice to switch OFF the BODS. In such a case, do I need to use your code to disabel the BODS?
Thank you for a very informative tutorial. It helped me heaps!
Please keep it up.
Thanks man! The best tutorial I've ever seen
I'm looking for a DMM and looked at the price of yours which knocked me back a bit lol
Also thank you for making videos, I always type your name in followed by what I want to learn about because there is always a video!
Re-visiting this video. I can't seem to get the power consumption lower than 200µA with the provided code. Poking around with further PRR modifications brought me down to 112µA, but still nowhere near thelow level you got. Could it be a counterfeit part?
Wow! The current "consumption" (if you could call it that) after you disabled the Brown Out Detection is INSANE! Thank you for sharing this Kevin!
BTW, how come you're still able to upload new sketches after you put the Arduino in the various sleep modes? Is it possible to brick the ATMega by putting it into a "coma"?
+Hari Wiluna thanks! the programmer first sends a reset pulse to the arduino, that of course wakes it up.
So, there is no danger of bricking the ATMega. Reset always brings it back. Phew... Thanks Kevin!
***** yea, thanks for mentioning this. Reminds me how you can flip that bit on the PICs that locks them out from being able to be programmed again
This is really good stuff. Thank you kevin for coming up with such awesome contents. I am actually working on a project in which i really tied up with the battery power consumption, this video is really gonna help me out.
Thank again. :)
Excellent video Kevin, very clear. Many thanks.
This is absolutely perfect video Kevin, thank you so much !
I tried your code with adruino nano v3.0. it went down to 5.5 milliamp from 20 milliamp after removing power LED but I could not get it down to microamps. may be we need different code. can I get any help about that? thanks in advance
Thanks Kevin for this excellent video !!!!!
for my expert i am using atmega328. I need to put it in sleep mode keeping only timer 2, together with qurzo 32768 on pins 9-10, active to continue counting the hour. which sleep mode could i use? Is there anything else that would remain attractive that I could deactivate? thank you very much
Good job buddy, in off grid... every bit of saving is welcome..! 😊
Man, you are the best! Thank you so much! greetings from Colombia!
Wow, just wow. lots of info packed in this video. Thanks a lot.
WOW! explanation in GREAT depth. Liked it enormously. even if I just understood 10% of it 🙂
Thanks Kevin I am combining your ESP8266 to database data and your DS18B20 projects for wifi grain bin temperature monitoring (spoilage prevention) and low power modes on ESP8266 might also be ideal
Still here SHOCKINGLY!
No, I really enjoy the content you put out!
It's very informative and professional.
I don't have enough funds to support you on Patreon, although I have disabled my Adblocker.
Hi there :) Is it possible to cut power supply outputs during the sleep? Because I have couple of sensors plus communication modules and they are drawing power even when arduino is sleeping. Some of them requires 3.3 V power supply and I cant use any of digital pins from arduino
Correction, I think. At 11:38 you said digital pin 3. I can see that is physically the 4th pin, which from looking at the datasheet int0 is on physical pin 4 on the DIP 328, which is digital pin 2 aka PD2. Perhaps you mistakenly started counting from 1?
Still an awesome video!
@Kevin Darrah Hi Kevin! Awesome and very useful video! I had a quick question regarding interrupts. I was wondering when you put the arduino to sleep do you know if the void loop function stops looping? Hence saving power?
Thanks, Kevin! This is definitely a great deep sleep tutorial for battery-powered Arduino projects. I was wondering if a bootloader was used to change the code between each part or you used an external programmer. I presume that communication with the micro host after sleep mode is activated is not possible, isn't?
This is a fantastic tutorial. Thank you for posting!
Thank You for this video, this is what I was looking for.
How does the function pinMode(i, OUTPUT); set a pin to HIGH or LOW. I thought you needed to call the digitalWrite(pinNum, HIGH/LOW) to accomplish this. How would I set it LOW?
awesome video!! It motivates me to learn more about this assembly setting and try to get more out of the datasheets (it has being always like ready ancient code non-sense)
Well done Kevin, a very well explained and documented tutoral, I have learned a gret deal from your video and in fact have now written my own library to "sleepState" to allow me to implement these great power saving ideas
cool! thanks
Absolutely amazing. Your content is superior. Thanks
Hey dude! Your video was very helpful to me! Thanks
0.0000003 Amps...
That's f****** mind-blowing!
Hi Kevin. I really impressive by the project you have done.
I would like to have some advice from you if possible. I'm working on low power project. I could not find the ATmega328P library to boot loader and upload the sketch. I select Arduino Uno but not working.Tks
thanks a lot i had no clue what i was doing and was explained really clearly
Hi Kevin, thanks for this video, it really helped me for my little project. I do have a question. You include a button to wake up the chip, but I noticed that you didn't use the assembler command sei for "Global Interrupt Enable" at 3:55 in your video. Why is this not needed? Or is yours already enabled? Thanks again.
Great job, I was struggling with getting from 60uA to 1uA. And it was just BOD monitoring. Thank you.
Hi Kevin, great stuff!! I tried uploading the code on PlatformIO but received a compilation error stating "src\main.cpp:16:22: error: 'digitalInterrupt' was not declared in this scope" the code worked perfectly in Arduino 1.8.5 though.... any suggestions why I see this on PlatformIO? thanks in advance
Nice video, Kevin. I started experimenting with power reduction a few weeks ago with an ATTiny 84 powered IR remote. I found the power reduction register helpful for turning off unused peripherals. I was wondering: why do you use the arduino IDE over atmel studio or some other IDE? For simplicity/speed/familiarity? To reach a wider audience?
Thanks Kevin -
Very helpful.
Hi Kevin, that was a very comprehensive video and I think you covered the lot!
I just wish the Atmel guys had done a video like this in the past as I had no idea of which low power options to use.
Maybe they were 'interrupted' too much to do anything else apart from datasheets :-)
I wish I could afford some test gear (and time) to check batteries, but assume if 4 x AA alkalines were used, and without waking the MCU that they would
last at least a year (maybe).
Thanks much again for your great explanation and effort in sharing this!
You do not making the pins state in the for loop. You do not need the INPUT low state for lower consumption?
Thanks, this was just what I needed for my data logger project!
Kevin: don't worry, we won't use any library
Me: now I worry
Very interesting. I like your approach to the problem. Simple, direct, and effective. Thank you. I will surely use your method for a small project I have in mind.
Hey, it works like a champ! Made a 2nd remote control for my Mitsubishi AC so I don't have to go upstairs to turn it ON/OFF everytime I return/leave the house. 1 ATmega328P(8MHZ no caps, crystals), 1 IRLed, 1 3V coincell battery, a pushbutton switch and a little bit of code. Saved me $75. I was unable to measure the LOWLOW sleep current with my multimeter! THANX!
Kevin if you catch it early, you can use RUclips's vid editor to chop out the bit you don't want(click your icon/creater studio/create/video editor). Then you don't have to re-upload - It will publish a new vid.
Thanks...this cleared me lots of doubts
awesome, please make more tutorials about timers, interrupts (time and hardware)!
Is the watch dog timer max is 8 Seconds or 16 seconds ? Can we loop to 3 to get 8 x 3 = 24 seconds ?
Great video! Exactly what I needed, Thank you.
Hi,
can you please write which electronic components you used (beside the ATMEGA) for the setup?
Thanks
Kevin -Over the last year or so I have watched this video about 6 times. It is a subject I am interested in, and you did a good job explaining and presenting it. I looked thru your low power playlist and I don't see anything about using an attiny. Would this yield an even lower current consumption and still allow a wake up interrupt and an external interrupt ?
Hey Kevin thanks a lot for the video, learnd a lot.
how 'low' can i go, when i plan to wake up the ATMega via Serial input?
i want to control something on PC via an VB.Net Program over serial converter
Awesome video! Very well made. Thank you.
very nice, really hard work. Congrats for sharing :)
i'm not entirely sure why, but for me the for loop just doesn't do anything. no matter what i put in there, it always just resets after ~8 seconds. what could the problem be?
Kevin, my programming experience is mainly in assembly, so forgive me if my question is odd. I've never set registers manually in Arduino IDE, so why not manually set the reigsters in assembly code if you can use inline assembly? From what I remember, it wasn't as tricky to just write %10000000 to the register's address to set bit Seven, or %01100000 to set bits 5 and 6 simultaneously. That or use BSET or BCLR. Do you have a tutorial for doing this kind of thing in C++ or in Arduino IDE? I'd like to understand a litter better. Thanks!
thank you so much for making these happen man
Why use the assembly commands instead of the C commands?
Because it's cool.
Because it runs faster and consumes less memory :)
Do you get similar results with ATMEGA328P (no -PU) ?
Excuse me, sir, I would like to get sleep mode code of ATMega 328P code that goes to sleep and wake up depending on a timer, not external switch.Thanks a lot