I have two Arduinos using Bluetooth to communicate one with another. Is it possible to sniff the Bluetooth conversation between the two devices?

An Android solution would be great, I heard of hcidump but I think that sniffs only the connection between the phone and a device.

If with Android is not possible alternatives are welcome.

3 Answers 3


I'm not aware of something that would turn your Android bluetooth radio into a sniffer. I think you would need to invest in an Ubertooth to accomplish what you're looking for.

http://ubertooth.sourceforge.net/ http://hakshop.myshopify.com/products/ubertooth-one

With the ubertooth you'll be able to sniff the bluetooth packets between your arduino devices.


There are two options for this currently, the first is to use a software-defined radio that supports the ISM band (at least 2.4 to 2.485 GHz). This will allow you to grab any radio signals within the bluetooth range and will be especially useful if you're trying to identify interfering signals as you'll be able to look at the big picture of the nearby radio spectrum.

The downside is that you'll be receiving totally raw waveforms which you then need to demodulate using something like the gr-bluetooth stack.

The other option is a specialized device like the Ubertooth. The Ubertooth is a powerful bluetooth development platform but currently doesn't support EDR (although it can identify when EDR is being used as a regular header is sent that can be sniffed and read). If you are using EDR Arduinos and you need to be able to actually read that data, the only option I know of would be via a software-defined radio.


I wrote an Android Application that uses a connected Ubertooth sniffing stick to capture Bluetooth LE traffic. There is no setup of the Ubertooth required. The code can be found here: https://github.com/mobilesec/android-ubertooth-btle-sniffing

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .