Another theme that popped up in a few talks today was designing with the idea of Intermittent Computing, where a computational system runs when it has collected enough energy from its environment to do something, after which it turns off to recharge:
https://cmuabstract.github.io/intermittence_tutorial/
Also the use of Supercapacitors to buffer energy, since they don't wear out like batteries when used:
https://en.wikipedia.org/wiki/Supercapacitor