I find following this path very interesting. Albeit I have a few questions and comments.
TLTR: I would love to build an energy-harvesting skin and a low power RF skin (maybe an EnOcean-shield?!) bringing pyboards to IoT and smart home.
The pyboard does not include any wireless communication unlike the wipy-board. Thus, how realistic is the chance that you will power a pyboard over larger periods on tiny small battery. Maybe as data logger for a sensor device. Since it does not spot any communication channel, one might come up with some LEDs or other ways to read a status message. However, those would draw much higher currents then any standby problem. I can see the efforts behind reducing the standby power but want to give awareness that most practical applications might not come even close to those values. Just take the heartbeat and power LEDs on most boards. Those consume often more then any other peripheral or the even the uC itself.
Just to give an comparison the MSP430 which claims to be the power-saving king among the uC-gangs states it consumes 1.5 µA in standby, yet I haven't seen a practical application (with peripherals) which comes even close to this value.
Well, if the discussed ideas could be ported to the wipy board as well, that might be even more interesting, or making sure that a pyboard and one of those wireless modules interact nicely with each other in terms of power consumption. Then we could have a pyboard/wipy which even in terms of IoT/smart home usage becomes interesting and might even leave many proprietary boards behind.
If I understood correctly, the pull-up on the MOSFET will only consume power in the "on" phase, in "off" you mentioned the pin will be high-z, that should limit the current already, isn't it? Anyhow a high resistance doesn't hurt here, since, I guess nobody plans to switch the state with several hundred kHz
Beside of a small solar cell I would be interested to see if we could come up with an energy harvesting skin for the pyboard/wipy. That would be very interesting. RF / vibration / temperature / electrochemical cells, even large charge cycles of a supercap, could be sufficient if one cal live with very short and infrequent on-time periods. There are a lot of battery-less sensor devices from
EnOcean would be interesting to see if we could get create a skin to talk to/with those sensors. A pyboard-enocean system would allow us to add pyboards to smart home solutions.
With that respect, for a combination with a wireless module or the wipy board, a wake-up call routine could be helpful. The board powers up every few minutes just to check if there is a request and directly went to sleep again, if no request is present. If there is a request, it does it magic and send values back. Optimizing this check-routine would limit the on-periods and can save a lot of power compared to a fixed periodically wake-up-measurement-calculus-transmission-standby-routine.
Just some thoughts
