Skip to main content
Version: v6

Bluetooth Classic Serial Port

This plugin is written using the iOS Accessory Framework (MFi) to support Classic Bluetooth on iOS.

Stuck on a Cordova issue?

Don't waste precious time on plugin issues.

If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic’s experts offer premium advisory services for both community plugins and premier plugins.


$ npm install cordova-plugin-bluetooth-classic-serial-port 
$ npm install @awesome-cordova-plugins/bluetooth-classic-serial-port
$ ionic cap sync

Supported Platforms

  • Android
  • iOS
  • Browser



Learn more about using Ionic Native components in React


import { BluetoothClassicSerialPort } from '@awesome-cordova-plugins/bluetooth-classic-serial-port/ngx';

constructor(private bluetoothClassicSerialPort: BluetoothClassicSerialPort) { }

// Write a string
this.bluetoothClassicSerialPort.write("00001101-0000-1000-8000-00805F9B34FB", "hello, world", success, failure);

// Array of int or bytes
this.bluetoothClassicSerialPort.write("00001101-0000-1000-8000-00805F9B34FB", [186, 220, 222], success, failure);

// Typed Array
var data = new Uint8Array(4);
data[0] = 0x41;
data[1] = 0x42;
data[2] = 0x43;
data[3] = 0x44;
this.bluetoothClassicSerialPort.write(interfaceId, data, success, failure);

// Array Buffer
this.bluetoothClassicSerialPort.write(interfaceId, data.buffer, success, failure);

// iOS select accessory

 async selectAccessory() {
const deviceDiscovery = this.bluetoothClassicSerialPort.setDeviceDiscoveredListener().subscribe(async (connectionConfig) => {

await this.bluetoothClassicSerialPort.discoverUnpaired().catch(error => {