Building a quad-band LED array for microscopy and photobiomodulation
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
🌲🍄 41429ff8ca Add missing image 8 months ago
documents Revise the circuit after receiving and testing most parts 8 months ago
pictures Add missing image 8 months ago
.gitignore Upload new schematics 11 months ago First commit 11 months ago Add missing image 8 months ago

Current status. Prototyping started, revising the circuit.

LED array layout: 9 channels in 4 bands


How many would-be scientists does it take to screw in a light bulb? I originally drafted this as an appendix to tech/microscope but it's another project in itself.

The LED array supports 4 channels and 9 bands. It's remote and connects over RJ45, easy to make an Ethernet cable go anywhere. It's possible to toggle dim each channel.

Specs table last updated: 2021-01-20

Bands 365/395nm 450/470/505nm 660/740/850nm 6500K
R (Ω) 5.043 62.254 0.975 36.414
I (A) 2.379 0.192 6.153 0.329
V (V) 11.997 11.952 5.999 11.980
P (W) 28.541 2.294 36.912 3.941
P ref 18.0 32.2 19.266 31.5
RJ45 (+/−) 5/4 (blue) 3/6 (green) 1/2 (orange) 7/8 (brown)

My goal was to make a channel mixer for scientifically useful light chords. The choice to use 4 channels instead of controlling individual bands was practical. It's much less expensive and a simpler interface. Optical filtering from the microscope will remove stray light.

Theory specs

An LED driver board delivers 3A/12V to each of 4 channels. In the channels, each of 9 bands is wired in parallel. In the bands, the individual LEDs are in series.

todo: Diagram and scan the series/parallel math.


I estimated the cable voltage drop. For simplicity, the whole system is 22 AWG. Two feet of 22 AWG is the same as five feet of 18 AWG. I used an online Voltage Drop Calculator with these parameters:

  • copper
  • 22 AWG
  • 12V
  • single conductor
  • 1 meter

The current draw was 3A or a series/parallel calculation, whichever was smaller. Please see the Current section for the specific math. To find the current for each channel, where Rx was the resistance per band times the number of bulbs in the band:

I = 12V or 6V * (
    foreach band in channel:
      + (1/ (Rx nm * bulbs))


Theoretical maximum current draw of parallel bands. The actual current limit is 3A per driver board and 11.2A for the power supply. This is a compact version of the Voltage section algorithm, with real numbers.

todo: These numbers are outdated. Either revise or remove.

  • UV-A = 3.452 = 12*( (1/(3.8*3)) + (1/(2.5*2)) )
  • BLUE = 0.313 = 12*( (1/(18*3)) + (1/(60*3)) + (1/(165*3)) )
  • IR+ = 23.139 = 12*( (1/(0.766*1)) + (1/(2.714*3)) + (1/(1*2)) )
  • 65K = 1.836 = 12*( (1/(2.178*3)) )


I used an online Dropping Resistor Calculator to determine the resistor in front the LED bands.

Materials bill

Please find a DigiKey CSV export with all the components. The LEDs are now about 50% the total cost; before they were only 36% the total. I also added about $50 to the estimated budget for various bits and bobs.

# Description Stats DigiKey
3 365nm UV-A R=3.8; I=1; V=3.8; P=3.8 LZ1-00UV0R-0000
3 395nm UV-A R=2.5; I=1.4; V=3.5; P=4.9 CUN9GB1A
4 450nm blue R=18; I=0.15; V=2.7; P=0.405 MTE4600L-HP
3 470nm blue R=60; I=0.05; V=3; P=0.15 MTE4047NK2-UB
3 505nm cyan R=165; I=0.02; V=3.3; P=0.066 LS-0505-014
2 660nm red R=0.766; I=3; V=2.3; P=6.9 SST-20-DR-B120-V660
3 740nm infrared R=2.714; I=0.7; V=1.9; P=1.33 QBHP684-IR4AU
3 850nm infrared R=1; I=1.5; V=1.5; P=2.25 SST-10-IR-B130-K850-00
6 6500K white R=2.178; I=1.4; V=3.05; P=4.27 LE UW Q8WP-NBPB-BQ-0-A40-R18-Z
Dropping resistors
1 450nm blue R=26.7; P=1 RNF1FTD26R7
1 470nm blue R=60.4; P=0.4 SFR2500006049FR500
1 505nm cyan R=105; P=0.25 MFR-25FBF52-105R
2 6500K white R=2; P=5 UB5C-2RF1
Circuit protection
4 LED driver board I=3; V=12; P=36 IS32LT3953-GRLA3-EB
10 PolyZen diode R=4; I=3; V=12; P=36 ZEN132V260A16YC
5 PTC resettable fuse R=; I=3; V=16; P= RGEF300-1
25 13V shunt open fault protection PLED6S
10 6V shunt open fault protection PLED13S
1 AC mains input I=10; V=250 KMF1.1291.11
1 fuse drawer 4301.1403
2 fast-blow fuse I=10; V=250 0217010.HXP
1 ballast resistor R=1; P=100 HSC1001R0F
1 PTC resettable fuse I=2; V=240 LVR200S-240
1 metal oxide varistor I=22k; V=390 V25S250P
1 DC power supply I=12.5; V=12; P=150 ARFS-1511-1200
1 12V chassis fan CFM-5010V-143-260
4 555 timer f=100kHz NE555P
4 rotary potentiometer R=100k; P=2 3% tolerance 3549S-1AA-104A
10 R1 and R3 resistors R=1k; P=0.25 QW210BR
4 C1 capacitor C=10nF C330C103F1G5TA
4 C2 capacitor C=470pF C317C471F1G5TA
10 D1 diode fast recovery 1N4148TR
3 ft 22 AWG 4-pair 2170464
2 single-input RJ45 A-2004-2-4-LP/S-R
10 2-pole terminal block OSTTC020162
2 4-pole terminal block 1935187
2 square perfboard 8029
1 round perfboard LED12-C2
1 heatsink SPIRLED-4850


I determined the nominal electric properties for each light and a commercial reference standard. Thorlabs high-power microscopy LEDs are an excellent and relevant standard to strive for. I packed in as many LEDs as each driver would support, also to reduce dropping resistor requirements.

Band Reference
365nm SOLIS-365C
Stats R=0.888; I=4.5; V=4; P=18
Ratio R=0.233; I=4.5; V=1.052; P=4.736
395nm SOLIS-385C
Stats R=0.888; I=4.5; V=4; P=18
Ratio R=0.355; I=3.214; V=1.142; P=3.673
450nm SOLIS-445C
Stats R=0.422; I=9; V=3.8; P=34.2
Ratio R=0.023; I=60; V=1.407; P=84.444
470nm SOLIS-470C
Stats R=2; I=4; V=8; P=32
Ratio R=0.033; I=80; V=2.666; P=213.333
505nm SOLIS-505C
Stats R=1.9; I=4; V=7.6; P=30.4
Ratio R=0.011; I=200; V=2.303; P=460.606
660nm SOLIS-660C
Stats R=12.5; I=1; V=12.5; P=12.5
Ratio R=16.318; I=0.333; V=5.434; P=1.811
740nm SOLIS-740C
Stats R=14; I=1.5; V=21; P=31.5
Ratio R=5.158; I=2.142; V=11.052; P=23.684
850nm SOLIS-850C
Stats R=13.8; I=1; V=13.8; P=13.8
Ratio R=13.8; I=0.666; V=9.2; P=6.133
6500K SOLIS-1C
Stats R=0.388; I=9; V=3.5; P=31.5
Ratio R=R=0.178; I=6.428; V=0.983; P=7.377

Power and drivers

Coordinated Circuit Protection for LED Lighting helped me design some basic circuit protections.

I removed a lot of fiddling with one good AC input: shielding and fuses. Then I used a ballast resistor, PTC resettable fuse, and metal oxide varistor on the line input. The 12V power output is also filtered with PolyZen diodes and smaller PTCs.


I used the guide Yet Another Simple Pot-controlled 555 PWM Generator to construct a simple PWM circuit. Then I revised the circuit following the advice of friends. The pictured version is current since 2021-01-20.

Cables, connectors, etc.

Jacks. The controller talks to the LED array over Ethernet. The power supply feeds a central wire wrapped power/ground bus. Each board gets its power from robust terminal blocks. Such a block also carries the PWM signal.

Cables. I used 22 AWG wire throughout to decrease resistance and carry 3A currents. The minimum standard needed to operate all channels simultaneously at full capacity is 20/22 AWG. The wiring corresponds to the T-568B RJ45 pinout to allow off-the-shelf Ethernet cable (24 AWG) at low/normal power.

Voltage drop is a concern for longer cable runs. I'm trying to splice Ethernet ends onto 5 feet of thick 18 AWG cable. This would allow remote usage, such as in a chamber.

Constructing the device


Mocking up the LED array


Attaching the heatsink

The heatsink has too many sharp edges to comfortably place between microscope lenses. Three sections of cable tied into figure-eight knots performed three useful functions: soft feet to avoid scratching the lenses, attaching the heatsink close to to the LED array, and grounding everything.

Additionally, bare wire is wrapped around the core of the heatsink and also connected to the ground bus. The idea is to dump the LED heat output to ground and efficiently distribute it through the whole heatsink. The stranded feet and the solid wrap make good use of the pre-drilled holes while requiring no hardware.