---
title: "Calculates optimal solar panel string and MPPT configuration based on panel electrical specs, inverter/charge-controller MPPT limits, and site temperature extremes. Applies temperature coefficients to determine Voc at minimum temperature (cold) and Vmp at maximum temperature (hot), then computes the safe range of panels per string, maximum parallel strings, and total array wattage. Prevents over-voltage damage in winter and under-voltage MPPT dropout in summer. Essential for NEC 690.7 compliant residential and commercial solar design."
method: POST
path: "/api/string_sizing"
tags: ["power"]
---

# Calculates optimal solar panel string and MPPT configuration based on panel electrical specs, inverter/charge-controller MPPT limits, and site temperature extremes. Applies temperature coefficients to determine Voc at minimum temperature (cold) and Vmp at maximum temperature (hot), then computes the safe range of panels per string, maximum parallel strings, and total array wattage. Prevents over-voltage damage in winter and under-voltage MPPT dropout in summer. Essential for NEC 690.7 compliant residential and commercial solar design.

`POST /api/string_sizing`

## Request

- Base URL: `https://calc.engineer`
- URL: `https://calc.engineer/api/string_sizing`
- Auth: none declared

## Request body

- object
  - `panel_voc` number, required: Panel open circuit voltage (Voc) at STC in volts
  - `panel_vmp` number, required: Panel maximum power voltage (Vmp) at STC in volts
  - `panel_isc` number, required: Panel short circuit current (Isc) at STC in amps
  - `panel_imp` number, required: Panel maximum power current (Imp) at STC in amps
  - `mppt_vmax` number, required: Maximum MPPT input voltage in volts
  - `mppt_vmin` number, required: Minimum MPPT start/operating voltage in volts
  - `mppt_imax` number, required: Maximum MPPT input current in amps
  - `temp_min_c` number: Minimum expected site temperature in Celsius, default -10
  - `temp_max_c` number: Maximum expected cell temperature in Celsius, default 60
  - `temp_coeff_voc_pct_per_c` number: Voc temperature coefficient in %/C (negative for silicon), default -0.30

## Response `200`

Computed result for string_sizing

- object
  - `result` object, required
    - `max_panels_per_string` number, required: Maximum panels per string (limited by Voc at cold temp)
    - `min_panels_per_string` number, required: Minimum panels per string (to meet MPPT Vmin at hot temp)
    - `recommended_panels_per_string` number, required: Recommended panels per string (uses max for best output)
    - `max_parallel_strings` number, required: Maximum parallel strings (limited by MPPT Imax)
    - `total_panels` number, required: Total panels in the array (strings * panels per string)
    - `array_watts` number, required: Total array power at maximum power point (W)
    - `voc_cold_per_string` number, required: String Voc at minimum temperature (V)
    - `vmp_hot_per_string` number, required: String Vmp at maximum temperature (V)
    - `isc_total` number, required: Total short circuit current from all parallel strings (A)
  - `tool` string, required
  - `version` string, required
  - `computed_at` string, date-time, required
  - `chain` object, required
    - `feeds` unknown[]
      - unknown
    - `accepts_from` unknown[]
      - unknown

## Other responses

- `400`: Validation error or invalid JSON
- `404`: Tool not found

---

[API](https://skmtc.dev/calc/apis/calc-engineer-api.md) · [All operations](https://skmtc.dev/calc/apis/calc-engineer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calc/apis/calc-engineer-api/revisions/8830480ec488?raw)
