Raspberry Pi Zero – Conserve power and reduce draw to 30mA
midwesternmac.com
midwesternmac.com
Or, if you just use the Pi for sensor readings, get a proper microcontroller, where current is measured in micro (or even nano-)amps...
I have a bunch of "nodes" I need to make, each one has a single sensor (temperature, moisture, light, or distance using a sonic sensor) that will send back to a Raspberry Pi base station. I was going to use RasPi's for all of them since it's all I know. Each will be battery powered with a solar panel. Open to any/all suggestions people can give me on how best to attack this!
Architecturally it's a 16 bit Von Neumann architecture at up to 16MHz with a remarkably elegant ISA and extensions to let it address more memory. Most interestingly, some devices have 64kB or 128kB of FRAM --- non-volatile RAM which operates at SRAM speeds! And because it's a Von Neumann architecture you can load programs off disk into it, which lets you do some cool stuff. (I ported Alan Cox's Fuzix to one.) Of course, an SD card will use loads more RAM than the CPU itself.
I believe you can run one with no external components whatsoever. Hook it up to 0V and 3.3V and it'll run at 8MHzish on its internal oscillator.
As for external devices: at least G-series need external components to generate reset pulse to reliably boot (it mostly works with reset left floating, but whether it reliably works is function of how quickly the power ramps up, I got burned by this on last project).
http://www.larsen-b.com/Article/315.html
I used it with a AVR Dragon (a rather full-featured, but still relatively inexpensive AVR programmer). You can use it with Arduino boards, of course, when you solder in the 6-pin ISP socket. (e.g. the pin header on the right of https://www.arduino.cc/en/Main/ArduinoBoardUno )
http://jeelabs.org/tag/lowpower/
And if you want a long-range, low-power wireless connection - use LoRa , There's a driver here:
http://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF...
[1] http://www.link-labs.com/what-is-lora/ [2] http://www.multitech.com/brands/multiconnect-mdot [3] https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Blue... [4] http://www.espruino.com/ESP8266
Until this current wave of boards (CHIP, RPi zero) it was pretty much on its own in the land of dev boards - substantially beefier than Arduino, ESP8266 and Teensy 3.2 but way leaner than the RPi and BBB et al.
I still think it's a nice piece of kit even in the context of these new ARM boards.
Update: found some numbers on current draw - looks like out of the box it sits around 40mA idle, so slightly more than they tweaked the RPi Zero down to. http://www.robertoasquini.com/?p=148
Also, is there an easy way to have an isolated realtime component, eg closed loop controller for motor drive? Could you just set up a hardware timer interrupt that preempts the kernel?
Then you can have a look to smaller microcontroller (if your project allows it), for example the ATTiny family. You can get to ~10/20uA consumption when using deep sleep and only reading sensors once a while.
The simplest programmers (ISP: In System Programmer) are only a few dollars, and they allow you to burn your creations in blank off-the-factory chips without bootloader. I think there's even an Arduino project that turns your arduino into a (very limited) STK500 compatible programmer...
[a quick web search turns up https://www.arduino.cc/en/Tutorial/ArduinoISP ]
Also worth knowing that the successor to the ESP8266, the ESP32, is currently in beta testing:
https://hackaday.com/2015/11/06/the-latest-best-wifi-module-...
You can get them for even cheaper directly from Chinese distributors.
Banggood, DealExtreme and AlieExpress are convenient and ship worldwide, but they are not the cheapest, although they are usually already quite cheap compared to most.
[1]:http://www.banggood.com/ESP8266-ESP-12E-Remote-Serial-Port-W...
For fun, first-time projects, it's a lot easier to have someone write a Python script and go, rather than breadboard a circuit and write in a more obscure, less-abstracted language.
[0] https://learn.sparkfun.com/tutorials/h2ohno/low-power-attiny
I was looking for the most power efficient thing that could run a minimal desktop on battery and fit into my palm.
This is a great article [1] about how Chinese SOC manufacturers and Chinese IP works. I ended up just ripping out the mainboard of phones to get access to the SOC [2].
[1] http://www.bunniestudios.com/blog/?p=4297 [2] http://janos.io/
ps: funny, just an hour ago I was trying to flash an old nexus s with CM*.
That's why projects like Fernvale are potentially very useful, as they would make it easier to repurpose the cheap hardware used for feature phones:
The price of hardware in China is beyond amazing - honestly I could run a laptop off those specs with a slightly larger better screen (assuming I don't need to compile C++ :D)
[1] http://www.banggood.com/Cube-iWork8-Ultimate-32GB-Intel-Cher...
Yes there are absolutely better suited platforms.
So it spends part of the time being highly capable, and part of the time sleeping with no downsides.
The Pi is just not cut out to be a passive battery-powered device.
If you power a RPi via micro USB, then the 500mA budget is shared between the RPi and all your peripherals. Your post doesn't say which RPi model you have, but a B+ or a gen2 B will draw anywhere from 230-420 mA idle, so your periphals only have 80-270 mA available.
[1] http://www.midwesternmac.com/blogs/jeff-geerling/raspberry-p...
I actually think you can even damage the board if you create a short between the gpio pins and ground. So any kind of circuit requires a resistor, carefully reading the system manual and data sheets for your components and using ohm's law prior to hooking up components.
Also - get wordpress and analytics.
Thanks to a few suggestions from others on the Raspberry Pi forums, Hacker News, and Reddit, I am able to disable the ACT LED and HDMI, and that results in a 5 mA and 30 mA savings, respectively.
There are hardware add-ons like the Sleepy Pi[1], but that's a large added expense, and makes the management of the overall platform a lot more complicated.
https://en.wikipedia.org/wiki/Psion_Series_5
(The patents on the folding keyboard will probably have expired by now -- the design dates to 1994-95 -- and with a 30mA draw the Pi 0 is within spitting distance of the sort of power the Psion 5's twin AA cells delivered. Add an e-ink display and a wee USB bluetooth peripheral for i/o (wifi too, if it can be done within battery limits) and it could be the second coming of the form factor of the Sharp Zaurus Z-1 Netwalker (only with a better keyboard and more usefully open software stack):
http://www.engadget.com/2009/08/27/sharps-5-inch-pc-z1-netwa...
Anyways for your needs I'd look at the CHIP, which is much like the rPi 0 except it has WIFI and BT connectivity, plus built in power control and charging circuitry (and costs $9 (or $8 if you are fast)) [1]
A hackish job is probably possible, the hard part would be sourcing the display.
For one thing, it's the current that you usually measure in these cases anyway. For the other, power consumption in watts is not what you generally want to know when you design a battery-powered circuit. And, last but not least, it's more useful to have a figure in (m)A than (m)W when batteries are rated in mAh.
It's not correct terminology, mind you, but then neither is that of energy in your energy bill, so I guess this can be forgiven.
[1] https://github.com/geerlingguy/raspberry-pi-dramble/wiki/Pow...
The reason that these terminology and units were used by OP was because at a fixed voltage it is common for engineers to think about current instead of watts... even when their aiming to reduce power.
I'm not sure of the exact reason for this, but I suspect that it's because:
a) Measuring current is a more fundamental function of instruments. Quite a lot don't even measure power. So talking about current instead of power, even when you're aim is to reduce power, makes for a smoother process from a practical sense.
b) Batteries are usually measured in mAh. At lower power/currents you're usually using a linear regulator and therefore dividing mAh by mA is a very important measure. So you often keep everything in mA.
Voltage and current are easy to measure with a pair of multimeters, so it's more useful to have those numbers than wattage.
A sensor node with a 5Ah battery would have a budget of .5mAh to have the battery last s year. That is still two orders of magnitude under the Pi. Power is interesting for cooling and economics until you get below a few watts, at which point the power costs nearly nothing and the cooling is done without heat sink in air without fans.
PS - I know we aren't going to get WiFi for under a few dollars a year. But physical ye-olde switches are vastly under-estimated I feel. In particular a button to put it into "configuration" mode.
Are there any reviews of the power usage of cheap USB Ethernet adapters?
Also, there are other ways to communicate that can potentially use a lot less power than Ethernet or WiFi :)