BLE advertisment range compared to ESP32

Posted on
  • Hi,

    I am currently working on a project which uses BLE advertising. My code runs on a Puck.js and on an ESP32 board. The signal range of the ESP32 is impressive and the BLE advertisment is picked up from several meters and even behind walls.

    However the Puck.js performs badly. I tried to set the TxPower via setTxPower(4) but this doesn't have the desired effect. The documention at https://www.espruino.com/Reference#l_NRF_setTxPower is bit unclear. What unit is TxPower in? Does a negative value means more transmit power or less?

    What can I do to improve the range of the Puck.js?

    Thank you!

  • NRF.setTxPower(4) is the maximum for Puck.js, and the value is in dBm. The default is 0 though so you can at least boost power by a bit.

    The Puck's transmit power is quite directional (because you've got the metal battery and NFC ring right near the aerial which shield it in some directions) but yes, you won't find it as powerful as the ESP32 as that appears to be able to put out up to 9dBm (plus the aerial in your ESP32 board is probably not shielded by anything).

    Apart from NRF.setTxPower there's not a whole lot you can do - you could decrease the advertising interval so there's more packets sent and more chance of them getting through though

  • Hi Gordon!

    Thank you. I experimented a bit and it seems like in the end the accuracy is good enough.

    While it seems like the ESP32 would be the winner here, there is one fact that is more important than range. While the ESP32 runs around 2 days on battery I expect the Puck.js to run significantly longer.

    I dont't have any expierience with actual battery consumption on the Puck.js but I hope I will get at least some weeks out of it.

  • I expect the Puck.js to run significantly longer.

    Oh yes! There's http://www.espruino.com/Puck.js#power-consumption if you're interested.

    The Puck has a ~200mAh battery (depending on what's there) so divide 200,000 by the uA figures there to get an idea of hours.

    With the default advertising you're looking at around the 200 day mark - higher TX power will reduce that, but making it nonconnectable and nonscannable (if you don't need it) will get you some of that back.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

BLE advertisment range compared to ESP32

Posted by Avatar for user140908 @user140908

Actions