Uses radio signal level to locate a beacon in room environment. Could be used to find your phone, for instance.


My desk is so called "organized messiness" and rarely I can't find some things on my desk. There are Bluetooth beacons but it's no good if you lose your phone or if it un-pairs. So I came up with a solution to locate things in my room and have some sort of home system always know where it is.

What it does:

It locates the beacon using radio signal strength in room scale environment.

How we built it:

Used two HackRF One Software Defined Radios as receiver and a handheld HAM Radio as a beacon. SDR's data is sent to a computer and decoded by bqsr SDR software. Then, Python calculates approximate location of the beacon with radio signal level.

Challenges we ran into:

HAM Radio had higher power output than expected. Receivers were picking up at max dB no matter where the beacon was. I did some trick on the HAM radio to reduce its power. SDR software is not built for multiple SDR hardware so it conflicted while launching the second SDR. This was resolved by assigning arbitrary name in the driver.

Accomplishments that we're proud of:

Making this system to be applicable to room scale. I'm surprised putting resistor on the antenna would do the trick and actually make receivers receive a usable signal level my self.

What we learned:

How to handle UTP communication on Python and how to handle class in python. How get HackRF to work

What's next:

Add another receiver for more accurate location. In fact, three receivers are required for full 2D location tracking. Then build a protocol to identify beacons with signals they send. Connect Receivers with Google Home or Alexa to let all IoT network know where specific beacon is at all times. Build a small low power beacons

Built with:

HackRF One Baofeng UV-5R HAM Radio Python gqrx SDR A laptop

Prizes we're going for:

TBI Pro Gaming Headset

$100 Amazon Gift Cards

Grand Prize

Lutron Caseta Wireless Kit

Misfit Shine 2

Team Members

Remy Seungmin Yoo
View on Github