Skip to main content

Bluetooth

Found under Wireless on the device's panel list.

BT Info

Shows this device's Bluetooth Low Energy identity and whether it is advertising, and lets you turn BLE on or off and set the name it advertises.

The screen

The ESP32-C5 radio is soldered to this device and has its own link to the main processor, so this screen is always live - there is no Orca UART setting to point at it first. Top to bottom:

  • Advert Name - the name this device advertises over Bluetooth LE
  • A status line, coloured to match the state below, with the device's Bluetooth MAC address to its right once the co-processor answers
  • Terminal Enabled - Enabled or Disabled (see below - it looks live but is not)
  • Num of Devices - always reads 0; it is not wired up to a live count

This screen used to render black. Captions were written in a way the display dropped instead of showing, and the controls' ids did not match the order they were created in, so an update meant for one line landed on another and overwrote it instead of appearing on its own. Both are fixed now; what follows is what the screen actually shows.

Controls

ButtonAction
BlueTurn Bluetooth LE on or off
GreenSet the advertised name
GrayGo to the Bluetooth Scan page
CancelThis help page

Yellow and Red have no label on this screen and do nothing. HOME leaves the screen from here, as it does everywhere else in the menu.

Status colours

  • Green "Running" - BLE is on and advertising
  • Yellow "Starting" - BLE is turning on
  • Red "Disabled" - the module is reachable but BLE is off
  • Red "ESP32 radio not responding" - the module has not answered in the last 2 seconds; the MAC address, Terminal Enabled and Num of Devices are all hidden and nothing else on the screen is being refreshed

A hint line below the status fills in for two of these: while "Starting" is showing it reads "On, waiting for the radio."; while the module is silent it reads "Starting the radio..." for the moment or two it takes to come up, then "No reply from the radio." if it still has not answered. It stays blank the rest of the time.

This status line updates continuously while the screen is open, not on a timer - whatever it shows is current as of right now.

Advertised name

Green opens a text entry for the name. It accepts up to 30 characters; type more and the extra is silently discarded rather than shown as an error.

Turning BLE on while the name is still blank seeds a default of "FreeWili" rather than refusing - unlike an access point, a nameless BLE advertisement carries no open network with it, so there is nothing gained by blocking it.

You can turn BLE on or off, or change the name, even while the status shows the module is not responding - either change is sent to the module automatically the moment it answers.

Whether BLE is on is saved right away and survives a restart. A changed name is pushed to the module live but is not written to disk on its own; it lands on disk the next time the BLE settings are saved as a whole, which the on/off switch also does. A name typed here and never followed by a Blue press is lost on the next restart.

Terminal Enabled

This field shows a separate setting from the BLE Settings menu found elsewhere in the device, but that setting is not currently used: this device's actual Bluetooth terminal access always follows the Blue button's on/off state instead, regardless of what Terminal Enabled says.

Bluetooth Scan

Scans for nearby Bluetooth LE devices. The scan starts by itself when the page opens, runs for about ten seconds, and lists what it hears strongest signal first, filling in as devices are found.

The list

Each row is one device: the signal strength in dBm - closer to zero is stronger, so -45 beats -80 - then the device's advertised name, or its address for a device that does not advertise one. The list holds up to 32 devices. "Scanning..." shows until the first device is found; "No devices found" appears if the scan finishes empty.

A device seen more than once keeps one row - the signal reading is refreshed, and a name learned later replaces an address-only row's blank name.

Details

Move the highlight with Up and Down and press the center button to see a device's full address and signal strength in a message box, with the name above it when there is one. That address is what a host or script needs to connect to the device.

Controls

ButtonAction
GreenScan again, clearing the list first
GrayGo to the Bluetooth Attributes page
CancelThis help page

HOME leaves the screen from here, as it does everywhere else in the menu.

Power

Opening the page powers the radio and keeps it powered while you stay there, so there is nothing to switch on first. A scan started while it is still booting is held and sent the moment it answers, so the first list may just take a few extra seconds to appear.

Bluetooth Attributes

Eight values this device publishes over Bluetooth. A phone or app that connects can read them, be notified the moment they change, and write them back - so this page is how the device and a phone exchange small pieces of data without either one needing a terminal.

The table

One row per slot, numbered 0 to 7, with its current value beside it:

  • Text values are shown as typed
  • Values that are not plain text are shown as hex
  • An empty slot shows a dash
  • A row shown in green was last written by the connected phone, not here

Each slot holds up to 64 bytes. The values live on the radio, so they survive leaving this page, and a phone reading a slot always sees the latest value whether it was set here or written by another app.

Setting a value

Move the highlight with Up and Down, then press the center button to type a value. The editor opens with the current value when it is text, and empty when it is not. Green clears the highlighted slot back to empty; blue re-reads all eight from the radio, which is worth doing after the radio restarts.

Anything set here is pushed to the radio immediately and, if a phone is subscribed to that slot, sent on to it as a notification.

Controls

ButtonAction
CenterSet the highlighted slot
GreenClear the highlighted slot
BlueRe-read all slots from the radio
GrayGo to the BT Info page
CancelThis help page

HOME leaves the screen from here, as it does everywhere else in the menu.

Finding the values from a phone

The attributes appear as their own service alongside the terminal service this device already advertises, with one characteristic per slot in order. Any general-purpose Bluetooth explorer app will list them; each one is readable, writable, and supports notifications.

Bluetooth has to be on for a phone to see any of this - the switch is on the BT Info page. Values set while Bluetooth is off are kept and become visible as soon as it comes up.

Power

Opening the page powers the radio and keeps it powered while you stay there, so there is nothing to switch on first.

See also: Bluetooth LE — the console/GUI commands for this panel.