Campus-level BLE Beacon Positioning System

People and assets on one map, indoors and out.

Track assets and people indoors and outdoors on one map — BLE beacons inside, GNSS outside, with floor-plan georeferencing, geofence alarms and an offline basemap option.

SenseCraftIntermediate60minIndoor Positioning & TrackingAI Agent ReadySource Code

Map view with tracker positions; indoor and outdoor are separate layers on the same page

Outdoor view on an OpenStreetMap basemap, with the offline PMTiles source selectable

Reusable Site Templates

Sites where people and assets move between buildings and yards, and you need to know where each one is at any moment.

Warehouses and logistics parks

Warehouses and logistics parks

Racking aisles, yards and loading bays. Tags on forklifts and pallets read off one map.

Factory patrol and lone work

Factory patrol and lone work

Chemical-plant patrol routes, night shifts in switchrooms. A badge with an SOS button logs route and time.

Care facilities and site perimeters

Care facilities and site perimeters

Activity areas in care homes, the fence line of a plant. Draw a fence, and entry or exit raises an alarm.

Not a fit: anywhere a late or missing position hurts someone, because this design carries no safety certification. Positions refresh on the tag reporting cycle, indoor accuracy depends on beacon layout, and tracker and gateway must share one regional band.

How it works

BC03 BLE beacons on the wall and a SenseCAP T1000 tracker on the person supply the position data, relayed by a SenseCAP M2 LoRaWAN gateway to a positioning service you host.

Three kinds of device on site: beacons that mark indoor positions, a tracker carried by the person or attached to the asset, and a LoRaWAN gateway that collects the uplinks. Everything after the gateway is software you host: the positioning application is a Docker image, and the dashboard is a page it serves.

Tracking Tag

The two devices whose quantity grows with the site. BLE beacons (BC03) are battery-powered indoor position references that stick to a wall; the T1000 tracker scans beacons indoors and uses its own GNSS outdoors. Areas covered by GNSS only need no beacons.

ItemNominal valueWhere it comes from
Indoor accuracy, 3+ beacons per zone2–3 mBC03 wiki
Indoor accuracy, 1 beacon per zoneRoom levelSame
Mounting height / spacing2.5–3 m / 5–10 mBC03 wiki recommended spacing; add beacons around metal shelving
Beacon battery life5+ yearsBC03 wiki

Beacon layout decides indoor accuracy more than anything else does. All four rows are nominal values from the layout practice and the datasheet, not measurements from this package.

How well it works

What the person on duty sees and operates in the browser once it is running.

One map for indoors and out

  • Indoor/outdoor layer toggle, shows tracker trails
  • Device list shows live position and online state
  • Auto offline after 15 min without a report

Draw a rule, get the alarm

  • Rule: beacon, radius, enter/exit direction
  • Entering range logs an alarm automatically
  • SOS and offline alarms in the same table

Register the floor plan

  • Upload plan, drag/rotate/scale to align
  • Aspect ratio locked, no distortion
  • Admin session to save, persists after refresh

A ledger of beacons and maps

  • Beacon ledger: add, edit, delete
  • Switch floors, see beacon count and size
Measured results

Server-side capacity and latency baselines measured on a positioning host (reComputer J30 Series, arm64) using synthetic uplinks.

MetricTypicalDeviceDeployment Note
200 concurrent tags capacityP95 828 ms (0% packet loss)reComputer J30 Series30s reporting cycle, 800 uplinks continuous run in stable tier
50 tags high-frequency trackingP95 220 ms (0% packet loss)reComputer J30 Series2s rapid update interval, ideal for critical workflow tracing
SOS emergency alert latencyP50 24 ms (P95 29 ms)reComputer J30 SeriesUplink timestamp to frontend WebSocket broadcast latency

A tag that stops reporting shows as offline after a fixed 15-minute threshold. For detailed benchmark records and fence tuning, see Engineering Wiki · BLE & LoRaWAN Positioning Solution.

What you get out of it

Once deployed, these are the interfaces. Everything is served by the positioning host on port 5173.

InterfaceEndpointPayload
WebSocketws://<host>:5173/wstracker_update with a position that is either {x, y, coordSystem: "metric"} or {lat, lon, accuracy, coordSystem: "wgs84"}; tracker_checkin / tracker_position_detection add a geofence block on enter / exit; also tracker_sos and tracker_offline
RESTGET/PUT /api/configuration/dashboard/maps/{mapName}/registrationOrigin, rotation and scale. Admin session required; a guest session gets 403
RESTPOST /api/geofences, POST /api/eventsFence geometry (GeoJSON polygon, or a point plus radius) and the alarm rule that references it
LoRaWAN uplinkSenseCAP OpenStream, or a ChirpStack MQTT topicField mapping is in the deployment guide

Branch on the coordinate-system field to tell indoor from outdoor, not on whether a latitude is present. The accuracy field is always empty on this hardware, so treat it as unknown rather than good. In geo mode the fence's own 3-points-in-10-s confirmation replaces the alarm rule's time range.

Porting It to Your Own System

The reusable unit is not "indoor positioning" — it is the chain position reference → LoRaWAN uplink → coordinate resolution → geofence rule → event out. Only one link is bound to BLE: how a set of observed beacons becomes a position. Everything after it works on a latitude and longitude regardless of their source.

LayerWhat porting costs you
LoRaWAN join, uplink ingestion, ChirpStack / OpenStream adaptersreuse as-is
Floor-plan georeferencing (origin, rotation, scale)reuse as-is
Geofence engine: WGS84 polygon and circle, enter / exit, 3-point confirmationreuse as-is
WebSocket broadcast, dashboard, offline detectionreuse as-is
Beacon-set → position resolutionrewrite for the new reference type
Indoor/outdoor hysteresis thresholdsretune against the new evidence source

Same-shape designs fit: attendance from zone entry, patrol-route recording, cold-chain or yard dwell-time rules, and any "did this thing leave where it belongs" alarm.

Where this shape does not fit

  • Sub-metre or per-shelf accuracy. BLE RSSI trilateration does not resolve that; UWB is a different radio, not a different threshold.
  • Second-by-second tracking. The uplink interval bounds freshness, and LoRaWAN duty cycles bound the interval.
  • Anything where a missed position has to mean "nothing moved". Uplinks are lossy and the design carries no safety certification.

How to deploy

Tell us about your site — we work out the hardware, then you connect the data and follow the steps.

Configure yours

Tell us about the site — we work out the hardware.

Self-service Consult & Deploy

Indoor Area

How much indoor floor area needs metre-level positioning? Beacon count follows floor area, not the number of things you track. Yards, roads and parking are covered by GNSS and need no beacons.

Configure yours

Tell us about the site — we work out the hardware.

  • Starter Kit

    Metre-level indoor coverage up to 500 m², plus outdoor tracking, georeferencing and geofences at no extra hardware cost — the T1000's own GNSS covers those.

    硬件/物料名称数量型号/SKU说明
    SenseCAP BC03 Indoor Bluetooth Beacon9100085893-
    SenseCAP LoRaWAN Card Tracker T1000-Atrackers114993073-
    SenseCAP M2 LoRaWAN Indoor Gateway1114992981-
  • Standard Setup

    23 beacons sized for 1250 m² at metre level, on a 7.5 m grid within BC03's recommended 5–10 m spacing. Same image, same features as the other two — only the beacon and tracker counts differ.

    硬件/物料名称数量型号/SKU说明
    SenseCAP BC03 Indoor Bluetooth Beacon23100085893-
    SenseCAP LoRaWAN Card Tracker T1000-Atrackers114993073-
    SenseCAP M2 LoRaWAN Indoor Gateway1114992981-
  • Enterprise

    36 beacons, sized for 2000 m², for a large campus or a multi-floor facility; add one per extra 56 m². Add beacons around metal shelving; one gateway still covers a nominal 2 km line of sight, so a second gateway is a coverage question, not a capacity one.

    硬件/物料名称数量型号/SKU说明
    SenseCAP BC03 Indoor Bluetooth Beacon36100085893-
    SenseCAP LoRaWAN Card Tracker T1000-Atrackers114993073-
    SenseCAP M2 LoRaWAN Indoor Gateway1114992981-
Or compare them yourself: preset specificationsDeployment Guide · 60min →

Technical Specifications & Implementation Comparison

PresetIndoor areaBeaconsTrackersBest for
Starter Kit ⭐Up to 500 m²91A small office, or a first working setup
Standard Setup500–2000 m²23 (sized for 1250 m²)3A medium warehouse or a factory floor
Enterprise2000 m² and up36 (sized for 2000 m²)10A large campus, multi-floor facilities

All three run the same application image and the same feature set. Outdoor tracking, georeferencing and geofences need no extra hardware beyond the T1000's own GNSS — the presets differ only in beacon and tracker counts, that is, in how much indoor floor area gets metre-level coverage. Beacon counts assume a 7.5 m grid, the middle of BC03's recommended 5–10 m spacing: about 56 m² per beacon, floor area ÷ 56 rounded up, and never fewer than 3 per zone. For a larger site, add one beacon per 56 m².

Every preset also needs one LoRaWAN gateway; pick the frequency variant for the region the site is in. Difficulty is rated intermediate and the deployment is 7 steps; upstream estimates about 60 minutes.

FAQ

Nominally 2–3 m with three or more beacons per zone, and room level with a single beacon. Those are BC03 wiki values for this beacon layout, not measurements from this package.

Didn't find your answer?
Contact Us
We Are Glad to Be Your Hardware Partner !
Next