I have a robot pool cleaner with a Bluetooth controller (BWT P600). The cleaner itself is very good, however Bluetooth range to the controller is very poor, no more than 2-3 metres, which defeats the purpose of Bluetooth control!
My investigations lead me to believe the device has a cc2540 Bluetooth sub-board (Texas Instruments), which has an onboard wiggle antenna, and an IPEX connector to presumably allow for an external antenna. I am hoping to confirm this is the case, to find an appropriate external antenna, and to learn if it is an easy and straightforward exercise to attach the antenna. I also hope that this will improve the range of the controller.
I’ve uploaded images of the controller internals and the cc2540 Bluetooth sub-board.
Bluetooth board.pdf (805.6 KB)
I also found another post here seeking similar advice for an ESP32-Cam, which looks almost the same (for what that is worth), and I have tried to link that here. That post was under “comments” on the page for the 2.4GHz 6dBi Antenna with u.FL / IPEX Connector, which I am thinking may be a suitable antenna for the job. There was mention of needing to remove or move (resolder) a resistor on the board to make it all work. I wonder if this will be the same in my case, there seems to be a similar resistor and contacts on my board.
I hope you can help.
Yes, that will be fine. As far as I know the ESP32-Cam (linked at the bottom of this post) is only single-band 2.4GHz anyway and the antenna gain of 6dBi should work nicely:
One thing that is worth noting however is that you’ll need to desolder this low resistance resistor and then either resolder it or bridge the joints to the external antenna quite neatly which at SMD-scale can be extremely difficult to cleanly (which is quite important for RF) desolder and move around without the correct equipment as seen below:
If you have any other questions please let us know, all the best with the project!
This device is not under water is it?? If it is I would think that 2 - 3 metres would be pretty good.
The robot is underwater, but the controller (white box) is out of the water and the robot is connected by a tether about 15m long. That connection is fine. The poor connection is between the (out of water) controller and my phone.
That makes sense. It would not work at all if the whole thing is under water. The Navy do it but even with Mega Watts of power it still has limitations.
Yes, the PCB antennas on these cc2540 boards and similar bluetooth controllers are usually pretty terrible:
We ran into similar problems in house when we were developing the trace antennas for the PiicoDev transceivers:
Part of the problem is orientation, the antenna needs to be mounted in such a way that it is aligned to the transmitting antenna as illustrated nicely by this gif I found online. If your phone’s antenna is vertical, and this is floating horizontally on the water, if the antenna wasn’t oriented correctly to account for this by the manufacturer then that’ll seriously hurt the range as the received signal will be much weaker, possibly below the required SNR (signal-noise ratio) at distance:
Going with an external antenna with higher gain to amplify the received signal is almost certainly the way to go here. Can you send through a photo of the mounting point for the antenna on the board if possible?
I have a feeling it’ll be a small ufl connection with some form of routing on the PCB like a dip switch or a resistor that you can swap like in the ESP32-Cam example you linked earlier.
Yep, it’s pretty impressive. Something else worth noting about the permissibility of liquids (well, obstruction in general) to radio is that typically lower frequencies tend to travel more easily.
So much so that VLF (very low frequency; 3~30 kHz typically only makes it a few metres without extremely large transmission power), and most naval submarines use ELF (extremely low frequency; < 300 Hz and yes, no prefix, it’s basically just ticking at this point) to transmit from extreme depths although obviously the details aren’t overly public for military usage understandably.
Point is, a pool robot probably doesn’t have these kinds of capabilities as you’ve already implied
Thanks for the information, I feel like we are on the right track.
I uploaded a file with images in my original post, Bluetooth board.pdf. I will try to repost the image of the board itself here.
as you predicted, the board and antenna are mounted horizontally, so this may account in part for the poor range. Hopefully this can be fixed with the external antenna. I’m keen to hear your thought.
Adding an external antenna ought to improve the signal. As you mentioned looks like you’ve already got a u.FL IPEX connection here to hook one up:
Should just need to grab an antenna for the appropriate band (for Bluetooth, typically performing frequency hopping between 2.4 to 2.4835 GHz unless something funky is going on). That 2.4GHz antenna with 6dBi gain should be fine, personally I’d go for a dipole antenna if you can. They’ve often got a base you can tilt, which might be useful here to optimize the line-of-sight against the transmitter.
Looking at the traces, you may need to rework the components by R2 and R3 to hook up the antenna, although it is hard to tell from a photo, should be listed in the datasheet.