I really want a computer that you can run on a potato battery or two. Does such a board exist? What is the lowest-power general-purpose Linux computer in existence that's somewhat convenient to use?
If my maths is right, based on this Wikipedia article[1] a typical lemon or potato battery will deliver about 1mW.
That's not enough to drive even the smallest 32 bit CPU (eg the Cortex M0). Or to be more accurate, you could drive the CPU at ~ 100 Hz from your potato, assuming you had no other hardware.
If you want to play with a tiny, cheap 32 bit board that does not run Linux, but is a lot of fun anyway, I recommend the Freescale Freedom board FRDM-KL26Z (under £13/$20 each -- they're so cheap that one unit didn't reach the minimum order value of the reseller so I had to buy two of them :-).
> That's not enough to drive even the smallest 32 bit CPU (eg the Cortex M0).
Last I heard, low-power Cortex-M chips were running at 100-200µA/MHz, with supply voltages in the 1.8-2.0V range. So you might (barely) have a chance of getting it running on a potato or two, especially if you use sleep modes aggressively. And just because MCU alone is bit boring you could throw in a Sharp Memory LCD (or eInk stuff) too, those are also well below .5mW power consumption.
Of course that would still be far cry from a linux system, but on the other hand it is running on a potato.
For really-low-power computing, you may want to consider operating intermittently - unless you have a lot of potatoes, there's not much current available.
Though I believe that chip is more focused on collecting sporadically-available energy (from solar panels or piezos) to run a higher-current device in bursts of activity.
According to the video [1], the MSP430 supports lychees, kiwi, papaya, mango, asian pears, lemons, and strawberries, and a quick Google search does not show anyone getting it to work with a potato. There's nothing stopping you from trying, of course, but these are all fruits and the firmware is not open source, so you may have difficulty getting it to recognize a potato.
You can run plenty of low-power microcontrollers on that kind of current if (a) you're happy to write in C and (b) you're not driving anything that needs more power like radios or networking.
I'll provide some google terms for your request. Note that you have multiple orthogonal criteria, so any balancing act across those areas will "win" at different points for each person's personal opinions.
WRT ultra low power computation and ignoring everything else, google TI MSP430 family or Microchips XLP (extreme low power) PIC series. Typical marketing figures are double/triple digit microamps of current per MHz of clock at a couple volts, so figure double/triple digit microwatts per MHz (and usually tops out at not many MHz), which is of course fairly meaningless when compared across families because its a clock freq. Its rather important if a simple binary add takes one cycle at 300 uA/MHz vs 324 clock cycles at 30 uA/MHz, the better marketing figure does not necessarily provide best system performance figure of "actual real world work per microwatt"
If you want easy to use, that ranges from some $12 dev board from TI which does approximately nothing you listed, up to the somewhat famous Dimitry Grinberg emulator where he hand wired some dynamic ram and numerous other devices as I/O devices to an ATMega 8-bit chip, then wrote an ARM emulator on the ATMega, and stuck linux on the emulated system. Thousands of instructions per second. But hand wiring is often not seen as convenient as "open dev kit box, plug into USB, all done".
Finally WRT "general purpose linux" I'd personally define that as something with enough ram and storage to run some modern stuff on top of a JVM. Most of these specialized "linux" SBCs are around the hardware level of a early/mid 90s desktop and have the hardware to make a great router, or wifi access point type of appliance, but you're not going to run a modded minecraft server on 8 megs of ram, even if thats perfectly adequate for a home router or a wifi access point or a DHCP server or DNS server or whatever. So you're getting openWRT to act as a router, not a "mainline Debian install" Although there are small machines like the raspi that are almost but not quite "mainline Debian installs" and home-theater PCs like zotac zboxes that are just small desktops and therefore make great little mainline Debian boxes (for like 10 watts and $300, admittedly)
There are also interface issues such that for J random hacker a wanna be settop box is probably a lot easier to set up and operate than a wanna be network appliance. Solely easy or difficult at the I/O initial install level, not beyond that.
There's also definition problems with "low power". At a dollar per watt-year, there's economic noise level of low power where an old desktop is probably fine, even if run 24x7, and if you're doing this for an employer they'll be paying you about ten thousand times as much as a cost of employment as the cost of the electricity you'll be using in this experiment, or done at home it'll be "about a ten thousandth your income" so energy cost is not a major economic driver. Low power in that context merely means it won't have an effect on the local HVAC situation. Then there's deep space spacecraft low power, where every watt of electricity costs multiple kilograms of plutonium so all that matters is its reliable and low power and nothing else matters. Everything else falls somewhere in between.
> WRT ultra low power computation and ignoring everything else, google TI MSP430 family or Microchips XLP (extreme low power) PIC series. Typical marketing figures are double/triple digit microamps of current per MHz of clock at a couple volts, so figure double/triple digit microwatts per MHz (and usually tops out at not many MHz),
There are plenty of manufacturers claiming now "ultra-low power" in various forms. EFM32, STM32L, Kinetis L-series come to mind now.
> which is of course fairly meaningless when compared across families because its a clock freq. Its rather important if a simple binary add takes one cycle at 300 uA/MHz vs 324 clock cycles at 30 uA/MHz, the better marketing figure does not necessarily provide best system performance figure of "actual real world work per microwatt"
Indeed. You also need to account for effects like "race to sleep" and the various special low-power operating modes. One recent interesting development in that area is "ULPBench" http://www.eembc.org/benchmark/ulp_sl.php which kinda promises to deliver a "work per microwatt" metric. Too bad it is so new that I haven't actually seen any credible results yet.