R&D COPILOT
ROLet’s talk

Mobile appsHow-to guide

Reading Bluetooth sensors from a field app: pairing, permissions and readings you can trust

When a technician types a meter value by hand, the number is only as good as their eyesight and patience. Reading the sensor over Bluetooth Low Energy removes the typing, but it adds new questions: which device did the phone actually talk to, what happens when the connection drops, and how does the office know the value came from the sensor and not from a guess? We build field apps that answer those questions in the design, so readings arrive in the business system with their evidence attached.

By R&D COPILOT5 min read

Start from the reading, not the radio

Write down the values the person on site needs, the unit, the acceptable age of a reading and what decision it supports. A temperature checked once per visit has different needs from a vibration trend sampled every second. This list decides whether the app reads a value on demand, subscribes to updates or simply listens to broadcast packets.

Bluetooth Low Energy devices expose data through GATT services and characteristics. Some sensors use standard profiles registered with the Bluetooth SIG; many industrial devices use vendor-specific ones. Ask the hardware supplier for the profile document early: characteristic identifiers, byte layout, scaling, units and firmware differences. Without it, the app team ends up reverse-engineering packets, which is slow and fragile when firmware changes.

Start from the reading, not the radio
PatternGood forWatch out for
Read on demandSpot checks during a visitConnection setup time on each read
Subscribe to notificationsLive values while the screen is openBattery use and background limits
Listen to advertising packetsMany nearby sensors, no connectionSmall payload and no delivery confirmation

Make sure the phone talks to the right device

On a site with ten identical sensors, “connect to the strongest signal” is a recipe for readings attached to the wrong asset. Signal strength changes with walls, bodies and phone orientation, so it is a hint, not an identity. Filter scans by service identifier to ignore unrelated devices, then confirm the device with something the technician can see: a serial number printed on the label, a QR code or a short code shown on the device.

Once confirmed, bind the device identifier to the asset record. The next visit can then show “Pump 3, sensor ending 4F2A” instead of a list of anonymous addresses. When the same asset lives in ERP, the binding belongs there too, so maintenance history, readings and spare parts point to one record.

Ask for permissions that match the task

Android 12 and later split Bluetooth access into scan and connect permissions, and an app that never derives location from scans can declare that explicitly. Older Android versions tie scanning to location permission, which users understandably question. On iOS, the app must explain its Bluetooth use in a purpose string that appears in the system prompt.

Show a short screen before the system prompt that explains why the app needs Bluetooth on this job. Then design the refused state: the technician can still enter the value manually, the record is marked as manual entry, and the app offers a path to settings. A field app that stops working because one permission was denied creates a support call instead of a reading.

Keep the evidence with every reading

Store the raw value alongside the converted one, plus unit, device identifier, firmware version, the device timestamp if it has one, the phone timestamp, the user and the asset. Mark the source clearly as sensor or manual entry. Apply simple range checks on the phone and keep the flag with the record rather than silently discarding suspicious values.

Readings collected without coverage go into the same durable offline queue as forms and photos, each with a stable identity, so a resend after reconnection does not create duplicates. When the office sees an unusual number, it can trace it to the exact device, time and person instead of starting a phone call.

Design for connections that drop

BLE connections fail more often than teams expect: the sensor sleeps to save battery, another phone holds the connection, or the technician walks away mid-read. Set clear timeouts, retry a limited number of times and show the state in plain words: searching, connected, reading, saved. Disconnect after a spot reading so the sensor is free for the next person and its battery lasts.

Background behaviour differs between platforms. iOS restricts scanning and connections when the app is not in the foreground, and Android adds its own power limits. If the workflow needs continuous collection without the screen open, that is a design decision to make early, and sometimes a sign that a fixed gateway is the better tool.

Test with the real hardware on the real site

Simulators do not reproduce metal cabinets, crowded radio space or a sensor on low battery. Test on the oldest supported phones, with gloves if the team wears them, and with the firmware versions actually installed.

  • Confirm the device by label or code before the first reading is saved against an asset.
  • Read with two phones near the same sensor and check that each reading lands on the correct record.
  • Deny the Bluetooth permission and check that manual entry still works and is flagged as manual.
  • Interrupt a read halfway, restart the app with queued readings and check for loss or duplicates.
  • Update the sensor firmware on a test unit and confirm the app still decodes values correctly.

How we scope a sensor-connected field app

Bring the list of readings, the sensor models and their profile documents, the phones your team uses and where the data must end up. We usually start with one asset type and one visit workflow, then add devices once the evidence trail works end to end. The same app can show threshold alerts and trends from our IoT monitoring platform and write readings into ERP asset records, inventory or reports.

The work is priced as a one-off setup and implementation fee, then a monthly subscription that covers EU hosting, updates and support. Additional sensor models or screens are estimated at a fixed hourly rate, so the scope stays clear as the fleet grows.

Follow the references

Sources & inspiration

Bluetooth Low Energy Asset Tracking

Devpost project by Yi Han, skydiving94, Tingting Gao

An Android app reads temperature and humidity from a SensorTag over Bluetooth Low Energy.

This independently created project is credited as inspiration. The workflow and implementation guidance in this article are RDC’s analysis.

Put the guide to work

Start with your workflow.

Tell us what your team needs to do, which systems are involved and where the current process slows down.