Interested to know what the effective range is on the Puck.js when broadcasting as a beacon? I've looked at the spec on the Puck.js page and gone to the Nordic site, but I'm struggling to pick out this info TBH.
It depends a lot on the aerial and configuration, so Nordic try and avoid giving out any numbers. Your best bet is to look at the datasheet for the module I'm using - Raytac MDBT42.
Puck.js uses the better version, which it describes as 'MDBT42Q: over 80 meters in open space'
Having said that, it's in ideal conditions - while I've used a proper antenna and designed the PCB to keep tracks out of the way, you still have a relatively large metal battery in the way which will make the range much lower in some directions that others.
By default the transmit power isn't as high as it can be, to save on battery - but you can change that with NRF.setTxPower(4)
I am able to connect to the Puck with "NRF connect" application in a corridor, if the distance is <= 6 meters. Do you know when a battery will go away if I use NRF.setTxPower(4) rather than the default one ?
Should Bluetooth5 make things better from ragne standpoint ?
As I will connect to the Puck from Android which now is 4.4.2, should I use Android 5+ for a better connectivity ?
I'd have expected a lot more than 6 meters in a corridor! I get about that here with 4 brick walls and a ceiling in the way as well.
It shouldn't actually hit the battery life that much going with the higher power - maybe 10-20%.
I'm not 100% sure Bluetooth 5 will help much (unless you have a new radio - the nRF52840 is supposed to be a bit better I believe) since the Bluetooth advertisements are still the same I think. If you're in a connection then devices can negotiate a lower datarate as they get further away and that'll definitely help though.
I did the distance test outdoor. The temperature is -10 celsius. I applied the setting NRF.setTxPower(4)
1) Positioned on a branch of a tree with direct visibility, the PUCK can be controlled from 35 meters.
2) Positioned on the bottom side of a bench, which simulates most my use-case, the PUCK can be controlled from 12 meters.
As point 1 is satisfactory as range, but point 2 is my use-case and not satisfactory as range, do you think as a good approach to have a puck used just gathering the data from 2) and broadcast it to another puck, etc. till the final location is reached, i.e. data is read from the desired source ?
Yes, you could do that I guess - and could effectively make your own 'mesh'.
I'm still surprised about the data range - what are you using to receive the data? If you had a Bluetooth LE dongle with an external aerial on it you might manage quite a lot more range.
On the Puck you have two antennas. The first the small ceramic one. The second one is on the PCB itself. Which one do you use for the BLE advertising ? Is there a possibility to decide which antenna to use and when ?
The circular antenna on the PCB is just for the NFC tag, it doesn't do anything else. All you can transmit BLE on is the ceramic antenna on Puck.js itself...
Just to add, we're now selling a Long Range USB Bluetooth Dongle which should help increase range a bit for anyone looking for a bit of a boost.
On the Espruino side there's also now an MDBT42Q module you can add an external antenna to
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem