I’m working on a battery powered remote control. It uses a touch screen, so needs the A/D converter, and uses an RF transmitter, so I’m currently using VirtualWire for the data transmission. However, I’m willing to change anything to get this going. I’m using the Arduino board to program the chip, and then transplanting it to a breadboard, which has a 5V supply, 20MHz crystal, a few capacitors and resistors (nothing too unusual).
I’m struggling to get battery consumption below 20-40mA (even when very little is going on). This seems awfully high; I’d imagine <10ma would be much more suitable (remember: I’m not measuring the USB interfacing - just the atmega chip).
I can work out the specifics of my code, but I’m trying to find a way to get the nearly-idle current down first. I’ve tried the ‘blink’ code, and even with no LED connected, consumption is up at 40mA. I realise that delay() isn’t very efficient, but even with a proper sleep and watchdog wake up, it’s about 20mA some of the time, and around 40mA the rest of the time.
For example’s sake, what’s the lowest current consumption possible for a ‘blink’ style application (let’s just say it waggles a digital pin, but doesn’t light up an LED)? I’ve attached the basic code I’m using, but I’m looking for ways to turn stuff I don’t need off, and stop the Arduino libraries doing anything that I’m not aware of. Any help much appreciated!
low_current_blink.pde (2.17 KB)