TK95DIGITALPWMbeginner

Dual Bright LEDs

Two high-output LEDs with the resistors already fitted. A torch, or a flash for a robot's camera — and enough current draw to matter.

Comes in this kit — not sold separately

Specifications

TypeTwo high-brightness LEDs
ControlDigital on/off, or PWM
Series resistorsFitted on the module
Supply voltage3.3 V or 5 V
NoteDraws meaningfully more current than an indicator LED

What it is

Two LEDs chosen for output rather than indication, with their resistors on the board. Bright enough to light a scene rather than to say that something happened.

The current is the part to plan for. An indicator LED is a couple of milliamps; these are tens, and two of them at once from a 3.3 V regulator that is also running a radio is enough to cause a visible brownout. Drive them from the 5 V rail where you can, and if you are pulsing them for a camera flash, add a capacitor near the module so the burst comes out of that rather than out of your supply.

PWM dims them, and unlike a vibration motor they dim smoothly all the way down — though your eye is logarithmic, so the bottom quarter of the PWM range covers most of the perceived change.

Do not look into them at close range.

Dual Bright LEDs — front
Front
Dual Bright LEDs — back
Back
Dual Bright LEDs — side
Side

Pinout

  • GND (negative): Like the negative terminal (-) of a battery, connect to the control board's GND
  • VCC (positive): Like the positive terminal (+) of a battery, connect to the control board's 3.3V or 5V (this module supports both 3.3V and 5V)
  • 3000K (warm white control): Pin to control 3000K warm white LED, connect to the control board's PWM pin (e.g. Arduino D3 or Pico GPIO 1)
  • 6500K (cool white control): Pin to control 6500K cool white LED, connect to the control board's PWM pin (e.g. Arduino D5 or Pico GPIO 2)

Wiring

Dual Bright LEDs wiring

  1. GND → Control board GND
  2. VCC → Control board 3.3V or 5V
  3. 3000K → Control board PWM pin (use the pin defined in your program)
  4. 6500K → Control board PWM pin (use the pin defined in your program)

Example

// Pin number: change these to match your wiring
#define WARM_PIN 2   // Arduino PWM pin connected to 3000K (e.g. D3)
#define COLD_PIN 3   // Arduino PWM pin connected to 6500K (e.g. D5)

void setup() {
  // Set LED pins as output mode
  pinMode(WARM_PIN, OUTPUT);
  pinMode(COLD_PIN, OUTPUT);
  
  // Start serial for debugging (9600 baud)
  Serial.begin(9600);
}

void loop() {
  // Warm white (3000K brightest, 6500K off)
  analogWrite(WARM_PIN, 255);   // Warm white brightest
  analogWrite(COLD_PIN, 0);      // Cool white off
  Serial.println("Warm white");
  delay(2000);
  
  // Cool white (3000K off, 6500K brightest)
  analogWrite(WARM_PIN, 0);
  analogWrite(COLD_PIN, 255);
  Serial.println("Cool white");
  delay(2000);
  
  // Mixed light (both LEDs on, color temperature in middle)
  analogWrite(WARM_PIN, 128);   // Warm white medium brightness
  analogWrite(COLD_PIN, 128);    // Cool white medium brightness
  Serial.println("Mixed light");
  delay(2000);
}
Dual Bright LEDs running on an Arduino Uno

When it doesn’t work

The board browns out or resets when both come on.
Current. Move them to the 5 V rail, add a 100 µF capacitor nearby, or drive one at a time.
Dimming looks wrong at low levels.
Perception is logarithmic while PWM is linear. Square the duty cycle for a curve that looks even.
They get warm.
At full output that is expected. If they are hot rather than warm, you are running from a higher voltage than the resistors were sized for.

Lessons using TK95

Each one is a working build, not a snippet.

Edit this page — content/modules/dual-bright-leds.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

Dual Bright LEDs

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum