
See the parts list. Note, I'm not using 78xx regulators as the image shows.
The microcontroller runs a program that watches the PB3 pin and keeps PB4 high all the time that PB3 is high and for 60 seconds afterwards. This means that a button press turns the Pi on for long enough for it to use GPIO17 (controlled by an init script) to hold PB3 high itself. When the Pi shuts down, PB3 goes low (or high-Z depending on shutdown stage), and a minute later it loses power. I am using a long timeout as it takes the Pi some time to boot to a point where GPIO17 can be brought high.
The SCLK, MISO & MOSI connections between the ATtiny85 and the Pi are to allow the Pi the program the micro controller using avrdude. This can be done without the Pi losing power as PB4 is pulled high by R5. These do not need to be included once the chip is programmed.
The one down side to this setup is that a fair bit of power is lost in Q1 while the Pi is running, the voltage drop is about 0.73 volts, bringing the Pi's system voltage down to 4.16V, woefully low. However it seems to run nicely. Does anyone know a better way of doing things regarding Q1 & Q2? I was thinking of using a MOSFET but can't find out how to drive one from a microcontroller output.
I the final version I will be using a different microcontroller with more IO pins available and won't have to mix the GPIO and push button signals. I'll also investigate the three states of the GPIO pin (high, low, and high-Z) and see if my microcontroller program can be a bit smarter.

