---
title: Constant-Current LED Driver Checker
description: Match the current. Check the full voltage range. Find how many modules fit in one series string.
canonical: https://ledyi.com/tools/constant-current-driver-checker
updatedAt: 2026-10-24T15:51:54Z
---

# Constant-Current LED Driver Checker

Match the current. Check the full voltage range. Find how many modules fit in one series string.

## For AI agents: instructions and calculation APIs

Read the tool instructions in Markdown and the request/response schemas in OpenAPI. These public calculation APIs run the same models as the web and offline calculators. No account, API key or Turnstile is required.

- [Constant-Current LED Driver Checker — Full tool instructions (Markdown)](https://ledyi.com/tools/constant-current-driver-checker.md)
- [OpenAPI contract](https://ledyi.com/openapi.json)
- [Agent site index](https://ledyi.com/llms.txt)

Your agent needs an HTTP tool permitted to send POST requests. Reading this page or importing OpenAPI does not automatically grant execution access.

### Constant-Current LED Driver Checker

```
POST /api/tools/v1/driver-match
Content-Type: application/json
```

One series string of identical modules at a declared target operating current. Voltages are V, currents mA, power W and tolerance percent. Use the complete module Vf range for the intended current, bin and temperature, and the driver CC region at that setting. Typical or reference-only datasheet values are not guaranteed limits. CC+CV is evaluated only in its CC region; CV-only is unsupported.

### Constant-Current LED Driver Checker

Supply the eight required numeric/type inputs. Optional powerLimitW is output power after derating. currentTolerancePct and moduleMaxCurrentMa must both be supplied or both omitted/null. The response contains the entered operating point, voltage/power envelopes, current checks, count interval and explicit unchecked warnings. No hardware certification is implied.

| Field | Type and constraints | Meaning |
| --- | --- | --- |
| ledCurrentMa (Required) | {"type":"number","minimum":0.001,"maximum":100000,"multipleOf":0.001} | Target operating current |
| vfMinV (Required) | {"type":"number","minimum":0.001,"maximum":2000,"multipleOf":0.001} | Minimum module Vf |
| vfMaxV (Required) | {"type":"number","minimum":0.001,"maximum":2000,"multipleOf":0.001} | Maximum module Vf |
| seriesCount (Required) | {"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991} | Modules in series |
| regulation (Required) | {"type":"string","enum":["cc","cc-cv","cv"]} |  |
| driverCurrentMa (Required) | {"type":"number","minimum":0.001,"maximum":100000,"multipleOf":0.001} | Set output current |
| driverMinV (Required) | {"type":"number","minimum":0,"maximum":2000,"multipleOf":0.001} | Minimum CC voltage |
| driverMaxV (Required) | {"type":"number","minimum":0.001,"maximum":2000,"multipleOf":0.001} | Maximum CC voltage |
| powerLimitW (Optional) | {"default":null,"anyOf":[{"type":"number","minimum":0.001,"maximum":1000000,"multipleOf":0.001,"description":"Available output power"},{"type":"null"}]} |  |
| currentTolerancePct (Optional) | {"default":null,"anyOf":[{"type":"number","minimum":0,"maximum":100,"multipleOf":0.001,"description":"Driver tolerance ±"},{"type":"null"}]} |  |
| moduleMaxCurrentMa (Optional) | {"default":null,"anyOf":[{"type":"number","minimum":0.001,"maximum":100000,"multipleOf":0.001,"description":"Module maximum DC current"},{"type":"null"}]} |  |

```
{
  "ledCurrentMa": 700,
  "vfMinV": 9,
  "vfMaxV": 10.5,
  "seriesCount": 4,
  "regulation": "cc",
  "driverCurrentMa": 700,
  "driverMinV": 24,
  "driverMaxV": 48,
  "powerLimitW": null,
  "currentTolerancePct": null,
  "moduleMaxCurrentMa": null
}
```

### Reading the result

Full containment requires driverMinV <= n × vfMinV and n × vfMaxV <= driverMaxV. Minimum count is max(1, ceil(driverMinV/vfMinV)); maximum count is min(10000, floor(driverMaxV/vfMaxV), power-limited count when supplied). The count cap is a software input limit, not an electrical rating. Power interval uses target current × (1 ± tolerance/100) in A and the corresponding Vf extremes. Without a tolerance it is only a nominal-current power interval. Power-limited count is floor(powerLimitW / (upper target current A × vfMaxV)). Exact decimal comparisons decide fit; JSON numbers are finite floating-point presentations.

result.status is basic\_checks\_pass (UI: Entered limits fit), at\_limit, does\_not\_match, or unsupported\_driver. A valid but unsuitable combination is a 200 domain result, not an input error. unsupported\_driver has no numerical result fields. supportedSeries is an integer interval or null; it does not repair failed current checks. Equality at an entered voltage, power or maximum-current boundary yields at\_limit when other checks pass. not\_checked is never a pass. conditionalOnTargetCurrent means voltage and power describe the target-current requirement, not verified operation at a different driver setting.

Reject strings, unknown fields, non-finite values, more than three decimal places, missing required fields, inverted voltage ranges, fractional module counts, partially supplied current-limit pairs and module maximum below target. Invalid inputs return 422 Problem JSON with a field pointer and no engineering result. A driver minimum of 0 V and an explicitly entered 0% tolerance are valid. Preserve optional null values; do not coerce blanks to zero.

Open links.tool for the calculator or links.markdown for full instructions. links.share is null because no encoded share-state format is defined. Copy/save exports a text report and Print/PDF exposes current inputs and calculation details. The calculator runs locally in the browser; these actions do not submit an inquiry or call the calculation API. Preserve all warnings. Bench verification of start-up, ripple, dimming, thermal conditions and insulation is outside the model.

### Request limits and errors

Every success carries apiVersion, a server-generated requestId, operation, normalized inputs, result, warnings and links (tool, markdown, openapi, share). requestId also appears in X-Request-Id. The domain result is deterministic; the request ID changes. Preserve warnings and special statuses when explaining results.

Send uncompressed application/json with strict types and no query parameters. Indoor lighting bodies are limited to 16 KiB; driver-match bodies to 16 KiB; battery bodies to 16 KiB; voltage bodies to 16 KiB; resistor bodies to 16 KiB; DMX bodies to 1024 KiB and 1000 fixtures; pixel bodies to 64 KiB, 64 run rows, 128 outputs and 2000000 channels. DALI bodies are limited to 64 KiB, 24 rows and 512 devices. Illuminance bodies are limited to 16 KiB and 400 planned points. Photometry bodies are limited to 1024 KiB with up to 4 files and 16 by 721 query directions per file. Lighting-cost bodies are limited to 64 KiB with up to 20 groups in each scenario. Body reading expires after 5 seconds. Complete success JSON is bounded to 4 MiB. GET/HEAD return 405; OPTIONS returns 204. Source responses are no-store. Anonymous browser CORS permits POST/OPTIONS and Content-Type with credentials omitted.

Tool POST requests and ordinary page requests share 120 requests per 60 seconds per IP/Cloudflare location; mitigation lasts 60 seconds. Heavy tool use can temporarily block pages from the same source. This is not an independent or globally exact API quota. Inquiry/search use their existing separate rule. Tool POST requests do not inherit the company-page or verified-bot exemption.

Source errors use application/problem+json with status, stable code, requestId and at most one invalidParams JSON pointer. 400: malformed JSON/query; 405: method; 408: body timeout; 413: body limit; 415: media/encoding; 422: parameter/domain error; 500/503: service failure. Fix invalid inputs rather than retrying or changing engineering facts. For 429 or transient failures, use at most two retries with backoff and jitter, honoring Retry-After when present.

Cloudflare can return 403/429/5xx before the application, sometimes as HTML without CORS or Retry-After. Check HTTP status and Content-Type before parsing JSON. A browser may see only a network error. Do not present an error or an older result as a successful new calculation.

Calculations do not create inquiries, send emails, call a language model or store project results. Operational logs exclude fixture labels, groups and request bodies. Existing network/access logs still apply. Submit a quotation request only when the user asks, using the separate inquiry contract and buyer confirmation flow.

### Warning codes

| Field | Meaning |
| --- | --- |
| DRIVER_SOURCE_LIMITS_UNVERIFIED | Source guarantees and actual operating conditions are unverified; mathematical fit is not hardware compatibility or safety approval. |
| DRIVER_POWER_UNCHECKED | Available driver output power was not entered; the power check is not performed. |
| DRIVER_CURRENT_TOLERANCE_UNCHECKED | The paired driver tolerance and module maximum current were not entered; current tolerance is not checked. |
| DRIVER_CONDITIONAL_OPERATING_POINT | The driver setting differs from the target current. Vf and power results are conditional on the target-current data. |
| DRIVER_AT_LIMIT | An entered operating limit is reached exactly with no numerical allowance remaining at that limit. |
| DRIVER_UNSUPPORTED_REGULATION | CV-only output does not define a constant-current window for this checker. |

### Error codes

```
TOOLS_INVALID_JSON
TOOLS_QUERY_UNSUPPORTED
TOOLS_METHOD_NOT_ALLOWED
TOOLS_BODY_TIMEOUT
TOOLS_BODY_TOO_LARGE
TOOLS_MEDIA_TYPE_UNSUPPORTED
TOOLS_CONTENT_ENCODING_UNSUPPORTED
TOOLS_INPUT_INVALID
TOOLS_NUMERIC_DOMAIN_UNSUPPORTED
TOOLS_INTERNAL_ERROR
TOOLS_SERVICE_UNAVAILABLE
DMX_INPUT_INVALID
DMX_ADDRESS_NOT_ENCODABLE
DMX_CHANNEL_RANGE_EXCEEDED
DMX_SPACING_OVERLAP
DMX_UNIVERSE_RANGE_EXCEEDED
PHOTOMETRY_FILE_INVALID
PHOTOMETRY_FILE_UNSUPPORTED
PHOTOMETRY_LIMIT_EXCEEDED
```

## Why check both voltage limits?

A string can be too short as well as too long. Its lowest Vf must meet the driver’s minimum CC voltage, and its highest Vf must stay below the maximum. For 9–10.5 V modules with a 24–48 V driver, 3 or 4 modules fit. Five can reach 52.5 V.

## Can I use a different current?

A different current changes the operating point, including Vf and light output. A lower setting is not automatically a verified match. A higher setting may exceed the permitted current. Update the target current and its corresponding Vf range from the module datasheet.

## Does a passing result guarantee compatibility?

This checks the numbers you enter. It does not verify that the source limits are guaranteed or apply at your actual current and temperature. Power and current tolerance are optional checks. Ripple, start-up peaks, dimming, supply, insulation, thermal design and certifications still need review. Verify the assembled system.

## What about dimming and parallel strings?

This checker covers one series string at one operating point. Dimming can change Vf and the usable driver window, so check the full dimming range separately. Parallel strings need a specified current-sharing arrangement or separate regulated channels.

## What is behind the calculation?

The voltage rule uses complete interval containment. Use the module and driver limits for the intended current and temperature, then verify the assembled system.

