Skip to main content
Simon Stijnen
Back to All Projects

Final project: Bluetooth Device Localization

Starting the application. You can see the bluetooth beacons are discovered automatically. Then we give each beacon a position in the room. Once at least three beacons have a position they can start discovering devices.

Early stages of the project. In the video you see the ESP32 beacons (blue circles) estimating the position of several devices. When clicking a device you see extra information like it's position coordinates in the room.

Early stages of the project. Devices with a greater accuracy get rendered on top otherwise you can not interact with them on the map.

Early stages of the project.
Development of drawing device circles and implementing trilateration.

Early stages of the project. Development of drawing device circles and implementing trilateration.

Project Overview

In this project, I developed a system to locate devices within a room using Bluetooth signal strength. The system uses a Raspberry Pi and ESP32 devices to collect Bluetooth signals from nearby devices, which are then processed to estimate their locations within the room.

The project involved setting up a network of ESP32 devices to act as Bluetooth beacons, each scanning for nearby devices and reporting the signal strengths of those devices to the Raspberry Pi. The Raspberry Pi collects these signal strength readings and uses trilateration techniques to determine the approximate location of each device. I implemented a web interface using React to visualize the device locations in real-time.

This project not only enhanced my skills in Python and React but also deepened my understanding of Bluetooth technology and its applications in indoor positioning systems.

Technologies Used

  • Python
  • React
  • Data Science
  • Raspberry Pi
  • ESP32
  • Bluetooth
  • WebSocket
  • IoT
  • Data Visualization
  • Data Processing
  • Trilateration

Related Projects

Pop-a-loon
A full stack Chrome extension with 200+ users, featuring interactive balloons and real-time stats.
PaleoNet
Using a convolutional neural network (CNN) to classify images of dinosaurs.
Audionome: Music Genre Classification
Using a Support Vector Machine (SVM) to classify music clips based on their genre.