LCD-LED Display

Unique Bedroom Lamp: The LED Driver Schematic Circuit Diagram

Power LEDs are increasingly being adopted as primary bedroom lighting sources for several compelling reasons. In my view, the most significant benefit of LED lighting is their exceptional longevity. Furthermore, they exhibit extremely low heat emission, allowing LED light sources to remain cool to the touch even after operating for extended periods, in stark contrast to incandescent bulbs which can become uncomfortably hot with only a short duration of use. Presented below is the circuit diagram for an affordable white LED driver, ideal for use in your upcoming distinctive bedroom lamp project.

Unique Bedroom Lamp The LED Driver Schematic Circuit Diagram 1

The core of this circuit features the PT4115 constant current driver chip (IC1) produced by PowTech ( The PT4115, conveniently housed in an SOT89-5 package, serves as a continuous conduction mode inductive step-down converter specially designed for efficiently driving single or multiple LEDs connected in series from a voltage source higher than the total LED chain voltage. This device operates effectively with an input supply voltage ranging between 6 and 30 V and offers an externally adjustable output current of up to 1.2 A. Additionally, the chip includes a dedicated “dim” input, which accepts either a direct current voltage or a wide range of pulsed dimming signals.

In this particular LED driver, adaptability and a configured output current of approximately 300 mA have been prioritized. This setting, intentionally below the maximum current for 1-W white LEDs, has been chosen to ensure the extended lifespan of the LEDs. The circuit is designed to drive up to four 1-W white LEDs connected in series, tailored for power rails between 12 V and 15 V. When designing the PCB, it’s essential to incorporate a ground plane on the back of the board, effectively serving as a heatsink.

After construction, it’s advisable to secure the populated PCB in place using silicone or heatsink compound, attaching it to an aluminum bar or metal surface. However, it can operate efficiently at 300 mA without requiring a heatsink. The provided image below offers an excellent example of the recommended PCB layout (courtesy of

Unique Bedroom Lamp The LED Driver Schematic Circuit Diagram 2

Setting up the circuit is a straightforward process. Simply connect the output from your power supply, which should be in the range of 12 to 15 V, to the VCC terminal and GND terminals of the circuit (J1). You can easily locate a compact switch-mode power supply capable of handling this voltage range. Next, connect the anode of the LED (a series of three 1-W LEDs) to the L+ terminal and the cathode to the L– terminal of the circuit (J2). That’s all there is to it—watch it illuminate!


  • The required LED drive current can be tweaked by changing the value of resistor R1 (in the prototype, two 0.15-R resistors are connected in series to get 0.3-R value). Formula: ILED = 100/R1
  • As stated earlier, the PT4115 allows dimming with a PWM signal at the DIM (pin 3) input. A logic level below 0.3 V at DIM forces PT4115 to turn off the LED, and the logic level at DIM must be at least 2.5 V to turn on the full LED current. The frequency of PWM dimming ranges from 100 Hz to more than 20 kHz.
  • The DIM pin can be driven by an external dc voltage (VDIM) to adjust the output current to a value below the nominal average value defined by R1. The dc voltage is valid from 0.5 to 2.5 V (when the dc voltage is higher than 2.5 V, the output current keeps constant). The LED current also can be adjusted by a resistor connected to the DIM pin. The average output current is given by: IOUT = 0.1 x VDIM/2.5 x R1
  • In India, all components for this project are available here:

Arduino PWM — Another Primer!

Fortunately, there’s an “Arduino approach” to regulating the brightness of LEDs powered by the PT4115 chip, and it involves utilizing the pulse-width modulation (PWM) technique. If this sounds complex, rest assured it’s quite straightforward. Here’s a brief introduction to PWM to get you started. Once you grasp the concept, you can apply it not only with Arduino but also with any other microcontroller that features PWM output capabilities.

With Arduino, we can send a value ranging from 0 to 255 to a PWM pin. The Arduino library will then handle the assigned pin, generating a PWM signal where the on-time is proportional to the value specified. Arduino employs 8 bits to represent analog data, and it can express this data in decimal form using values from 0 to 255. In this range, 0 represents 0 V, and 255 signifies 5 V. Any other value between 0 and 255 corresponds to a voltage level between 0 and 5 V. To send analog data to a pin in Arduino, we use the command analogWrite(pin, value); where “pin” designates the pin for analog data output (usually, this can only be done on pins marked as PWM-capable), and “value” is any number between 0 and 255.

For instance, when I write analogWrite(3, 255/2);, the outcome is a square wave on pin 3, the width of which has been halved. The full width would produce 5 V, so this wave generates 2.5 V, as depicted in the oscillogram.

Unique Bedroom Lamp The LED Driver Schematic Circuit Diagram 3

The majority of microprocessors offer the flexibility to adjust the modulation frequency for PWM pins. Arduino, in particular, comes with predefined default values. Pins 3, 9, 10, and 11 typically have a default frequency of approximately 488 Hz, while pins 5 and 6 operate at around 977 Hz. These default values are applicable when using an Arduino running at the standard 16 MHz clock speed. If needed, these frequencies can be easily modified by writing new values to the corresponding timer register. For more comprehensive information on configuring timer frequencies, please consult this guide:

To demonstrate this concept, you can load a simple code onto your Arduino. Connect a 10K potentiometer to the Arduino with the middle (wiper) terminal linked to pin 9, the first terminal connected to 5 V, and the last terminal to GND. Subsequently, attach an oscilloscope to pin 3 of the Arduino, and you can observe how the PWM signal varies when rotating the 10K potentiometer in both clockwise and counterclockwise directions.

//PWM Example Code
int pwmPin = 3; // PWM output pin
int inPin = 9; // Potentiometer input pin
int val = 0; // variable to store the read value
float volt = 0; // variable to hold the voltage read

void setup()
pinMode(pwmPin, OUTPUT); // set pwm pin as output

void loop()
val = analogRead(inPin); // read the potetntiometer input pin
volt =(5.0 * val) / 1023;
val = 255 * (volt / 5);
analogWrite(pwmPin, val);
Now that we understand how PWM works and can even change its frequency, it is time to start some experiments on how to implement a microcontroller for PWM dimming of LEDs with or without dedicated drivers. Such experiments are incredibly useful. If you have any questions about this article, please drop me a note in the comments. If you have any improvements, corrections, or additions, please let me know about them as well.

Finally, a word of caution: The PT4115 chip is prone to overvoltage/transient damage on the DIM (pin 3). So it’s better to protect the DIM pin with a voltage clamp, as shown here:

Unique Bedroom Lamp The LED Driver Schematic Circuit Diagram 4


Related Articles

Leave a Reply

Your email address will not be published.

Back to top button