← All Use Cases
🔌
Box-Behnken Design

LED Strip Installation

Box-Behnken design to maximize brightness uniformity and minimize hot spots by tuning strip density, power supply headroom, and diffuser distance

Summary

This experiment investigates led strip installation. Box-Behnken design to maximize brightness uniformity and minimize hot spots by tuning strip density, power supply headroom, and diffuser distance.

The design varies 3 factors: leds per m (LEDs/m), ranging from 30 to 120, psu headroom pct (%), ranging from 10 to 40, and diffuser mm (mm), ranging from 5 to 30. The goal is to optimize 2 responses: uniformity pct (%) (maximize) and hotspot temp c (C) (minimize). Fixed conditions held constant across all runs include voltage = 12V, color = warm_white.

A Box-Behnken design was chosen because it efficiently fits quadratic models with 3 continuous factors while avoiding extreme corner combinations — requiring only 15 runs instead of the 8 needed for a full factorial at two levels.

Quadratic response surface models were fitted to capture potential curvature and factor interactions. The RSM contour plots below visualize how pairs of factors jointly affect each response.

Key Findings

For uniformity pct, the most influential factors were leds per m (75.2%), psu headroom pct (15.7%), diffuser mm (9.1%). The best observed value was 88.0 (at leds per m = 120, psu headroom pct = 25, diffuser mm = 30).

For hotspot temp c, the most influential factors were psu headroom pct (38.0%), diffuser mm (34.2%), leds per m (27.7%). The best observed value was 24.0 (at leds per m = 30, psu headroom pct = 40, diffuser mm = 17.5).

Recommended Next Steps

Experimental Setup

Factors

FactorLowHighUnit
leds_per_m30120LEDs/m
psu_headroom_pct1040%
diffuser_mm530mm

Fixed: voltage = 12V, color = warm_white

Responses

ResponseDirectionUnit
uniformity_pct↑ maximize%
hotspot_temp_c↓ minimizeC

Configuration

use_cases/271_led_strip_install/config.json
{ "metadata": { "name": "LED Strip Installation", "description": "Box-Behnken design to maximize brightness uniformity and minimize hot spots by tuning strip density, power supply headroom, and diffuser distance" }, "factors": [ { "name": "leds_per_m", "levels": [ "30", "120" ], "type": "continuous", "unit": "LEDs/m" }, { "name": "psu_headroom_pct", "levels": [ "10", "40" ], "type": "continuous", "unit": "%" }, { "name": "diffuser_mm", "levels": [ "5", "30" ], "type": "continuous", "unit": "mm" } ], "fixed_factors": { "voltage": "12V", "color": "warm_white" }, "responses": [ { "name": "uniformity_pct", "optimize": "maximize", "unit": "%" }, { "name": "hotspot_temp_c", "optimize": "minimize", "unit": "C" } ], "settings": { "operation": "box_behnken", "test_script": "use_cases/271_led_strip_install/sim.sh" } }

Experimental Matrix

The Box-Behnken Design produces 15 runs. Each row is one experiment with specific factor settings.

Runleds_per_mpsu_headroom_pctdiffuser_mm
175105
2752517.5
31202530
4120255
5752517.5
6752517.5
7302530
81201017.5
9751030
101204017.5
1130255
12754030
13301017.5
14304017.5
1575405

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/271_led_strip_install/config.json
2

Generate the runner script

Terminal
$ doe generate --config use_cases/271_led_strip_install/config.json \ --output use_cases/271_led_strip_install/results/run.sh --seed 42
3

Execute the experiments

Terminal
$ bash use_cases/271_led_strip_install/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/271_led_strip_install/config.json
5

Get optimization recommendations

Terminal
$ doe optimize --config use_cases/271_led_strip_install/config.json
6

Multi-objective optimization

With 2 competing responses, use --multi to find the best compromise via Derringer–Suich desirability.

Terminal
$ doe optimize --config use_cases/271_led_strip_install/config.json --multi
7

Generate the HTML report

Terminal
$ doe report --config use_cases/271_led_strip_install/config.json \ --output use_cases/271_led_strip_install/results/report.html

Features Exercised

FeatureValue
Design typebox_behnken
Factor typescontinuous (all 3)
Arg styledouble-dash
Responses2 (uniformity_pct ↑, hotspot_temp_c ↓)
Total runs15

Analysis Results

Generated from actual experiment runs using the DOE Helper Tool.

Response: uniformity_pct

Top factors: leds_per_m (75.2%), psu_headroom_pct (15.7%), diffuser_mm (9.1%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
leds_per_m2392.4762196.23817.4520.0149
psu_headroom_pct220.619010.30950.3920.6883
diffuser_mm24.97622.48810.0940.9108
LackofFit6350.595258.4325
PureError252.6667
Error8403.261926.3333
Total14821.333358.6667

Pareto Chart

Pareto chart for uniformity_pct

Main Effects Plot

Main effects plot for uniformity_pct

Normal Probability Plot of Effects

Normal probability plot for uniformity_pct

Half-Normal Plot of Effects

Half-normal plot for uniformity_pct

Model Diagnostics

Model diagnostics for uniformity_pct

Response: hotspot_temp_c

Top factors: psu_headroom_pct (38.0%), diffuser_mm (34.2%), leds_per_m (27.7%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
leds_per_m234.076217.03810.4120.6755
psu_headroom_pct250.004825.00240.6050.5693
diffuser_mm241.433320.71670.5010.6236
LackofFit6534.752489.1254
PureError282.6667
Error8617.419041.3333
Total14742.933353.0667

Pareto Chart

Pareto chart for hotspot_temp_c

Main Effects Plot

Main effects plot for hotspot_temp_c

Normal Probability Plot of Effects

Normal probability plot for hotspot_temp_c

Half-Normal Plot of Effects

Half-normal plot for hotspot_temp_c

Model Diagnostics

Model diagnostics for hotspot_temp_c

Response Surface Plots

3D surfaces fitted with quadratic RSM. Red dots are observed data points.

hotspot temp c leds per m vs diffuser mm

RSM surface: hotspot temp c leds per m vs diffuser mm

hotspot temp c leds per m vs psu headroom pct

RSM surface: hotspot temp c leds per m vs psu headroom pct

hotspot temp c psu headroom pct vs diffuser mm

RSM surface: hotspot temp c psu headroom pct vs diffuser mm

uniformity pct leds per m vs diffuser mm

RSM surface: uniformity pct leds per m vs diffuser mm

uniformity pct leds per m vs psu headroom pct

RSM surface: uniformity pct leds per m vs psu headroom pct

uniformity pct psu headroom pct vs diffuser mm

RSM surface: uniformity pct psu headroom pct vs diffuser mm

Multi-Objective Optimization

When responses compete, Derringer–Suich desirability finds the best compromise. Each response is scaled to a 0–1 desirability, then combined via a weighted geometric mean.

Overall Desirability
D = 0.7271

Per-Response Desirability

ResponseWeightDesirabilityPredictedDir
uniformity_pct 1.5
0.7727
83.00 0.7727 83.00 %
hotspot_temp_c 1.0
0.6636
32.00 0.6636 32.00 C

Recommended Settings

FactorValue
leds_per_m75 LEDs/m
psu_headroom_pct25 %
diffuser_mm17.5 mm

Source: from observed run #12

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
hotspot_temp_c32.0024.00+8.00

Top 3 Runs by Desirability

RunDFactor Settings
#20.6377leds_per_m=75, psu_headroom_pct=25, diffuser_mm=17.5
#50.6377leds_per_m=75, psu_headroom_pct=10, diffuser_mm=5

Model Quality

ResponseType
hotspot_temp_c0.3537linear

Full Multi-Objective Output

doe optimize --multi
============================================================ MULTI-OBJECTIVE OPTIMIZATION Method: Derringer-Suich Desirability Function ============================================================ Overall desirability: D = 0.7271 Response Weight Desirability Predicted Direction --------------------------------------------------------------------- uniformity_pct 1.5 0.7727 83.00 % ↑ hotspot_temp_c 1.0 0.6636 32.00 C ↓ Recommended settings: leds_per_m = 75 LEDs/m psu_headroom_pct = 25 % diffuser_mm = 17.5 mm (from observed run #12) Trade-off summary: uniformity_pct: 83.00 (best observed: 88.00, sacrifice: +5.00) hotspot_temp_c: 32.00 (best observed: 24.00, sacrifice: +8.00) Model quality: uniformity_pct: R² = 0.8881 (quadratic) hotspot_temp_c: R² = 0.3537 (linear) Top 3 observed runs by overall desirability: 1. Run #12 (D=0.7271): leds_per_m=75, psu_headroom_pct=25, diffuser_mm=17.5 2. Run #2 (D=0.6377): leds_per_m=75, psu_headroom_pct=25, diffuser_mm=17.5 3. Run #5 (D=0.6377): leds_per_m=75, psu_headroom_pct=10, diffuser_mm=5

Full Analysis Output

doe analyze
=== Main Effects: uniformity_pct === Factor Effect Std Error % Contribution -------------------------------------------------------------- leds_per_m 12.3571 1.9777 75.2% psu_headroom_pct 2.5714 1.9777 15.7% diffuser_mm 1.5000 1.9777 9.1% === ANOVA Table: uniformity_pct === Source DF SS MS F p-value ----------------------------------------------------------------------------- leds_per_m 2 392.4762 196.2381 7.452 0.0149 psu_headroom_pct 2 20.6190 10.3095 0.392 0.6883 diffuser_mm 2 4.9762 2.4881 0.094 0.9108 Lack of Fit 6 350.5952 58.4325 2.219 0.3429 Pure Error 2 52.6667 26.3333 Error 8 403.2619 26.3333 Total 14 821.3333 58.6667 === Summary Statistics: uniformity_pct === leds_per_m: Level N Mean Std Min Max ------------------------------------------------------------ 120 4 77.5000 9.0370 69.0000 88.0000 30 4 68.5000 6.4550 63.0000 77.0000 75 7 80.8571 3.1320 76.0000 86.0000 psu_headroom_pct: Level N Mean Std Min Max ------------------------------------------------------------ 10 4 78.0000 10.6145 63.0000 88.0000 25 7 75.4286 6.0238 69.0000 86.0000 40 4 77.5000 9.0370 64.0000 83.0000 diffuser_mm: Level N Mean Std Min Max ------------------------------------------------------------ 17.5 7 76.8571 9.9738 63.0000 88.0000 30 4 77.2500 4.5000 71.0000 81.0000 5 4 75.7500 7.2744 69.0000 83.0000 === Main Effects: hotspot_temp_c === Factor Effect Std Error % Contribution -------------------------------------------------------------- psu_headroom_pct 5.0000 1.8809 38.0% diffuser_mm 4.5000 1.8809 34.2% leds_per_m 3.6429 1.8809 27.7% === ANOVA Table: hotspot_temp_c === Source DF SS MS F p-value ----------------------------------------------------------------------------- leds_per_m 2 34.0762 17.0381 0.412 0.6755 psu_headroom_pct 2 50.0048 25.0024 0.605 0.5693 diffuser_mm 2 41.4333 20.7167 0.501 0.6236 Lack of Fit 6 534.7524 89.1254 2.156 0.3503 Pure Error 2 82.6667 41.3333 Error 8 617.4190 41.3333 Total 14 742.9333 53.0667 === Summary Statistics: hotspot_temp_c === leds_per_m: Level N Mean Std Min Max ------------------------------------------------------------ 120 4 36.5000 8.7369 24.0000 43.0000 30 4 34.5000 8.5829 28.0000 47.0000 75 7 38.1429 6.5683 32.0000 49.0000 psu_headroom_pct: Level N Mean Std Min Max ------------------------------------------------------------ 10 4 39.2500 8.4212 30.0000 49.0000 25 7 36.7143 8.8075 24.0000 47.0000 40 4 34.2500 2.2174 32.0000 37.0000 diffuser_mm: Level N Mean Std Min Max ------------------------------------------------------------ 17.5 7 37.0000 5.6569 30.0000 46.0000 30 4 38.7500 11.6154 24.0000 49.0000 5 4 34.2500 5.9090 28.0000 42.0000

Optimization Recommendations

doe optimize
=== Optimization: uniformity_pct === Direction: maximize Best observed run: #3 leds_per_m = 120 psu_headroom_pct = 25 diffuser_mm = 30 Value: 88.0 RSM Model (linear, R² = 0.0944, Adj R² = -0.1526): Coefficients: intercept +76.6667 leds_per_m +0.7500 psu_headroom_pct +2.7500 diffuser_mm +1.2500 RSM Model (quadratic, R² = 0.4756, Adj R² = -0.4682): Coefficients: intercept +75.6667 leds_per_m +0.7500 psu_headroom_pct +2.7500 diffuser_mm +1.2500 leds_per_m*psu_headroom_pct -0.7500 leds_per_m*diffuser_mm +6.7500 psu_headroom_pct*diffuser_mm +3.7500 leds_per_m^2 +2.7917 psu_headroom_pct^2 -2.7083 diffuser_mm^2 +1.7917 Curvature analysis: leds_per_m coef=+2.7917 convex (has a minimum) psu_headroom_pct coef=-2.7083 concave (has a maximum) diffuser_mm coef=+1.7917 convex (has a minimum) Notable interactions: leds_per_m*diffuser_mm coef=+6.7500 (synergistic) psu_headroom_pct*diffuser_mm coef=+3.7500 (synergistic) leds_per_m*psu_headroom_pct coef=-0.7500 (antagonistic) Predicted optimum (from linear model, at observed points): leds_per_m = 75 psu_headroom_pct = 40 diffuser_mm = 30 Predicted value: 80.6667 Surface optimum (via L-BFGS-B, linear model): leds_per_m = 120 psu_headroom_pct = 40 diffuser_mm = 30 Predicted value: 81.4167 Model quality: Weak fit — consider adding center points or using a different design. Factor importance: 1. psu_headroom_pct (effect: 5.8, contribution: 46.6%) 2. leds_per_m (effect: 3.6, contribution: 29.0%) 3. diffuser_mm (effect: 3.0, contribution: 24.4%) === Optimization: hotspot_temp_c === Direction: minimize Best observed run: #14 leds_per_m = 30 psu_headroom_pct = 40 diffuser_mm = 17.5 Value: 24.0 RSM Model (linear, R² = 0.0448, Adj R² = -0.2158): Coefficients: intercept +36.7333 leds_per_m +0.5000 psu_headroom_pct -1.6250 diffuser_mm -1.1250 RSM Model (quadratic, R² = 0.5048, Adj R² = -0.3866): Coefficients: intercept +41.3333 leds_per_m +0.5000 psu_headroom_pct -1.6250 diffuser_mm -1.1250 leds_per_m*psu_headroom_pct +4.0000 leds_per_m*diffuser_mm +6.0000 psu_headroom_pct*diffuser_mm +0.7500 leds_per_m^2 -1.0417 psu_headroom_pct^2 -5.7917 diffuser_mm^2 -1.7917 Curvature analysis: psu_headroom_pct coef=-5.7917 concave (has a maximum) diffuser_mm coef=-1.7917 concave (has a maximum) leds_per_m coef=-1.0417 concave (has a maximum) Notable interactions: leds_per_m*diffuser_mm coef=+6.0000 (synergistic) leds_per_m*psu_headroom_pct coef=+4.0000 (synergistic) psu_headroom_pct*diffuser_mm coef=+0.7500 (synergistic) Predicted optimum (from linear model, at observed points): leds_per_m = 75 psu_headroom_pct = 10 diffuser_mm = 5 Predicted value: 39.4833 Surface optimum (via L-BFGS-B, linear model): leds_per_m = 30 psu_headroom_pct = 40 diffuser_mm = 30 Predicted value: 33.4833 Model quality: Weak fit — consider adding center points or using a different design. Factor importance: 1. psu_headroom_pct (effect: 7.2, contribution: 67.8%) 2. diffuser_mm (effect: 2.4, contribution: 22.8%) 3. leds_per_m (effect: 1.0, contribution: 9.4%)
← Previous: Hot Air Balloon Flight Planning Next: PCB Soldering Parameters →