
Integer division powered by lemonade-bleach battery - rutenspitz
http://pl.eecs.berkeley.edu/projects/chlorophyll/
======
zitterbewegung
This is an interesting idea that explores if you limit your power supply to
extremely small amounts and see what you can compute with that. Makes me think
of what you could do really low power ARM M0 hooked up to piezo electric
battery or something.

~~~
david-given
The MSP430 will run flat out at about 200 μA / MHz, and they have 32 to 64 kB
of non-volatile RAM. You could certainly get useful stuff done with that.

------
Scoundreller
And I just found out that the potato-powered webserver was a hoax!

[http://hoaxes.org/archive/permalink/spud_server](http://hoaxes.org/archive/permalink/spud_server)

~~~
jonknee
I remember being really bummed after finding that out.

~~~
50CNT
If it makes you feel better, someone actually did run a potato powered server
for a while in response.

------
zokier
While neat demo, 3-5 mW does not sound that efficient compared to modern
microcontrollers, which by themselves might use order of magnitude less power.
Of course whole system power will be bit higher than just the microcontroller
alone, that blinking LED probably consuming almost as much as the controller
:)

------
ars
Not directly relevant but that battery is not powered by lemonade or bleach!

It's powered by the metal wires placed in the electrolyte, not the
electrolyte. The metal oxidizes (corrodes, burns), and that is what provides
the energy.

------
Aelinsaar
I'm not sure that I understand the application, or if there is even supposed
to be an application, but this is certainly very novel. Or rather, it's an
interesting take on the potato battery.

~~~
nishanttotla
Disclaimer: I worked on this project for a year in the past, and was also
involved with recording this video. I haven't worked on the project for a
while though, and it has advanced significantly.

We were using a GreenArrays chip
([http://www.greenarraychips.com/](http://www.greenarraychips.com/)) which is
a 144-core ultra low power architecture. That's great, but it's super
difficult to program, and only a few experts can really do it. We were working
on building a high-level programming language and compiler toolchain that
would allow anyone with programming experience to write GreenArrays programs.

So we were basically building a compiler, but with a twist - instead of a
traditional compiler which generates machine code from source code through a
series of transformations, we used a technique called program synthesis.
Synthesis treats the high-level program (source) as a specification, and
performs a search across the space of possible target programs (machine code),
trying to find the optimal one (in our case, optimal meant energy efficient).
The backend uses a bunch of Programming Language techniques and SMT solving
([https://en.wikipedia.org/wiki/Satisfiability_modulo_theories](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories)).

As you can imagine, this is a hard problem and synthesis isn't quite ready to
replace sophisticated compilers. But where synthesis can really shine is in
places where you don't have mature compilers and need to generate complicated
optimal code, that perhaps no human or human-written compiler might. Or in
cases where parts of the program need to be extra-optimized.

Coming back to the experiment, the integer division code running on the chip
was generated using synthesis, and we wanted to show that we could run it on
low energy.

~~~
Aelinsaar
Thanks for such a complete and lucid explanation!

------
discordianfish
(Much) older hn discussion of the chip which powers this:
[https://news.ycombinator.com/item?id=1810450](https://news.ycombinator.com/item?id=1810450)

Sounds like the neural network example is a better fit for this and makes it
indeed interesting.

------
userbinator
The ASICs used in solar-powered calculators operate in the uA range, but I'm
not sure how many MIPS/W they are.

------
amelius
It would be nice if the machine kept its state when the power temporarily
becomes too low.

------
piratebroadcast
[https://www.youtube.com/watch?v=-XP7yflhOtE](https://www.youtube.com/watch?v=-XP7yflhOtE)

