<-- Home

BLE Serial Pro – Manual

Version 3.9.0 · iPhone, iPad and Mac

About the free versions. Everything marked * is only in BLE Serial Pro. The two free apps — BLESerial for CC2541/HM-10 boards and BLE Serial nRF52 — share this app's console, alerts, Bluetooth explorer and Mac support, but have no Functions tab and each is locked to one chip family. Section 9 sets out the differences side by side.


1. Finding and connecting to a device

BLE Serial Pro is a serial (UART) terminal for Bluetooth Low Energy modules — CC2541 boards such as the HM-10, AT-09, MLT-BT05 and JDY-08, and anything using the Nordic UART Service, including nRF52 modules and Arduino, Raspberry Pi Pico and ESP32 projects that implement it.

The app starts scanning the moment it opens. Each row gives the device name, the services it advertises, its manufacturer data, and a signal bar coloured from red (weak) through to green (strong).

The scan list showing five devices, each with a coloured signal bar and its advertised service UUID
The scan list, here running on the Mac.

Tap a row to connect. A padlock marks any device that is advertising but will not accept a connection.

The list is sorted by name, so a device keeps its place. One that stops advertising fades rather than vanishing, and brightens again when it returns — so a brief dropout no longer makes the list jump around. Anything unheard from for 30 seconds is removed.

Tap the ⓘ on a row instead of the row itself to open the Bluetooth explorer, which lists every service, characteristic and descriptor the device offers along with its properties. That is the place to look when a module will not work and you need to find out which UUIDs it actually uses.


2. The console

Everything received appears here. Type in the field at the bottom and press return to send.

The console showing received sensor readings in a monospaced font   The console in dark mode on an iPhone, showing live readings from a light sensor
The console in light and dark. The right-hand shot is a real device reporting light-sensor readings.

ControlWhat it does
×Disconnect and return to the scan list
Console / FunctionsSwitch between the console and the buttons grid *
SlidersDisplay options
BinClear the screen
•••Share the console contents; on iPhone this is also where Alerts live

Sharing what you captured. The ••• button offers Export Plain Text for the console as plain text, and Export Attributed Text which keeps the font and the tint on sent lines. Both open the standard share sheet, so you can mail the log, drop it into Files or hand it to another app. On the Mac you get a normal Save panel.


3. Display options

Display options: format, sent messages, auto scroll, font size, line separation and row extras

SettingNotes
FormatShow incoming bytes as UTF8, Hex, Dec, Oct or Bin
Display Sent MessagesEcho what you send into the console
Auto ScrollFollow the newest line
Clear on new messageShow only the latest message — useful for a device that reports one reading at a time
Font Size2 to 85 point
SeparationWhen to start a new line: after each message, after a newline character, after a fixed number of bytes, or after a specific byte value
Timestamp, Microseconds, Row NumberExtra columns down the left of each line
Play SoundeffectsA sound on send and receive

Line separation is the setting worth understanding. BLE delivers data in packets that need not line up with the lines your device is sending. If the output looks broken up, set separation to after newline character and it will be reassembled properly.


4. Input options

Input options: format, append to end, and maximum chunk size

SettingNotes
FormatHow to read what you type: UTF8, Hex, Dec, Oct or Bin
Append to endAdd \n, \r or \r\n to everything you send
Max. Chunk SizeLong messages are split into pieces of this size with a short pause between them, so a slow module can keep up. 80 bytes by default; enter 0 to disable

If your device expects every command to end in a newline, set Append to end once and you need never think about it again.


5. Functions *

The Functions tab is a grid of buttons that send messages you have set up in advance, so you never type the same command twice.

The Functions grid with three coloured buttons, a toggle switch turned on, and a live console strip along the bottom   A full grid of buttons in dark mode with a Display toggle switch and live readings in the strip below
Buttons, a toggle switch, and the live console strip along the bottom — a small set, and a full one in use.

Along the bottom is a live console strip showing the most recent traffic — three lines on iPhone and iPad, seven on the Mac — so you can watch a device respond without leaving the grid.

A button sends when you lift your finger inside it, so if you land on the wrong one you can slide your finger off and nothing is sent.

Long-press a button and drag to move it in the grid. Dragging never sends the message. A button with Repeat set is the exception: it starts firing on the press itself, so it cannot be dragged here — reorder those from the Edit Functions list.

Editing functions. Tap the sliders button while the Functions tab is showing. Use + to add, Edit to reorder or delete, and tap a row to change it.

The functions list showing two buttons, a toggle switch, another button and a clear element   The button editor with fields for name, colour, message and repeat
The function list, and the editor for a button.

Adding a function: a menu offering Button Function, Toggle Switch Function and Clear Element   The list in edit mode, with delete buttons on the left and drag handles on the right
Adding a function, and the list in edit mode for reordering and deleting.

There are three kinds of function.

Button — sends one message when pressed. Give it a name, a colour (the label switches between black and white for contrast), the message itself in whichever format you choose, and optionally a Repeat rate of 1, 2, 5 or 10 times a second for as long as the button is held down.

Toggle Switch — sends one message when switched on and a different one when switched off. Good for anything with two states, such as a light or a relay. Initial State is the position the switch shows when the Functions tab is opened.

The toggle switch editor with name, on message, off message and initial state

Clear Element — not a button at all, but a gap you can place in the grid to group related buttons together.

Sharing your buttons *. Export Functions in App Settings writes all of your buttons to a JSON file you can send to another device; Import Functions reads one back, either adding to what you have or replacing it. On the Mac you get a Save panel, so the file can go anywhere, including iCloud Drive.


6. Alerts

An alert watches the incoming data for a pattern you choose and reacts when it appears — useful for a device that only occasionally reports something you care about.

Each alert has a trigger in any of the supported formats, an optional sound from eleven built in, and a switch for whether to show a popup. Alerts can be turned off individually without deleting them.

Reach them with the ••• button on iPhone, or the bell in the toolbar on iPad and Mac.


7. App settings

The gear on the scan screen.

App Settings showing the scan switches, the connect UUIDs, send on connect, and the function import and export buttons

Scan

SwitchEffect
Show AllEvery BLE device in range, whatever it advertises
Show only CC2541HM-10 and compatibles; fills in FFE0 / FFE1 / FFE1 below
Show only nRF52 *Nordic UART Service; fills in the 6e400001 / 6e400003 / 6e400002 UUIDs
Reconnect AutomaticallyReconnect to the last device as soon as it is seen again

The two chip switches are shortcuts: they fill in the three UUIDs underneath for you. You can always type your own instead, which is what to do for a module using something non-standard.

App. Appearance — choose Automatic, Light or Dark. Automatic follows the system setting, so the app turns dark when your phone or Mac does. The choice is remembered, applies immediately, and belongs to the app rather than to the device.

Connect. The service, read and write UUIDs. A 4- or 8-digit short form or a full 128-bit UUID is accepted; anything else is refused rather than saved.

Send on connect. A message sent automatically as soon as a connection is established. Leave it empty for none.

Functions *. Export and Import, described in section 5.

The copyright notice sits at the very bottom of this screen.


8. On the Mac

The same app runs on macOS. Scanning, connecting, the console, alerts and functions all work as they do on iPhone and iPad. Two differences are worth knowing:

The app follows the system appearance, so it is dark when macOS is dark.


9. What the free versions leave out

There are two free apps. Both share this app's console, display and input options, alerts, Bluetooth explorer, editable UUIDs and Mac support.

BLESerialBLE Serial nRF52BLE Serial Pro
CC2541 / HM-10 modules
Nordic nRF52 / UART Service
Console, alerts, explorer
Runs on the Mac
Functions: custom buttons
Functions: toggle switches
Import / export of button profiles

In the free apps the Functions tab is still there — tapping it explains what it would do. Everything marked * in this manual sits in that last column.


BLE Serial Pro 3.9.0 · © 2026 EdSoft · © 2019 Hangar42