Skip to content
Menu
GeoSaffer.com
  • Shop
  • Support
GeoSaffer.com

Bluetooth Low Energy Thermometer App

Posted on December 18, 2019April 20, 2026
BLE Thermometer app on iOS and Android showing live temperature readings
iOS · ANDROID · BLUETOOTH LE · MAKER APP

Bluetooth LE Thermometer AppiOS & Android Display for BLE Sensors

18 December 2019 · GeoSaffer.com

A free companion app for BLE thermometer projects — connects directly to AT-09 and HM-10 modules, works on both iOS and Android, and requires no manual pairing.


1 What the App Does
Thermometer

Live temperature reading with a large graphical thermometer gauge showing the current value in Celsius — updates in real time as BLE data arrives from the sensor.

Graph

Rolling line graph of the last 30 temperature readings, useful for tracking environmental changes over time or verifying sensor accuracy across a test period.

Cross-Platform

Available on both iOS (App Store) and Android (Google Play) — BLE is natively supported on both platforms, unlike Classic Bluetooth which remains iOS-restricted for third-party apps.

Protocol

Connects to the BLE UART service on AT-09 or HM-10 modules and reads the decimal temperature string the companion Arduino sketch transmits each second over serial.

Under the hood, the app uses the Nordic UART Service (NUS) — a simple, widely adopted GATT profile that emulates a serial link over BLE. It exposes two characteristics: a TX characteristic (UUID 6E400003) that the peripheral uses to send data to the phone, and an RX characteristic (UUID 6E400002) that the phone uses to write back to the device. The app subscribes to notifications on the TX characteristic; every time the Arduino sketch sends a temperature string, the module transmits it as a BLE notification and the app receives it immediately.

This approach is far simpler to implement than a custom GATT profile. With NUS, the firmware side is just a serial print() call — the same code you would use to debug over USB. There is no need to define custom service UUIDs, manage attribute permissions, or handle GATT read/write procedures. For sensor projects where data is small and latency of a second or two is acceptable, Nordic UART is the right choice.


2 BLE vs Classic Bluetooth — Why It Matters

Classic Bluetooth

  • Higher power consumption — designed for headphones and speakers
  • Android only from third-party apps; iOS restricts SPP access entirely
  • SPP profile: familiar UART bridge, works like a serial cable
  • Faster throughput for streaming audio or bulk data transfer
  • Module examples: HC-05, HC-06

Bluetooth Low Energy (BLE)

  • Dramatically lower power draw — a CR2032 coin cell can last months
  • Supported natively on iOS, Android, and all modern browsers (Web Bluetooth)
  • Uses GATT profiles and services for structured, discoverable data exchange
  • Ideal for sensors, wearables, and battery-powered IoT nodes
  • Module examples: HM-10, AT-09, nRF52 series

For a temperature sensor transmitting one reading per second, BLE is almost always the better choice. The AT-09 draws roughly 8–15 mA during an active BLE connection — compared with 30–40 mA for an HC-05 in Classic Bluetooth mode. That difference is significant when running from a small LiPo or AA pack, and it becomes critical if you are harvesting energy or targeting months of unattended operation. More importantly, the iOS restriction on Classic Bluetooth SPP is a hard wall — there is simply no supported path for a third-party iOS app to connect to an HC-05. BLE removes that constraint entirely.


3 Supported Hardware
AT-09 BLE 4.0 module in a DIP-friendly breakout; default UART baud rate of 9,600; wiring is pin-compatible with the HC-05, so existing breadboard layouts require no changes.
HM-10 Similar form factor to the AT-09, CC2541 chipset from Texas Instruments; configurable via AT commands; widely available and extensively documented in Arduino BLE maker projects.
Other BLE UART Modules Any module exposing the Nordic UART Service (NUS) over BLE will work — including custom nRF52840 or ESP32 BLE builds — provided the firmware transmits temperature as a plain decimal string.

One important constraint: the app does not support BLE modules that use a non-UART GATT profile. The standard Bluetooth Health Thermometer Profile (UUID 0x1809), for example, uses a structured binary characteristic with IEEE-11073 float encoding — that is a different protocol entirely. If your module uses a custom GATT service with non-NUS UUIDs, or if it transmits data as binary rather than a decimal ASCII string, you will need a different app or a custom build.


4 Getting Started
  • 1
    Build the hardware — follow the BLE Thermometer guide linked below to assemble your Arduino Uno + AT-09 circuit, connect the DS18B20 sensor, and upload the companion sketch. The sketch sends a decimal temperature string over serial every second.
  • 2
    Download the app — free, no ads, available on both platforms:
    Download on the App Store Get it on Google Play
  • 3
    Enable Bluetooth on your phone — no manual pairing required for BLE. Unlike Classic Bluetooth, BLE connections are managed entirely inside the app; nothing appears in your phone’s Bluetooth settings.
  • 4
    Open the app — tap the scan button. Your AT-09 or HM-10 will appear in the nearby device list within a few seconds. The module must be powered and the Arduino sketch must be running.
  • 5
    Select your device — tap it to connect. The app establishes the BLE UART service connection and immediately begins receiving temperature readings. The graphical thermometer gauge will start updating within one to two seconds.
  • 6
    Switch views — toggle between the Thermometer view and the Graph view using the tab bar at the bottom of the screen. The Graph view shows the last 30 readings as a line chart, useful for spotting trends or confirming sensor stability.

Need the hardware to go with it? The BLE Thermometer project uses an Arduino Uno, an AT-09 or HM-10 module, and a DS18B20 sensor — everything you need to get this app displaying real data.

Build the BLE Thermometer →

Categories

  • 3D Printing
  • Apps
  • CNC Routing
  • DevOps
  • Electronics
  • Infrastructure
  • Laser Cutting
  • Manufacturing
  • Networking
  • Software
©2026 GeoSaffer.com | WordPress Theme by Superbthemes.com