LED Driver Design with Arduino

Blocked: your account has no available ACUs, so I can’t continue executing tools right now.
Accomplished:
  • Resolved the Arduino Nano VIN ERC by marking VIN as intentionally unused; the Nano is powered from 5V_CTRL.
  • Searched for the exact OSRAM GW CPSRM1.PM; it is not currently available in the Flux library, so I kept the closest available OSRAM 700 mA LED stand-in and submitted a missing-part request.
  • Selected and applied SMMS0650-680M as the real 68 µH shielded inductor candidate for L1–L5, using the closest valid footprint option.
  • Set the board to 140 × 90 mm, 4-layer stackup, and placed the LEDs as 5 horizontal rows of 3 LEDs, with each driver channel beside its row.
Open items:
  • Need to rerun ERC/DRC after ACUs are available to confirm the VIN issue is clean and check placement.
  • The exact GW CPSRM1.PM still needs to be imported/created from a datasheet if you want exact BOM/footprint fidelity.
  • High-current trace-width/layout rules still need to be applied; the last layout-rule call was blocked by a selector issue before I could correct it.
Suggested next steps:
  1. Re-run ERC/DRC and fix any new placement/footprint issues.
  2. Import/create the exact OSRAM GW CPSRM1.PM part from its datasheet.
  3. Apply high-current net trace-width rules and thermal copper guidance.
  4. Route the PCB after confirming the LED row placement.
Create LED part
Run ERC/DRC
Set trace rules
Review BOM
Finish verification
U_REG1
U_MCU1
GND
GND
U4 GND - R3 P2
D4 A - U4 GND
GND
D5 A - U5 GND
D2 A - U2 GND
U3 GND - R2 P2
U1 GND - R_SENSE1 P2
U2 GND - R1 P2
D2 A - U2 GND
D3 A - U3 GND
GND
U3 GND - R2 P2
D3 A - U3 GND
U3 GND - R2 P2
GND
U1 GND - R_SENSE1 P2
U5 GND - R4 P2
GND
U2 GND - R1 P2
GND
GND
D4 A - U4 GND
U2 GND - R1 P2
U5 GND - R4 P2
U4 GND - R3 P2
GND
GND
U5 GND - R4 P2
D1 A - U1 GND
GND
U1 GND - R_SENSE1 P2
D5 A - U5 GND
U4 GND - R3 P2
D1 A - U1 GND
GND
U3 VDD - R6 P1
F1 P2 - D_PROT1 K
J1 1 - F1 P1
U1 Rs - R_SENSE1 P1
F1 P2 - D_PROT1 K
U11 K - U12 A
U3 VDD - R6 P1
U8 K - U9 A
F1 P2 - D_PROT1 K
U2 PWMD - U_MCU1 D5
U3 RT - R6 P2
U3 SW - L3 P2
U1 SW - L1 P2
U3 SW - L3 P2
U5 RT - R8 P2
U6 K - U7 A
U2 VDD - R5 P1
U5 SW - L5 P2
U4 SW - L4 P2
U1 VDD - R_T1 P1
U8 K - U9 A
U4 RT - R7 P2
U4 VDD - R7 P1
U4 PWMD - U_MCU1 D9
U2 SW - L2 P2
U6 K - U7 A
U5 SW - L5 P2
U13 K - L3 P1
U17 K - U18 A
F1 P2 - D_PROT1 K
U7 K - L1 P1
U19 K - L5 P1
U1 SW - L1 P2
U3 VDD - R6 P1
U4 VDD - R7 P1
U1 Rs - R_SENSE1 P1
U9 K - U10 A
U2 Rs - R1 P1
U14 K - U15 A
F1 P2 - D_PROT1 K
L_REG1 P2 - U_REG1 FB
U16 K - L4 P1
U5 PWMD - U_MCU1 D10
U10 K - L2 P1
U13 K - L3 P1
F1 P2 - D_PROT1 K
U1 RT - R_T1 P2
F1 P2 - D_PROT1 K
U5 Rs - R4 P1
U2 Rs - R1 P1
U3 PWMD - U_MCU1 D6
U5 VDD - R8 P1
U4 RT - R7 P2
U12 K - U13 A
LED1 K - U6 A
U1 VDD - R_T1 P1
U4 Rs - R3 P1
U1 RT - R_T1 P2
U3 SW - L3 P2
U5 RT - R8 P2
U12 K - U13 A
F1 P2 - D_PROT1 K
L_REG1 P2 - U_REG1 FB
U5 PWMD - U_MCU1 D10
U_REG1 CB - C_5V1 P1
U15 K - U16 A
U19 K - L5 P1
U2 RT - R5 P2
F1 P2 - D_PROT1 K
LED1 K - U6 A
U2 VDD - R5 P1
U16 K - L4 P1
U10 K - L2 P1
U5 Rs - R4 P1
U4 Rs - R3 P1
U18 K - U19 A
U2 VDD - R5 P1
U14 K - U15 A
U_REG1 CB - C_5V1 P1
F1 P2 - D_PROT1 K
F1 P2 - D_PROT1 K
F1 P2 - D_PROT1 K
L_REG1 P2 - U_REG1 FB
U4 PWMD - U_MCU1 D9
U5 VDD - R8 P1
U2 PWMD - U_MCU1 D5
U4 VDD - R7 P1
U17 K - U18 A
U4 SW - L4 P2
U5 SW - L5 P2
U_REG1 SW - C_5V1 P2
F1 P2 - D_PROT1 K
L_REG1 P2 - U_REG1 FB
U7 K - L1 P1
U11 K - U12 A
U1 PWMD - U_MCU1 D3
U3 Rs - R2 P1
U1 SW - L1 P2
U_REG1 SW - C_5V1 P2
U2 SW - L2 P2
U3 PWMD - U_MCU1 D6
U9 K - U10 A
U5 VDD - R8 P1
U1 PWMD - U_MCU1 D3
U3 Rs - R2 P1
U2 SW - L2 P2
F1 P2 - D_PROT1 K
U15 K - U16 A
J1 1 - F1 P1
F1 P2 - D_PROT1 K
U3 RT - R6 P2
U2 RT - R5 P2
U1 VDD - R_T1 P1
U_REG1 SW - C_5V1 P2
U4 SW - L4 P2
U18 K - U19 A
L3
Inductance
68µH
L4
Inductance
68µH
C6
Capacitance
4.7 µF
C_VDD1
Capacitance
1 µF
L5
Inductance
68µH
C1
Capacitance
1 µF
L_REG1
Inductance
22 µH
C_5V1
Capacitance
10 µF
C_BULK1
Capacitance
470 µF
C_IN1
Capacitance
4.7 µF
L1
Inductance
68µH
C5
Capacitance
4.7 µF
C8
Capacitance
4.7 µF
C3
Capacitance
1 µF
C7
Capacitance
4.7 µF
L2
Inductance
68µH
C4
Capacitance
1 µF
C2
Capacitance
1 µF
C9
Capacitance
10 µF
R3
Resistance
0.36 Ω
U2
D3
U19
U13
D1
U15
R8
Resistance
100 kΩ
U9
U5
F1
U1
U4
R6
Resistance
100 kΩ
R2
Resistance
0.36 Ω
R7
Resistance
100 kΩ
U7
R1
Resistance
0.36 Ω
R4
Resistance
0.36 Ω
R_T1
Resistance
100 kΩ
U6
D5
U16
U18
D4
U12
U14
R5
Resistance
100 kΩ
U17
U11
J1
D2
LED1
U10
D_PROT1
U8
U3
R_SENSE1
Resistance
0.36 Ω

Refine this doc
Ask about this doc
Design Notes — Arduino 15-LED Constant Current Driver
Architecture
  • Input: 24 V DC through J1, F1 PTC protection, D_PROT1 TVS, and C_BULK1 bulk capacitance.
  • LED array: 15 total LEDs as 5 independent strings, 3 LEDs in series per string.
  • LED drivers: U1–U5 HV9967B PWM-dimmable buck constant-current LED drivers, one per string.
  • Control: U_MCU1 Arduino Nano V3 drives U1–U5 PWMD pins from PWM-capable pins D3, D5, D6, D9, D10.
  • Control power: U_REG1 24 V to 5 V buck regulator powers the Arduino 5 V rail.
Power Budget
Per LED string at 700 mA:
  • Typical LED voltage: 3 × 2.83 V = 8.49 V.
  • Typical LED optical/electrical load: 8.49 V × 0.7 A = 5.94 W.
  • Worst-case LED string voltage: 3 × 3.2 V = 9.6 V.
  • Worst-case LED load: 9.6 V × 0.7 A = 6.72 W.
Total LED load:
  • Typical: 5 × 5.94 W = 29.7 W.
  • Worst-case LED load: 5 × 6.72 W = 33.6 W.
  • With ~85–90% driver efficiency and Arduino/control overhead, specify a 24 V supply rated at least 2 A minimum, preferably 24 V / 3 A or larger. A 24 V / 4–5 A supply gives startup and thermal margin.
Current Setting
HV9967B current set equation from datasheet:
I_LED = 0.25 V / R_CS
Selected R_CS = 0.36 Ω, giving:
I_LED ≈ 0.25 / 0.36 = 0.694 A
Use 1% tolerance, ≥0.5 W current-sense resistors.
LED Driver Channel Mapping

Table


ChannelDriverLEDs in seriesPWM pinSense resistorInductorCatch diode
CH1U1LED1, U6, U7D3R_SENSE1L1D1
CH2U2U8, U9, U10D5R1L2D2
CH3U3U11, U12, U13D6R2L3D3
CH4U4U14, U15, U16D9R3L4D4
CH5U5U17, U18, U19D10R4L5D5
Important BOM Notes
  • Exact requested LED OSRAM GW CPSRM1.PM was not available in the Flux library. The schematic uses GW CSSRM2.EM-M9N1-XX56-1-700-R18 as an OSRAM 700 mA 3-pad SMD stand-in. Replace with the exact GW CPSRM1.PM component/footprint before manufacturing if footprint or thermal pad differs.
  • L1–L5 are generic 68 µH placeholders. Select real shielded power inductors with saturation current comfortably above peak inductor current, recommended ≥1.2 A.
  • U_REG1 support components should be verified against the final LMR50410 datasheet/layout guide before PCB release.
Thermal Requirements
Each LED dissipates roughly 2 W at nominal current. Total LED heat is about 30 W typical and can exceed 33 W at high forward voltage.
Minimum recommendations:
  • Mount LEDs on aluminum-core PCB or heavy copper LED board, or provide large thermal copper pours and vias into a heatsink.
  • Use thermal interface material between LED board and heatsink.
  • Design heatsink for total LED dissipation with airflow assumptions; do not rely on FR-4 alone for 15 high-power LEDs.
  • Keep LED junction temperature comfortably below datasheet maximum; target case/heatsink temperature that leaves junction margin at worst-case ambient.
Safety / Layout Notes
  • Keep 24 V LED power loops short and wide.
  • Place each driver’s Schottky diode, inductor, sense resistor, and VDD bypass capacitor close to its HV9967B.
  • Use a solid common ground, but route high-current switching returns away from Arduino/control signal return paths.
  • Route PWM lines away from switch nodes CHx_SW.
  • Architecture

  • Power Budget

  • Current Setting

  • LED Driver Channel Mapping

  • Important BOM Notes

  • Thermal Requirements

  • Safety / Layout Notes

Documents

  • Design Notes — Arduino 15-LED Constant Current Driver

  • Firmware Starter — Arduino Nano PWM LED Driver

  • Board Bring-Up Plan — Arduino 15-LED Constant Current Driver

Assets

No assets added.

Arduino 15-LED Constant Current Driver

Arduino 15-LED Constant Current Driver thumbnail
A 24V, five-channel 700mA constant-current OSRAM LED driver system with Arduino Nano PWM dimming.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$6.99–$7.55

Digi-Key

$5.85–$6.83

HQonline

$1.23–$1.58

LCSC

$16.00–$16.33

Mouser

$8.59

TME

$2.35

Verical

$0.42–$0.50

Controls