NRF24L01+PA+LNA power consumption

  • Hi,
    I have ordered two of the PA radios from the linked store on ebay. My intention was to get the range a bit extended. I saw that there is probably not so much gain indoors, anyway I am playing around and try to get the best settings.

    So I connected to a Nano with power regulator LD1117 which should be capable of providing 800mA and with a regulated power supply which is rated for 2A.
    Connected the radio and measured the consumption which is never higher than around 23mA - I am wondering how the code needs to look like. This is my code:

    // NRFRF24L01 radio driver (set low transmit power by default)
    MyTransportNRF24 radio(RF24_CE_PIN, RF24_CS_PIN, RF24_PA_MAX);
    //MyTransportRFM69 radio;
    // Message signing driver (none default)
    //MySigningNone signer;
    // Select AtMega328 hardware profile
    MyHwATMega328 hw;
    // Construct MySensors library
    MySensor gw(radio, hw);

    No differences changing it from RF24_PA_LOW _HIGH or _MAX

    And here is my setup:
    alt text

    Will I only see differences in power consumption if it is under load?


  • Hi @parachutesj,

    you should test it with a loop sending data. It has the highest consumption while sending data.
    Seeing your PA/LNA you should also shield it, to extend range.

  • @Oitzu
    ok, will try pushing as much data as possible through the wire.
    I also tried the shielding with no differences to be honest.

  • @Oitzu
    I tried it with sending a lot of packets but still, no more current than before. Are there any specific settings I need to do for the PA radio?

  • @parachutesj: expect the RF24_PA_MAX no. I need to say that i still use the 1.5 library and set the PA_MAX setting in the MyConfig.h.

  • @Oitzu thank you. tried this as well with no difference. I suspect my radios are really bad. I got much better results with the non amplified ones during testing. I think I will try if they perform better with a LC filter if not, good bye

  • @parachutesj you probably don't benefit from a LC-Filter that much, because you are already using a linear regulator (LD1117 ).
    Make sure that you used the shielding right and grounded it.

  • What is the PA used on the board? Are there schematics available? (Or a part number for the board) Are they using the VDD_PA line from the nRF24L01P to enable the PA? If so, scope out the VDD_PA line and see if it is toggling when transmitting. It will go high 50us before the nRF24L01p transmits a packet and will stay high the full time it is transmitting. If that line is not toggling when sending packets then you are not transmitting.

  • @Jokgi:
    I think that is what most of the boards are doing. But i also seen schematics in wich the 1kOhm resistor isn't there.
    So there could maybe be problems if you try to control the nrf24l01+ PA/LNA with a 5V Arduino because the PA can't handle the 5V signal.

  • @Oitzu
    Is that the released schematic for that Module?
    I can see why they have the resistor removed.
    The CE line is a active high input to the nRF24L01P. The RXEN is a input to the RFX2401C used to switch in the different modes. (See the mode select table below)
    The CE line could / should be controlled by the host MCU. You can see this on the state machine in the nRF24L01P datasheet section 6.1.1, Figure 4. The diagram shows recommended operating modes vs. possible operating modes.

    For the RFX2401C,,,,
    If the RXEN is pulled high with a resistor and when the nRF24L01P is not transmitting, the unit will switch the LNA in. In this setup the RFX never goes to shut down mode and the RFX is either in TX or RX mode. There are no internal pull ups or pull downs on the nRF24L01P CE or or the RFX devices RXEN. Therefore there is no guaranty that the lines will be high or low and could be subject to noise. I would not leave them floating.

    Control Logic Truth Table X= Don't Care
    TXEN RXEN 0perating Conditions
    1 X TX Active
    0 1 RX Active
    0 0 Chip is Shut-down

    To address the Current Draw. According to the RFX2401C datasheet, when the PA is transmitting at 20dBm the current consumption of the amp is 120mA. Plus whatever else you have running. (MCU, nRF24L01P, etc)

  • @Jokgi hard to say to which module excatly it belongs.. would need to track the traces on the pcb to be 100% sure.
    Isn't CE pulled down by the MCU while not transmitting or receiving? I do not have really any problems with the module going power down.

    @parachutesj Well i got most problems with this sort of module, if you have the one pictured.
    They tended to not run at all without adding a grounded shield, add the LC-Filer and maked sure to run the signals with 3.3V.

  • @Oitzu The pictures I have seen of various PA modules available on EBAY and such show a pretty solid ground pour on the top and bottom of the module. I am surprised that wrapping them with Au foil helped much. (But stranger things have been known to work. 😉 ) Does anyone have some quantitative numbers with and without the foil mods?

  • @Jokgi @ all. Sorry I was not specific. I should have added Range measurements with and without the foil.

  • @Jokgi it may be true that the ground filling seems to be quite good, but it seems like it needs also be shielded.
    Without the shielding the module is influenced by its own signals and external signals.
    There are also modules out there that have actually a shield added:
    But i have not tested them yet.

    By quantitative numbers you mean range?
    On max transmitting power i don't got even 5meters because the PA TX seems to overload the RX and ack will never be received.
    With the shielding i got arround 1000 meters free line of sight.

  • @Oitzu
    I got the new ones in the mail today. those are the shielded ones from IC station (
    but even here when measuring current it never goes higher than 31mA
    I am going nuts. I mean I should be happy about the low power consumption but I think I haven't set them up correctly and not getting the full power.

    Again, I set in MyConfig.h

    #define RF24_PA_LEVEL 	   RF24_PA_MAX
    #define RF24_PA_LEVEL_GW   RF24_PA_MAX

    and my constructor:

    MyTransportNRF24 radio(RF24_CE_PIN, RF24_CS_PIN, RF24_PA_LEVEL);

    I am measuring with a Fluke 87V and just making sure also took another one reading similar values.
    I ran the VCC through my multimeter - any ideas?

  • @parachutesj i'm reading pretty much the same values on my multimeter, so nothing to worry about. 😉

  • @Oitzu I just thougt that others reported 115mA and more.
    However the module with the shielding says 100mW that would make at 3.3v exactly 30.3 mA... So actually yes, all correct

  • @Oitzu Thanks for the follow up. Yes, the CE line is a input to the nRF24L01P. In the schematic sent yesterday it showed the CE line connected to the RXEN of the RFX2401c. Both are inputs.

  • @parachutesj Unless you have the transmitter in constant carrier mode you cannot successfully measure the current with a standard multi-meter. If you want to know if the radio is transmitting and you have a good scope then look at the VDD_PA line.

Log in to reply





Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.