This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Is this robust? NRF52840 1.8v low power mode driving RGB LED from 3.3v

It would be great to get some reassurance on this design. Is it ok for production i.e. is robust and within limits?

I am successfully driving an smd rgb led by sinking 2ma current into the GPIO pins of an NRF52840 that is running at 1.8v.

The LEDs forward voltage drop range from 1.7-3.0v so I have the common anode tied to a 3.3v power line to achieve threshold.

Will the 3.3v damage the NRF52840? The datasheet says GPIO max voltage is VDD +0.3v (if I recall) 

 When the GPIO is set high the led voltage is is below threshold for red,green and blue and they don't light. As required.

When GPIO is set low, they light and the forward voltage drop of the LEDs should ensure that the pin does not see a voltage above 1.6v which is below vdd.

So as long as the total current sink is managed within limits this seems to be all ok?

Is that correct?

Thanks

 

  • Hello Justin,

    Due to public holidays in Norway, our experts are out of office until Tuesday. We will come back to you as soon as possible.

    I apologise for any inconvenience caused.

    Regards,

    Markus

  • Not ok, there will be issues with back-drive and power sequencing; I will let Nordic engineers detail why.

    There are at least three options to solve your issue:

    • Add a FET to the output port for each LED using the 3.3 volt rail
    • Add an ideal diode to drive eaach LED (expensive)
    • Boost the 1.8 volt VDD voltage to all the LEDs, no FET required

    A simple voltage-doubler works to nearly double the 1.8 volts to (say) 3 volts. Normally that would require two diodes and two capacitors, but since the LED is already a diode and LEDs work quite nicely with pulsed (PWM) drive. only a single diode and capacitor are required. The simplest circuit requires a PWM signal and a separate active-low drive for each LED.

    //       VDD 1.8V--#--  Schottky
    //                 |    Diode
    //                 |    |\  (         |\  |LED 1
    //                 |    | \ )         | \ |       +------+
    //                 +----|  )----#-----|  )--------[ R1   ]-----+
    //                      | / (   |     | / |       +------+     |
    //                      |/  )   |     |/  |                    |
    //                              |                              |
    //                              |     |\  |LED 2               |
    //                              |     | \ |       +------+     |
    //                              #-----|  )--------[ R2   ]--+  |
    //                              |     | / |       +------+  |  |
    //                              |     |/  |                 |  |
    //                            -----                         |  |
    //                            -----                         |  |
    //                              |                           |  |
    //                              |                           |  |
    //   PWM Boost   ---------------+                           |  |
    //                                                          |  |
    //   LED 2 Drive -------------------------------------------+  |
    //   LED 1 Drive ----------------------------------------------+

    Say 10uF with a pulse rate of a few kHz; control brightness by the series resistor to the LEDs or also pulse the LED drives. The series resistor depends on the types of LEDs, usually a few hundred Ohms.

  • Thanks for the reply and the cool diode and cap PWM solution. That is tempting despite the very tight board space I have (it is a wearable device).

    Does it make any difference that the 3.3v line is always disabled whenever the NRF52840 is powered down?

    I don't specifically manage the power up/down sequence between this line and the NRF52840 VDD so there could be transient periods on power-up or down when the above is not true. But I could actually enable the 3.3v LDO via the NRF52840 and ensure it was always off until NRF52840 is fired up.

    Is the back drive issue during normal operation in my setup or is it only an issue when NRF52840 VDD goes to zero? I guess I don't understand the back drive issue. If the NRF52840 had VDD 3.3v this design would be fine (that is how the NRF52840 dongle schematic is setup) and the voltage drop of the LEDs should keep the voltage at the pin below VDD.

    Thanks again

  • Tight board space? Why use a 1.8 volt regulator, unless it is required for other components. The nRF52 internal runs at 1.3 volts, just the i/o uses the 1.8 volts. If you can avoid the 1.8 it avoids the associated Iq in sleep/shelf mode plus a huge shielded inductor and regulator and beating synchronous noise. I designed a medical patch and did the same but measurements showed that chucking that out helped overall battery consumption; AFE and the like used 1.8 volt for i/o but 2.7 volts for analogue circuits. A 1.8 volt Flash is a different kettle of fish, however.

    Usually it is preferable to drive the 3.3 volt regulator from an i/o pin which has an external disabling pull-up or pull-down as needed; always disabled except when 3.3 volt power required. The issue with 3.3 volt being present but not nRF52 VDD is that the io pins power up the nRF52 via the internal schottky clamp diodes. The leakage through an LED (say 100nA) with a voltage differential too small to light is sufficient to stop the nRF52 reset and brown out functionality working correctly until of course all voltages decay to zero (that can take a long time)..

  • The rest of the ICs need 1.8v pwr and IO so no option to avoid that. I do get the 1.8v "free" anyway from the battery management IC. 

    Unless I hear differently from the Nordic Engineers on Tuesday, I think I will go with your diode and cap suggestion. I will prototype that up today. 

    Thanks for sharing your experience. It is a real help.

    cheers

Related