BLE Star Topology Visualizer Using BleuIO

Monitoring nearby Bluetooth Low Energy (BLE) devices is essential for developers, testers, and engineers working with IoT, smart sensors, or proximity-based applications. To simplify this process, we’ve developed a visual tool—BLE Star Topology Visualizer—that connects to a BleuIO USB dongle and graphically maps nearby advertising BLE devices using RSSI-based distance estimation. This project not only provides a live BLE scan but also visualizes the proximity of devices in a central-node star topology.

What This Tool Does

The BLE Star Topology Visualizer is a web-based application that:

  • Connects to a BleuIO USB dongle via Web Serial API.
  • Performs a BLE GAP scan using AT+GAPSCAN=x to detect nearby BLE devices.
  • Displays detected devices as nodes around the central BleuIO dongle.
  • Uses RSSI (Received Signal Strength Indicator) to:
    • Color-code devices (green = strong signal, red = weak signal).
    • Adjust the visual distance from the center (closer = stronger signal).
  • Shows device MAC address, RSSI, and name (if available) in a tooltip on hover.

Requirements

To use this BLE Star Topology Visualizer, you’ll need a BleuIO USB dongle, which acts as the central scanning device. The dongle is responsible for performing GAP scans and returning nearby Bluetooth advertising data, including RSSI values and device names. No additional drivers or installations are needed—just plug in the BleuIO dongle, open the web app in a supported browser, and you’re ready to start scanning and visualizing.

Why This is Useful

BLE developers often depend on terminal-based command outputs to monitor advertising packets from nearby devices. While functional, this raw data can quickly become difficult to interpret—especially in environments with dozens of concurrent BLE signals. The BLE Star Topology Visualizer simplifies this challenge by transforming complex scan results into an interactive graphical map. It offers an immediate visual representation of proximity, density, and signal strength, helping developers, testers, and engineers better understand their BLE environment at a glance. Whether it’s estimating coverage, validating signal strength, or analyzing deployment patterns, this tool bridges the gap between data and insight.

Use Cases

This visualizer can serve many real-world needs. In a smart office or industrial IoT setup, it helps pinpoint where BLE beacons or sensors are broadcasting from, enabling better device placement and coverage optimization. During security audits, it offers a quick way to detect and identify all BLE devices within range, helping spot unauthorized transmitters. In educational settings, instructors can use it to demonstrate how RSSI reflects signal strength and how Bluetooth devices advertise themselves. Additionally, developers working on new BLE-enabled hardware can use this tool for field testing, validating how their products behave under various proximity and interference conditions.

How It Works

1. BLEUIO Setup

The script utilizes BleuIO AT commands. Once connected, the script sends the following:

  • AT+CENTRAL to switch to scanning mode.
  • AT+SHOWRSSI=1 to prepare BLEUIO to show RSSI in output.
  • AT+GAPSCAN=5 to scan for 5 seconds and return a list of advertising devices.

2. GAP Scan Output Parsing

The GAP scan output is parsed using a regex pattern that extracts:

  • RSSI value
  • MAC address
  • Optional device name (e.g., “(HibouAIR)”)

If the same MAC appears multiple times (with and without name), the version with the name is prioritized and stored.

3. Visualization with D3.js

Using D3.js, the central node (BleuIO) is placed in the center. Each nearby device:

  • Appears as a circle node around it.
  • Is connected with a line whose length is proportional to the RSSI (inverted and scaled).
  • Shows color-coded signal strength:
    • Green: Strong RSSI ≥ -50
    • Yellow: Medium RSSI > -70
    • Red: Weak RSSI ≤ -70

A tooltip displays full device info (MAC, RSSI, and name) when hovered.

How to Try

  1. Plug in your BleuIO dongle.
  2. visit this site to access the live script https://smart-sensor-devices-ab.github.io/ble-rssi-map/
  3. Click Connect and allow access to the BleuIO serial port.
  4. Click Scan to begin GAP scan.
  5. Watch as nearby BLE devices are discovered and plotted dynamically.

Output

Code Access

The full script is available at Github.

The BLE Star Topology Visualizer is a powerful yet simple tool that turns your BLE scan into an interactive experience. Whether you’re debugging, teaching, or optimizing device placement, this script offers a real-time glimpse into the invisible world of Bluetooth communication.

Share this post on :

Understanding BLE Advertising and How BleuIO Makes It Easy

Bluetooth Low Energy (BLE) has become the backbone of modern wireless communication for low-power IoT devices. One of its core features — advertising — allows BLE devices to broadcast information without the need for pairing or a connection. From contact tracing to proximity marketing and sensor broadcasting, BLE advertising powers many real-world applications.

What Is BLE Advertising?

BLE advertising is a mechanism where a device sends out small packets of data at regular intervals to announce its presence. These packets are picked up by nearby BLE-capable central devices (e.g., smartphones, gateways, computers).

A typical BLE advertisement packet contains:

  • Flags: Indicating capabilities like discoverability
  • Local Name: Device name (optional)
  • Service UUIDs: Describing the services the device supports
  • Manufacturer Specific Data: Custom payload defined by the manufacturer
  • Other fields: e.g., TX Power, service data, etc.

The total payload size is limited to 31 bytes, which includes all AD (advertising data) fields. Crafting this data properly is crucial to avoid errors and ensure compatibility with BLE scanners.

BLE Advertising with BleuIO and AT Commands

Traditionally, crafting BLE advertising packets required working with complex SDKs or embedded C libraries. But with BleuIO, things are much simpler — thanks to its powerful AT command set.

Here are two useful AT commands for advertising:

  • AT+ADVDATA= sets the advertising payload using a colon-separated hex format
  • AT+ADVSTART starts broadcasting the advertising packet

Example:

AT+ADVDATA=07:FF:5B:07:01:02:03:04
AT+ADVSTART

This advertises a Manufacturer Specific Data block:

  • 07: Total length of this AD field
  • FF: Type = Manufacturer Specific
  • 5B07: Manufacturer ID (Smart Sensor Devices)
  • 01020304: Custom payload

Using this simple format, you can test different advertising payloads, simulate sensor broadcasts, or even debug BLE scanning applications.

A Web Tool for BLE Advertising

To make things even easier, we’ve created a web-based BLE advertising builder that works right inside your browser.

Try it here:
https://smart-sensor-devices-ab.github.io/ble_advertising_payload/

What It Can Do:

  • Lets you connect to your BleuIO dongle directly from the browser
  • Offers two modes:
    • Builder Mode: Enter data by field — length, type, manufacturer ID, and custom payload
    • Raw Mode: Paste a full, colon-separated advertising packet directly
  • Automatically sends AT+ADVDATA and AT+ADVSTART commands
  • Displays real-time feedback from BleuIO (e.g., OK, INVALID PARAMETER)
  • Includes built-in validation so you don’t exceed the 31-byte BLE limit

Use Cases

Whether you’re a developer, educator, or BLE hobbyist, this tool is perfect for:

  • ✅ Rapid testing of advertising formats
  • ✅ Simulating BLE sensor outputs (like HibouAir)
  • ✅ Learning how BLE advertising packets are structured
  • ✅ Teaching BLE fundamentals without needing mobile apps or complex tools

BLE advertising is a critical piece of the Bluetooth ecosystem, and mastering it opens up a world of possibilities. With BleuIO’s simple AT interface and our new browser-based payload builder, creating, testing, and learning BLE advertising has never been easier.

So plug in your BleuIO dongle, open the tool in your browser, and start crafting BLE packets — one byte at a time.

Share this post on :

Understanding BLE Extended Advertising: Why We Need It and How BleuIO Pro Supports It

Bluetooth Low Energy (BLE) has become the backbone of modern wireless devices, powering everything from fitness trackers and smart home devices to environmental sensors and industrial monitors. One of the most important enhancements to BLE came with the introduction of Bluetooth 5.0: extended advertising. While legacy BLE advertising served many applications well, it had limitations that became apparent as developers tried to broadcast richer and larger amounts of data. With extended advertising, BLE has unlocked a new level of flexibility and power.

In this blog, we will explore what BLE extended advertising is, why it is important, how it differs from legacy advertising, and what types of use cases it enables. We will then show how the BleuIO Pro USB dongle supports extended advertising, and we will walk through two real-world experiments: first, using a Google Pixel 7 to advertise extended packets and scanning them with BleuIO Pro, and second, using BleuIO Pro itself to advertise extended packets. This hands-on approach will help illustrate how extended advertising works in practice.

What Is BLE Extended Advertising?

BLE devices advertise their presence and capabilities through short packets called advertising packets. Prior to Bluetooth 5.0, these packets were limited to a maximum of 31 bytes and were transmitted over three primary advertising channels (37, 38, and 39). While this was adequate for broadcasting a device name, some flags, and perhaps a small amount of service or manufacturer data, it quickly became insufficient for more advanced use cases.

Bluetooth 5.0 introduced extended advertising, it increases the maximum data payload from 31 bytes to up to 255 bytes in a single extended packet, and with chained packets, it can go up to approximately 1650 bytes. This innovation allows devices to broadcast richer datasets without needing to establish a BLE connection, saving power and improving efficiency.

Why Do We Need Extended Advertising?

As BLE has matured, the demand for more capable broadcasting has increased. Environmental sensors often need to transmit multiple data points, such as temperature, humidity, CO2 levels, and battery status. Asset trackers may need to include an identifier, timestamp, status code, and other metadata. Legacy BLE advertising simply cannot fit this level of information into its small packet size.

Extended advertising solves this problem by allowing significantly larger payloads, making BLE suitable for use cases where connectionless communication is preferred. It also helps reduce interference on the crowded 2.4 GHz band by moving much of the advertising traffic to secondary channels. Overall, extended advertising expands the potential of BLE in both consumer and industrial applications.

What Is the Difference Between Legacy and Extended Advertising?

Legacy BLE advertising uses 31-byte packets on the three primary advertising channels. It is supported on almost all BLE devices, making it extremely compatible but also quite limited. Extended advertising, on the other hand, allows devices to broadcast on secondary channels and increases the maximum payload size to 255 bytes per packet, or even over 1600 bytes when chaining is used. Extended advertising is only available on devices with Bluetooth 5.0 or later.

Where legacy advertising only offers basic modes like connectable, scannable, and non-connectable, extended advertising introduces advanced modes, including periodic advertising. This flexibility allows developers to optimize their broadcasts for speed, range, or robustness.

Real-World Use Cases

Extended advertising opens the door to many exciting applications. Smart environmental sensors can broadcast detailed data snapshots without requiring a connection, reducing power consumption and simplifying deployments. Asset tracking devices can send rich identifiers and telemetry data. Smart lighting systems can broadcast control profiles or diagnostics. Even firmware updates or broadcast-based messaging become more practical with extended advertising. These capabilities make extended advertising a game changer for IoT, industrial monitoring, logistics, and smart city deployments.

How We Used the Pixel 7 to Advertise Extended Packets

To explore extended advertising in practice, we started with a Google Pixel 7 smartphone running Android 13, using the nRF Connect app to configure and broadcast extended advertising packets. Inside the app, we created a new advertiser and carefully adjusted the settings. We enabled Extended Advertising and disabled Legacy Advertising to ensure we stayed in BLE 5.0 mode. We set the advertising properties to connectable and scannable and prepared a payload that combined a Complete Local Name along with several Manufacturer Specific Data blocks.

Our goal was to simulate realistic sensor readings, so we included data blocks such as Temp:24.5, Hum:55.6, PM2.5:15.2, and CO2:440, along with several test tags for demonstration purposes.

When we scanned this advertising payload using BleuIO Pro, we observed a total payload length of approximately 141 bytes, which is well above the 31-byte limit of legacy BLE advertising and only possible thanks to Bluetooth 5.0 extended advertising.

Before scanning with the BleuIO Pro dongle, we had to enable extended scan results. This was done using the ATES command:

ATES=1

This toggle turns on extended scanning, which is off by default. Once enabled, we scanned for the Pixel 7’s MAC address using:

AT+SCANTARGET=[1]MAC_ADDRESS=4

We were then able to see the full advertised data on the BleuIO Pro side, confirming that the Pixel 7 was successfully broadcasting extended advertising packets.

How We Used BleuIO Pro to Advertise Extended Packets

Next, we set out to test BLE extended advertising in the other direction: advertising from the BleuIO Pro dongle itself.

We began by configuring the advertising parameters with the following command:

AT+ADVEXTPARAM=0=1=0=160=320=7=0=0=0=1=0=1=0=0

Here’s what these parameters mean:

  • HANDLE: 0 — the advertising handle we are configuring.
  • mode: 1 — general discovery mode.
  • properties: 0 — non-connectable and non-scannable, which allows maximum payload.
  • primary_intv_min / max: 160 / 320 — the minimum and maximum advertising interval.
  • primary_channel_map: 7 — enabling all three primary advertising channels.
  • local_addr_type: 0 — using a public address.
  • filt_policy: 0 — no filtering policy.
  • tx_power: 0 — default transmit power.
  • primary_phy / secondary_phy: 1 — using the 1M PHY on both primary and secondary channels.
  • secondary_max_event_skip: 0 — no event skipping.
  • sid: 0 — advertising set identifier.
  • scan_req_notif_enable: 0 — scan request notifications disabled.
  • peer_address: public, 00:00:00:00:00:00 — no directed address.

Once configured, we set the advertising payload and started advertising using this command:

AT+ADVEXTSTART=0=16094469616c6f672041445620657874656e73696f6e7316ff4469616c6f672041445620657874656e73696f6e73=-

This payload contained a Complete Local Name block and repeated Manufacturer Specific Data blocks, again simulating sensor readings and test data. When we scanned this advertising from the Pixel 7 using nRF Connect, we were able to see the full payload, confirming that BleuIO Pro was successfully broadcasting extended packets.

Final Thoughts

BLE extended advertising represents a major advancement for Bluetooth Low Energy technology. By lifting the 31-byte payload limit and moving traffic onto secondary channels, it enables a wide range of applications that were previously impractical or impossible.

Through our experiments using the Pixel 7 and BleuIO Pro, we were able to demonstrate both advertising and scanning of extended packets, providing a solid foundation for developers and enthusiasts interested in exploring this powerful feature. Whether you are working on smart sensors, asset trackers, or industrial devices, understanding extended advertising will allow you to push the boundaries of what BLE can achieve.

We look forward to seeing how you apply this technology in your own projects. If you have screenshots, data examples, or need help integrating extended advertising into your applications, feel free to reach out — we’d be happy to collaborate or offer advice.

Share this post on :