Bluetooth Serial Connect Docs
Common failures

Debug from the wire up

Most failures are one of four things: wrong module type, swapped TX/RX, channel mismatch, or a sketch expecting the old protocol.

Symptoms and likely causes

SymptomMost likely causeWhat to check
The app cannot find the moduleThe module is not BLE or advertises a different service UUID.Use HM-10 style BLE hardware and confirm service UUID FFE0 in Device Center.
Connected, but the Arduino never reactsTX/RX swapped, baud mismatch, or a legacy-only sketch paired with the modern app.Check UART wiring, use 9600 baud, and make sure the sketch is on the default modern protocol.
One control works, another does nothingThe component's channel does not match the channel your sketch reads.Compare the channel in the component's inspector with the id in your sketch call.
Uploads fail when the module is wiredThe BLE module is holding pins 0 and 1 on Uno-style boards.Disconnect the module while uploading, or use a board with a separate hardware UART.
A display or gauge never changesWrong channel, or the value is outside the component's configured range.Match the channel and confirm setGauge values fall within the gauge's min/max.

A reliable debug order

  • Confirm the app is running on a physical iPhone or iPad.
  • Confirm the BLE module advertises and the app can connect.
  • Open the Arduino Serial Monitor with verbose mode enabled.
  • Tap a button and look for BS received: `B0:D`.
  • Open the app's Console to watch the exact lines sent and received.
  • If raw data appears but a control is ignored, double-check its channel.