I've used my RPi 3B+ recently in a solar-powered application. This answer is based on my experience.
You must add a Real Time Clock using external hardware
Without external hardware, is not possible to turn any currently available RPi ON or OFF at a designated time. If you want to do this, you will need a Realtime Clock (RTC). My approach to Add a Real-Time Clock to Raspberry Pi is documented on the linked GitHub page.
Reduction of Power Consumption
If you have an RPi 4B, you have three options for reducing power consumption during periods when no processing is being performed. For all other RPi models, you have only two.
Zero Power Consumption
For all currently available RPi models, the only way to get to a zero-power state is to physically disconnect the power source from the RPi. In other words, all RPi will continue to draw power after processing has been terminated. External hardware is required if you want to achieve a zero-power state.
Reduced Power Consumption
For all currently available RPi models, power consumption is reduced following a halt
, shutdown
or poweroff
command. I made some measurements on my RPi 3B+, and found that it drew 80 - 90 mA after processing had ceased. The RPi 4B consumed significantly more than the 3B+, but this varied over time as the EEPROM firmware evolved.
Low Power Consumption (RPi 4B only)
The RPi 4B retains much of its firmware in EEPROM, which has enabled creation of a "Low Power Mode". Using this mode is described in this Q&A, and requires changing two (2) parameters in the EEPROM code: WAKE_ON_GPIO
and POWER_OFF_ON_HALT
. This was a useful, but IMHO incomplete, addition to the RPi 4B as it remained impossible to re-start the RPi without external hardware.
I built and tested external hardware for my RPi 3B+ solar application. It entered a "Zero Power" state at designated times using an RTC, a latching relay and a few miscellaneous electronic items. It worked quite well for my purposes (houseplant irrigation). I've not gotten around to publishing the schematic, and since you've indicated the cost of the Witty Pi is prohibitive, there seems to be no need to do so here. The cost of a genuine DS3231 RTC module is nearly as much as the Witty Pi.
In your case, with no external hardware, there is little you can do to reduce power consumption. You can use cron
to shutdown the RPi 3B+, but automatically re-starting it is not possible because the processor is no longer running. A manual restart is available of course simply by removing and re-inserting the power connector. As a barebones hardware solution, you may wish to consider Matthijs Kooijman's "Single Button ON-OFF Switch" - this solution will get you to the "Reduced Power" mode using a single, inexpensive pushbutton switch.
Hope that helps - let us know if you have further questions.