I have purchased a couple of Arduino boards that are made specifically for the Raspberry Pi and they are named after their inventor Gert van Loo,
Gertduino. The specs, software, and manual are available via this link.
It is a great platform to work on the inter-communication between the Raspi and the Arduino. I'll be using this combination to further develop my battery monitoring system for my Raspi UPS.
The Arduino will have a 3 level response:
1) My plan is to have my Raspi backup battery charged via the solar panels.
2) The Arduino will monitor the battery voltage. If there is very little sun, or too much load, then the arduino can switch on the 110VAC battery charger to charge the batteries back up.
3) The Arduino will continue to monitor the battery voltage, and if there is no sun AND no utility power, then the Arduino will safely shut down the Raspi if the voltage drops to a preset level. If the voltage continues to drop, the arduino will shut off as well.
NOTE: The advantage of the Arduino is that it can safely recover from a power outage, where the Raspi may not. So the Arduino will power back up and when the battery voltage reaches a preset level, it will power up the Raspi.
ARDUINO vs GERTDUINO: I like working with the Gertduino since it is mounted on the Raspi that it communicates with. However, I've been able to communicate with a regular Arduino Nano as well, so this would be the device I will use as my Battery Monitor, freeing the Raspi GPIO pins for other uses.