Having said that, there's absolutely no reason why completely cutting the power can't work if done correctly. The application might be a little bit more limited, as you need an external device or manual switch to wake it, but I can see possible usage where something just needs to complete a given task and then power itself down when done.
BTW. The following are the sleep mode supply current (from Vin) I've measured on my UNO and (NANO) boards.Full power : 25 mA (25 mA)SLEEP_MODE_IDLE 18 mA : (17 mA)SLEEP_MODE_PWR_DOWN : 9.2 mA (8.2 mA)So about 37% (UNO) of full load power (and 33% for NANO) for the maximum power saving mode on a complete board. So fair power savings, but nothing close to completely cutting power.
That is not an argument in favor of self-switching power. That's an argument in favor of not using a development board as part of the final assembly.
Basically I'm just saying don't completely rule it out, it can have it's place.
not use delay()! Delay() sucks. Switching power this way sucks too, and doesn't even provide the best results.
Incidentally, why are your current measurements so much lower than Nick's?
Not really a fair analogy in my opinion. Two totally different things.
Not really sure. I see Nick measured about 50 mA versus my 25 mA on the UNO. Could be that mine is a clone using the ch340 usb chip. It also has the 328p micro controller in the smaller surface mount format. I'm not sure if that makes any difference, though it could be a newer revision of the chip. I also had the inbuilt LED off, so a few more mA saved there.
I think it's completely fair. In both cases you have someone doing something stupid
That's a bit of a circular argument there Jiggy. On one hand you are using your analogy to show that it's stupid, and then you claim the analogy is fair because they are both stupid.
According to this datasheet I found CH340 takes 150 uA in USB suspend. It's probably in suspend mode when USB is unplugged.
That means the rest of the 9.2 mA of current you're reading with PWR_DOWN mode is due to the crappy regulators taking an astronomical amount of quiescent current.
In a few limited circumstances maybe, but to me it usually reads like someone asking "how do I check for button presses when I'm delay()ing all over the place" and people answer by teaching them how to use attachInterrupt instead of teaching how to not use delay()! Delay() sucks. Switching power this way sucks too, and doesn't even provide the best results.
But for us, not so obsessed with "the right ways" delay() is fast way for the program to do what should be done.
Anyway, using sleep is very similar to using delay(). If you learn how to interrupt delay() you may use sleep just in the same way.
Mostly young and some old people believe they know everything and only their point of view is the right one. I suspect you fall in one of those categories. Try to mature.
Now on the schematic the NANO specifies the much higher bias current 78M05 (around 5 mA), however just looking at my nano clone I see that it actually has the same NCP1117-50 as the UNO. So again it looks like most of that 8.2 mA is just the "on LED" power.
The NCP1117 is pretty bad too.
Interesting. I've used that one before and from memory it was a lot lower than that. I'll double check part I used previously.EDIT. Yeah it was the adjustable voltage version (NCP1117-STA) I used previously. I_adj about 100 uA
The adjustable version has a minimum 5 mA load required to properly bias the voltage reference.