Skip to main content

Maximum Power Point Tracker

Efficient UAS Solar Power Management System
Packet Digital leverages decades of experience to build world-class fast-tracking maximum power point trackers for the UASs around the world. All MPPTs are designed, developed, and manufactured here in the US, and customer support is based in Fargo, ND. If you are looking to maximize power conversion during drone operations, Packet Digital’s MPPT offers industry-leading efficiency.

It’s essential to account for sunlight changes, solar-panel temperature, vehicle orientation, and other factors, for efficient solar power generation during long-endurance UAS operations. Packet Digital’s Maximum Power Point Tracker (MPPT) hardware and embedded algorithms take precise power measurements and adjust settings quickly to maintain maximum power transfer from solar panels to battery storage, pushing the limits on solar UAS operations.

MPPT Features

  • Fast-tracking (1024 Hz)
  • Super-fast adaptive search algorithm typically converges within five samples
  • 200W peak capacity
  • Half the size of the competition
  • High efficiency (94% to 98%)
  • High resolution for accurate tracking with sharp knee in high-performance PV array
  • Customization available to meet power and form-factor requirements

MPPT Specifications

Converter ArchitectureBuck-Boost
Input Voltage Range12.5V to 50V
Output Voltage RangeUp to 50V
Absolute Max Input Voltage55V
Absolute Max Output Voltage55V
Maximum Input Current5A
Maximum Output Current5A
Over-temperature Threshold60C with 5C Hysteresis
Switching Frequency400 kHz
MPPT Update Frequency500 Hz
Dimensions60.96mm x 53.34mm x 17.4mm (LxWxH)
Mounting holes#2 holes in each corner of PCB
Weight with VIN and VOUT Connectors31 grams
Weight without VIN and VOUT Connectors28 grams
PCB CoatingHumiSeal 1B31
SS-MPPT-BB-V2 Specifications

Packet Digital’s MPPT Experience

In collaboration with the U.S. Naval Research Lab (NRL), developed power management for extended endurance, portable, hand-launchable solar-soaring UAS

  • Providing efficient Power Management and Delivery (PMAD), energy dense smart battery, and high-performance solar Maximum Power Point Tracker (MPPT)
  • NRL delivering expertise in advanced optoelectronics/photovoltaics and thermal soaring algorithms
  • Test flights at Aberdeen Proving Ground and Cape Canaveral: aircraft flew 11 hours from sunrise to sunset
  • Advance to OECIF project targeting a larger airframe and longer, multi-day flights

Kraus Aerospace, a developer of long-endurance Unmanned Aerial Systems (UAS), integrated Packet Digital’s MPPTs into their solar-covered wings to provide high-efficiency solar power management for their fixed-wing aircraft.

“We consider the Packet Digital Maximum Power Point Tracker to be a key technology component of our aircraft. We have 100s of hours of flight time using the MPPT and it has been bulletproof for us”. – Kraus Aerospace

MPPT Documentation

CAN Commands

Communication over the CAN port follows the UAVCAN v0 specification (

CAN bitrate: 1Mbps

Status LED

NoneN/ANo Power/Catastrophic Fault
RedFast BlinkFault – Check Status Messages
GreenSlow BlinkNormal Operation

CAN Communication

15VSupply for CAN transceiver (required for CAN operation)
2CAN_HIHigh level CAN bus line
3CAN_LOLow level CAN bus line
4VSSCAN Bus communication ground

Broadcasted Data Types

The following data types are broadcast once per second.

  • NodeStatus – Link
  • Stream
    • Default data type ID: 20009
    • This is a non-standard UAVCAN datatype, the dsdl definition is included below:
# MPPT streaming data, transmitted at 1Hz

uint8 OV_FAULT = 1 # over-voltage
uint8 UV_FAULT = 2 # under-voltage
uint8 OC_FAULT = 4 # over-current
uint8 OT_FAULT = 8 # over-temperature
uint8 fault_flags

int8 temperature # [Celsius]

float16 input_voltage # [Volt]
float16 input_current # [Amp]
float16 input_power # [Watt]

float16 output_voltage # [Volt]
float16 output_current # [Amp]
float16 output_power # [Watt]

Supported Service Requests


Full name: uavcan.thirdparty.mppt.OutputEnable

Default data type ID: 240

This is a non-standard UAVCAN datatype, the dsdl definition is included below:

# Service to enable or disable the mppt output


# If both enable and disable are true then no change is applied
bool enable
bool disable



# The new enable state after applying the reqeust
bool enabled

Node Parameters


This parameter sets the node ID for this MPPT. If set to 0 dynamic ID allocation will be used. Requires restart to take effect.

Default value: 0
Minimum value: 0
Maximum value: 127


This parameter controls whether the MPPT output is enabled automatically when powered on.

Default value: 1
Minimum value: 0
Maximum value: 1


This parameter selects which maximum power point tracking algorithm is used. This does not take effect until the next time the output is turned on.

0: Perturb and Observe
1: Reserved
2: Constant voltage test mode – the MPPT maintains a fixed output for stable conversion efficiency measurements. There is no maximum power point tracking in this mode, however all of the sensors and software functions remain active for accurate measurements. This is intended to be used with a controlled load on the output – do not use in a live system.
3: Integrated Adaptive Step Search (default)
4: Reserved

Default value: 3
Minimum value: 0
Maximum value: 4


Sets the output voltage when the output power is less than the maximum powerpoint. This value should be larger than the battery voltage. This does not take effect until the next time the output is turned on.

Default value: 47.0
Minimum value: 12.0
Maximum value: 54.0


Sets the output voltage when operating in constant voltage test mode. This does not take effect until the next time the output is turned on.

Default value: 45.0
Minimum value: 12.0
Maximum value: 54.0


This parameter sets the resistance value used for impedance compensation on the output voltage. This does not take effect until the next time the output is turned on.

Default value: 0.0
Minimum value: 0.0
Maximum value: 1.0
ArduPilot Documentation

Connect the MPPTs, solar panels, battery, and autopilot as shown above.

The board’s LED should flash green once the solar panel provides more than 12V. It may be easiest to initially connect a 4S or 6S battery to the MPPT’s VIN port


Connect a ground station to the autopilot. For the following example, we’ll use Mission Planner. In Mission Planner, set the following parameters and reboot the autopilot.

To check the MPPT board’s parameters, connect through “SLCAN”

  • Mission Planner’s SETUP -> Optional Hardware -> UAVCAN(DroneCAN) page
  • In the top righthand corner, select the COM port for the autopilot’s SLCAN connection (usually one higher than the MAVLink COM port)
  • Press the “SLCan Mode CAN1” button. The table should be filled in as shown below. If this does not work try changing to the Config screen, connect over MAVLink and set CAN_SLCAN_CPORT = 1. Return to SETUP -> Optional Hardware -> UAVCAN(DroneCAN) page and press the “SLCan Mode CAN1” button again

Connecting Multiple MPPTs

More than one Packet Digital MPPT board can be connected in parallel to the same battery (but different solar panels) to increase the total current provided.

To allow the autopilot to connect to all the MPPTs:

  • Enable one battery monitor per MPPT by setting BATTx_MONITOR = 8
  • Use Mission Planner’s SETUP >> Optional Hardware >> UAVCAN(DroneCAN) page’s “Menu” button to manually configure the uavcan.node_id of each MPPT
  • set BATTx_SERIAL_NUM to match the uavcan.node_ids set above