I am creating a project that uses Bluetooth, But unfortunately it requires some kind of control of the range. I was thinking a potentiometer controlling the power going to the transmitters antenna. But I have no clue how I would program this. Can anyone help me out or point me in the right direction? Thanks

EDIT Okay I am making this because I am designing a sensor that tells if you are in a room. For example when you leave the room the Bluetooth single is no longer in range then it notifies the arduino. I am not sure if you can do this but I cant see why not.

  • While this may not be the best solution, if you actually wanted to do it that way you should implement a pad attenuator which maintains the characteristic impedance. It will be hard to do it with a variable resistor, but you can do it in a few discrete steps with RF diode switches. Many 2.4 GHz radios, presumably including bluetooth ones, have a register which controls transmit power already. – Chris Stratton Oct 17 '15 at 0:24
  • You may be able to detect received signal strength (RSSI) but mapping this to in or out of the room is challenging, particularly if you potentially have different devices with varying effective sensitivity or radiated power, and potentially held in different manners. It gets easier if you can put another device in the next room, and decide which signal is stronger without caring about absolutes. But for that kind of promiscuous beaconing/scanning you are probably looking at BLE rather than classic bluetooth. – Chris Stratton Oct 19 '15 at 3:31
  • Do you think it will be more efficient if i use another technology such as NFC? I am, not sure if this is due able though, I have never done anything like this before. – liljoey112 Oct 20 '15 at 17:09
  • Voting to close as this was never improved to the point of having a specific answerable question. – Chris Stratton Aug 14 '16 at 14:53
  • 1
    example, limiting strength can limit noise in area where many cheap transmitters are used. I can think of better ways to do this than Bluetooth but what if data needs to be encrypted? what if OP doesn't get to choose. The question is great but not likely to have a simple answer. – JSON Apr 30 '18 at 19:08

This should not be the solution to your problem which is btw. not exactly clear. Do you want to prevent people outside of this range to connect, or do you have some sort of interference problem (in this case it might be legitimate)?

Unauthorized access should not be controlled by range because it depends not only on your sender antenna but also on the gain of the receiving device. Anyways, in the frequency bands and energy levels of a Bluetooth antenna a potentiometer will not work.

Implement access control beyond the pairing in your application.

There should be some fancy Bluetooth devices that allow for energy control. Especially, low-energy devices.

  • It's spelled "range" – Chris Stratton Oct 17 '15 at 0:23
  • @ChrisStratton - I think he is thinking of "home on the range" where you would have a ranch. See Wikipedia - Ranch. – Nick Gammon Oct 17 '15 at 5:31
  • The only way the second paragraph makes sense is to replace "ranch" with "range" (or even better, received signal strength). Controlling unauthorized access to a ranch is a reasonable goal, that paragraph points out an obvious exploit to using range (or specifically RF signal level) as a means of doing it. – Chris Stratton Oct 17 '15 at 15:04
  • 1
    Uh, oh. I was actually dealing with an application connected to ranches (really, the ones with cows). – Falk Schuetzenmeister Oct 18 '15 at 18:03

First off, like other comments have suggested you may be better off choosing a different technology for your given problem. But with that said, there is no general solution available and would have to be very well designed or it will be noisy and corrupt the data stream.

Have you considered using a physical barrier within the units housing to limit the signal, such as foil, mesh, saw dust, cloth, newspaper, etc? I can see useful results with some experimenting.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.