<-- Home
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.
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, 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.
Everything received appears here. Type in the field at the bottom and press return to send.

The console in light and dark. The right-hand shot is a real device reporting light-sensor readings.
| Control | What it does |
|---|---|
| × | Disconnect and return to the scan list |
| Console / Functions | Switch between the console and the buttons grid * |
| Sliders | Display options |
| Bin | Clear 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.

| Setting | Notes |
|---|---|
| Format | Show incoming bytes as UTF8, Hex, Dec, Oct or Bin |
| Display Sent Messages | Echo what you send into the console |
| Auto Scroll | Follow the newest line |
| Clear on new message | Show only the latest message — useful for a device that reports one reading at a time |
| Font Size | 2 to 85 point |
| Separation | When 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 Number | Extra columns down the left of each line |
| Play Soundeffects | A 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.

| Setting | Notes |
|---|---|
| Format | How to read what you type: UTF8, Hex, Dec, Oct or Bin |
| Append to end | Add \n, \r or \r\n to everything you send |
| Max. Chunk Size | Long 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.
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.

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 function list, and the editor for a button.

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.

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.
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.
The gear on the scan screen.

Scan
| Switch | Effect |
|---|---|
| Show All | Every BLE device in range, whatever it advertises |
| Show only CC2541 | HM-10 and compatibles; fills in FFE0 / FFE1 / FFE1 below |
| Show only nRF52 * | Nordic UART Service; fills in the 6e400001 / 6e400003 / 6e400002 UUIDs |
| Reconnect Automatically | Reconnect 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.
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.
There are two free apps. Both share this app's console, display and input options, alerts, Bluetooth explorer, editable UUIDs and Mac support.
| BLESerial | BLE Serial nRF52 | BLE 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