[HH] using a $2 Bluetooth dongle as a Bluetooth object tracker

Tom Metro tmetro+hhacking at gmail.com
Sat Jun 22 22:27:06 EDT 2013


Ming wrote:
> Hacking idea. Am I able to just supply power to a USB Bluetooth
> dongle and it will send out the Bluetooth signal?

Possibly.

That's a good idea, given you can get dongles for as little as $2:
http://article.gmane.org/gmane.org.user-groups.linux.blu.hardware/240/match=bluetooth

You should be able to test the idea easily enough. Get one, pair it
normally while attached to a host, then try power it from a USB charger,
and see if you can still see it.

USB Bluetooth dongles are built using a tiny microcontroller, so even if
a stock unit doesn't initialize the radio to make it discoverable when
powered up, a custom firmware should be able to do so.

Here is a message from Nuno Sucena Almeida in the archives talking about
custom firmware:
http://www.mail-archive.com/hardwarehacking@blu.org/msg00250.html

I imagine the custom firmware would need to tell the radio to power up
once every few minutes, and transmit an "I'm here" and wait for any
replies, shutting down the radio if none are received.

I doubt the currently available $2 ~ $6 modules work in the 4.0 low
energy mode, so the battery you hook up to it may not last very long.
Eventually this tech will trickle down to these cheap dongles.

The home brew solution may not be very pretty. The USB dongle hot glued
to a few lithium coin cells, and maybe a 5V regulator.

That does suggest that a knockoff of a Stick-N-Find (say without the
speaker and LED) could probably be retailed for under $10.


> Write code to constantly search for this particular
> profile. 

I think you'd be looking for a known hardware device address[1] of a
previously paired device.

A Bluetooth device will broadcast its name, class, and other attributes
while in discoverable mode[2], but that won't be unique if you plan to
use multiple trackers. Plus, you'd only use discoverable mode for the
initial pairing. (I think the power output might even be reduced for
security reasons in discoverable mode, which is another reason you
wouldn't use it when tracking.)

1. http://en.wikipedia.org/wiki/Bluetooth#Bluetooth_v1.0_and_v1.0B
2. http://en.wikipedia.org/wiki/Bluetooth#Setting_up_connections


> The with a raspberry Pi.

Sure, any number of devices could be used as the finder. Possibly
something as simple as a shell script (wrapping existing BT command line
tools) could be used to tell you when a matching device was in-range.

If you wanted to get sophisticated, try mounding two Bluetooth dongles
on opposite ends of a yard stick, and writing software to interpret the
relative signal strength seen by each to determine the direction of your
tracker.

However, using a cell phone would be more convenient. It wouldn't
surprise me at all to learn that someone already created a generic
Bluetooth finder app for Android. (There are a ton of oddball apps with
hacker appeal available on Android.) It may even be possible to use the
Stick-N-Find app, depending on whether they used security keys[3] to
authenticate their trackers (and assuming your custom firmware spoofs
the device class they expect).

3. http://en.wikipedia.org/wiki/Bluetooth#Security

 -Tom



More information about the Hardwarehacking mailing list