CrowdGlow: GPS and Bluetooth Festival Wearable for Finding Friends in Crowds

by LoreVANDENBREMPT in Circuits > Raspberry Pi

37 Views, 0 Favorites, 0 Comments

CrowdGlow: GPS and Bluetooth Festival Wearable for Finding Friends in Crowds

Schermafbeelding 2026-06-18 101514.png

What is CrowdGlow?

Photo to be added: the finished wristband glowing green on a wrist (main image)

CrowdGlow is a smart LED wristband with a website that helps a group of friends find each other in a busy crowd, like at a festival, concert or carnival. It also works as a little safety tool.

You pick a friend on your wristband and the LED ring shows how close they are: red when they are far, orange when you get closer, and green when you are together. The small screen shows the exact distance. One press on the SOS button makes everyone’s wristband buzz and shows an alarm on the website – handy when the phone network is overloaded:


How does it work?

Photo to be added: the block diagram (the wristband on one side, the Raspberry Pi on the other)

CrowdGlow has two parts that talk to each other over Bluetooth:

  1. The wristband – a small board with a built-in screen that carries the GPS, the microphone, the LED ring, the buzzer and the SOS button.
  2. The Raspberry Pi – the “brain”. It receives the data from the wristbands, saves it in a database and runs the website.

In short: the wristband sends its location and SOS to the Raspberry Pi, and the Pi sends back how far away your chosen friend is.

Supplies

IMG_7255.jpg

What you need

Photo to be added: all the parts laid out and labelled

Step 1: Bill of Materials

Before starting the project, gather all required components.

Electronics

  1. LilyGO TTGO T-Display ESP32
  2. NEO-6M GPS Module
  3. NeoPixel Ring (12 LEDs)
  4. Sound Sensor
  5. Vibration Motor
  6. 2N2222 Transistor
  7. 1N4007 Diode
  8. 1kΩ Resistor
  9. SOS Push Button
  10. Menu Push Button
  11. RFID Tag
  12. Raspberry Pi 5
  13. LiPo Battery

Tools

  1. Arduino IDE
  2. Visual Studio Code
  3. Raspberry Pi OS
  4. Fritzing
  5. Multimeter
  6. Soldering Iron
  7. 3D Printer

System Architecture

CrowdGlow consists of three major components:

Wristband

The wearable device collects location and sensor information and provides feedback to the user.

Raspberry Pi

The Raspberry Pi receives data through Bluetooth, stores information in the database and hosts the web application.

Website

The responsive website visualizes the collected information and allows users to manage their groups.

System Flow:

Wristband → Bluetooth → Raspberry Pi → MariaDB → Website


Photo to add:

  1. Block diagram showing system architecture.


Downloads

Database Design

The database stores all information required by the platform.

Users

Stores user information and RFID identifiers.

Fields:

  1. id
  2. name
  3. email
  4. rfid_uid

Groups

Stores friend groups.

Fields:

  1. id
  2. group_name

Locations

Stores GPS positions.

Fields:

  1. id
  2. user_id
  3. latitude
  4. longitude
  5. timestamp

SOS Events

Stores emergency alerts.

Fields:

  1. id
  2. sender_id
  3. status
  4. timestamp

Photo to add:

  1. ERD diagram.


Designing the Wristband

The wristband was designed specifically for festival use.

Design requirements:

  1. Comfortable to wear
  2. Lightweight
  3. Easily visible LEDs
  4. Accessible buttons
  5. Space for battery
  6. Space for GPS antenna

The enclosure was designed in 3D software before being printed.

Photo to add:

  1. Initial sketches.
  2. 3D model render.


Wiring the GPS Module

The GPS module is responsible for determining the user's location.

Connections:

GPS TX → GPIO17

GPS RX → GPIO22

GPS VCC → 3.3V

GPS GND → GND

After connecting the module, upload a GPS test sketch and verify that coordinates are received through the Serial Monitor.

Photo to add:

  1. GPS wiring.

: Wiring the Sound Sensor

The sound sensor measures ambient noise levels.

Connections:

OUT → GPIO36

VCC → 3.3V

GND → GND

The sensor is used to detect loud festival environments and can later trigger visual effects.

Photo to add:

  1. Sound sensor connected to ESP32.


Wiring the NeoPixel Ring

The NeoPixel ring provides visual feedback.

Connections:

DIN → GPIO33

5V → 5V

GND → GND

The LEDs indicate distance to friends:

  1. Red = far away
  2. Orange = getting closer
  3. Green = nearby

Photo to add:

  1. LED ring connected.

: Wiring the Buttons

Two buttons are used.

SOS Button

GPIO15

Activates emergency mode.

Menu Button

GPIO13

Navigates through screens.

Both buttons use INPUT_PULLUP.

Photo to add:

  1. Button wiring.


Wiring the Vibration Motor

The vibration motor provides haptic feedback.

Because the motor requires more current than the ESP32 can provide directly, a transistor circuit is used.

Connections:

GPIO26 → 1kΩ resistor → Base of 2N2222

Emitter → GND

Collector → Motor

Motor + → 5V

Diode across motor

Photo to add:

  1. Motor circuit.

Complete Circuit Assembly

Combine all sensors and actuators into a single circuit.

At this stage, use the Fritzing diagram to verify all connections.

Photo to add:

  1. Full breadboard setup.
  2. Fritzing diagram.


Programming the ESP32

Install the required libraries:

  1. TFT_eSPI
  2. TinyGPSPlus
  3. FastLED
  4. BluetoothSerial

The firmware handles:

  1. GPS reading
  2. Bluetooth communication
  3. Button input
  4. Display management
  5. SOS alerts
  6. Vibration feedback

Upload the firmware through Arduino IDE.

Photo to add:

  1. Arduino IDE.

Bluetooth Communication

The ESP32 communicates with the Raspberry Pi using Bluetooth.

The wearable periodically sends:

  1. GPS location
  2. SOS status
  3. Sensor data

The Raspberry Pi listens for incoming messages and processes them.

Photo to add:

  1. Bluetooth pairing.


Raspberry Pi Setup

Install Raspberry Pi OS.

Install:

  1. Python
  2. FastAPI
  3. MariaDB

Configure Bluetooth and verify communication with the wearable.

Photo to add:

  1. Raspberry Pi setup.


Creating the Database

Import the SQL database.

Verify:

  1. Users table
  2. Groups table
  3. Locations table
  4. SOS events table

Test database connectivity.

Photo to add:

  1. Database screenshot.


Building the Website

The website contains:

  1. Dashboard
  2. Group Management
  3. Friend Finder
  4. SOS Dashboard
  5. Live Map

Users can monitor group members and manage wristbands.

Photo to add:

  1. Home page.


RFID Integration

RFID is used to identify users.

When a tag is scanned:

  1. UID is read.
  2. User is identified.
  3. Wristband is linked.

Photo to add:

  1. RFID scan process.


3D Printing the Enclosure

Print the enclosure using black and red filament.

Recommended settings:

  1. Layer Height: 0.2 mm
  2. Infill: 20%
  3. PLA or PETG

Photo to add:

  1. Printed parts.

Step 18: Final Assembly

Install:

  1. TTGO board
  2. Battery
  3. GPS
  4. Wiring
  5. Buttons

Ensure everything fits securely.

Photo to add:

  1. Assembly process.


Downloads

Testing the Friend Finder

Step 19: Testing the Friend Finder

Select a friend through the interface.

Walk away from the second wristband.

Verify:

  1. Red LEDs when far away.
  2. Orange LEDs when approaching.
  3. Green LEDs when nearby.

Photo to add:

  1. Friend finder demonstration.


Testing the SOS Function

Press the SOS button.

Expected result:

  1. Vibration on all wristbands.
  2. Website alert.
  3. Database event recorded.

Photo to add:

  1. SOS alert on website.


Final Result

The final CrowdGlow prototype successfully combines wearable technology, GPS tracking, Bluetooth communication and web technologies into a single platform.

Features:

  1. Friend finding
  2. GPS tracking
  3. SOS alerts
  4. RFID identification
  5. Responsive web dashboard
  6. Haptic feedback
  7. LED guidance

Photo to add:

  1. Final hero image.


Downloads

Here you can find everything you need:

  1. BOM PDF
  2. ESP32 Source Code
  3. Raspberry Pi Source Code
  4. Database Export
  5. Fritzing Diagram
  6. STL Files

https://github.com/howest-mct/2025-2026-projectone-mct-VandenBremptLore.git