Skip to main content

Using a Solar Panel


Choose a solar panel that has an open-circuit voltage not exceeding 18 V, and an MPP voltage from 4.6 V to 16.8 V.


Pay close attention to solar panels advertised as 12 V, as most of them actually have a much higher open-circuit voltage of around 21 V - which exceeds the 18 V limit for VDC.

A 10 W panel in ideal conditions should be able to saturate the maximum battery charging current of 2 A. However, if you don't need a charging current that high, you may opt for a smaller wattage, and consequently physically smaller, solar panel.

The following are solar panels we have tested first-hand to work well with PowerFeather:

NameWattageMPP voltageOpen-circuit voltagePurchase Link
PowerFeather Solar Panel10 W12 V13.9 V
NETCOMLAB COV-3510510 W15 V16.5 V


Solar Panel Connection

Simply connect the solar panel's positive and negative terminal to the PowerFeather's VDC and GND pin, respectively.


If you are using a solar panel with a center-positive barrel jack (like the PowerFeather Solar Panel), you might be interested in the PowerFeather ProtoWing which has a barrel connector and can be connected to VDC and GND of PowerFeather.


There is no reverse polarity protection on VDC and GND, so ensure that solar panel terminals are connected with correct polarity. Incorrect polarity can cause permanent damage to PowerFeather and/or the solar panel.


In order to maximize power from the solar panel, the MPP voltage should be set. It can be done by calling Mainboard::setSupplyMaintainVoltage in your code with the panel's MPP voltage as argument (in millivolts).

For example, for the PowerFeather Solar Panel, it would be:

Board.init(500); // Assuming a 500 mAh battery
// ...
Board.setSupplyMaintainVoltage(12000); // PowerFeather Solar Panel MPP voltage = 12000 mV