There are many development boards out there based on the Atmega328P / arduino compatible. And many of them are probably low power compatible / oriented. Regardless I have decided to make my own design. Just to see what will come out of it.
So first of all, I will start by saying that perhaps the Atmega328P isn't the most low power microcontroller out there, and many of the newer arm based MCU`s are much more powerful while have much lower power consumption. But if you want to start designing boards, start with the Atmega328P :) and making it arduino compatible will bring some people at least to try it out and tinker with it.
The main components for the design: atmega328p dip package, battery charger, voltage regulator. And headers for an nrf24l01 module. With some prototyping area which is very handy to have for stand alone projects. See schematics
Note: The atmega328 base schematics (Crystal / Capacitors) is based on sparkfun design.
Some Capacitors , Resistors all 0805, see schematics.
8 MHz Crystal, DIP package. 20pf.
JST 2.0 - Connectors for lithium battery and solar panel.
Component choosing reasoning:
I chose the atmega328 in its DIP package so I will have access to all the pins without the need to add breakout headers to the pins of the SMD version. Making the design simpler, in addition the DIP package can be removed and flashed (for the arduino bootloader) using an arduino uno development board (DIP version) allowing me not to add the icsp headers to flash the MCU on board.
NRF24L01 Transceiver is very popular, and cheap so I use it extensively in my projects.
The rest of the components are just what I had already from previous projects.
The MCP73831 is a very common lithium charger IC, and sparkfun has different designs with it, so it was a good reference.
The TLV733P regulator fitted my requirements as it has an enable option with typical 0.1ua when disabled. In addition it has very low dropout voltage, up to 125mv for full 300ma.
The main configuration is in choosing how you want to power up the board. In my design the MCU supply voltage (VCC) is configured through a jumper. While you have the option to power it directly from the battery (Vbat), or using the 3v3 voltage regulator output (3V3). In addition you can set the jumper between Vin and Vcc, for battery charging through the arduino ftdi header.
The most low power configuration is to power the MCU directly from the battery. In this scenario you can disable all peripherals including the NRF24 module through the voltage regulator enable pin. Achieving up to a few microamps current. Based on this article from sparkfun https://www.sparkfun.com/tutorials/309 .
The alternative is to set the MCU power supply from the voltage regulator, which isn't the best for low power but good enough, at typical 34 microamps for the regulator (based on the datasheet). For this option you need to leave the pull down resistor unpopulated and add a pull up resistor to Vin.
Alternative option is to keep the pull down resistor adding a pull up resistor to Vin. it will use up some power but will make an interesting combination at which the circuit will automatically be enabled when charging is occurred. For example when using a solar panel to charge the battery, when the battery is running low. The MCU can pull down the enable pin disabling itself and all surrounding circuit. Running practically on zero consumption (or the 0.1 microamps, specified in the datasheet for the regulator). When the sun is up again. The solar panel pulls the pin high starting charging and enabling back the circuit.