Power is always a concern for every project you work on. The simplest solution is to use a power adapter that plugs into the wall, but then you're tethered. Battery power gives you portability, but is more difficult to implement and introduces the need for charging. Energy harvesting is an exciting alternative and can provide limitless power, but it is very challenging for makers to integrate into projects. That's why a team of engineers from Northwestern University and Delft University of Technology have created an open source board called BFree that makes energy harvesting a snap.
BFree is an open source board that makes the same energy harvesting technology from the battery-free Game Boy available to makers. That Game Boy ditched batteries in favor of solar cells and current-generating buttons. If your project sees some sunlight and has buttons to press, BFree could make batteries unnecessary. The BFree team also created a special Python library, designed to work with CircuitPython, which pauses processes when power is insufficient. This provides seamless recovery after periods of low power, such as when cloud cover blocks sunlight.
To make it as easy as possible to integrate into a project, BFree is a Shield board designed for the Adafruit Metro M0 development board. But the Metro mimics the Arduino Uno form factor and pin layout, which means that BFree should work with any Uno-style board compatible with CircuitPython. The BFree shield has a large onboard capacitor for buffering and storing small amounts of power, and a chip for power regulation. It has pass-throughs for the development board's IO pins and connections for your energy-harvesting power sources, like solar cells or piezoelectric generators.
BFree isn't currently for sale anywhere, but the design files are available on GitHub so you can build your own shield. The GitHub page also contains instructions on how to setup your CircuitPython firmware to work with BFree.