Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BLEacon


James Cranley, July 2025


A lightweight ESP32-based RSSI logger and display for BLE beacons.

This project uses the Waveshare ESP32-S3-LCD-1.47 microcontroller with integrated LCD to monitor signal strength (RSSI) from a specific BLE beacon—typically a Shelly BLU Button1.
It displays live signal strength as text and signal bars, syncs its clock over NTP, and logs data to SD card.

BLEacon


Hardware


Preparing the Beacon

Ensure your Shelly BLU Button1 is in Beacon Mode:

  1. Download the Shelly Smart Control app and pair your device.
  2. In the app, tap on the Shelly Button1 and enable Beacon Mode under advanced settings.
  3. Go to Device Info and note the MAC address—you'll need this for the sketch.

Installation

1. Install Arduino IDE

  • Install via Homebrew (for macOS):

    brew install --cask arduino-ide
  • On Apple Silicon Macs, you may need Rosetta2:

    softwareupdate --install-rosetta

2. Connect and Select the Board

  • Plug the ESP32-S3-LCD-1.47 into USB.
  • Open Arduino IDE.
  • In the toolbar, select:
    • Board: “WAVESHARE ESP32-S3 LCD 1.47”
    • Port: Your device’s USB connection

Connection


3. Install ESP32 Board Support

  • Open the Boards Manager (left sidebar).
  • Search for esp32 by Espressif Systems.
  • Install the latest version.

Board


4. Install Required Libraries

  • Open the Library Manager (left sidebar).
  • Install the following:
    • Adafruit GFX Library
    • Adafruit ST7789 Library

Board


5. Load the Sketch

  • Open the file: /src/multi_MAC_with_logging.ino
  • Fill in:
    • The MAC addresses of your Shelly tags
    • Your Wi-Fi credentials for NTP time sync
  • Upload to the device: Click the Upload button in the IDE.

If you get a Bad CPU Type error, then install rosetta2 (which is tiny), using softwareupdate --install-rosetta


Output

The device will:

  • Display current UTC time, MAC, SSID, and RSSI.
  • It will log data to the on-baord micro SD card

References

NHS Digital

Marini2020

About

BLE beacon using ESP32-S3 dev board

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages