This module provides the top level Service definition.

class Service(*, service=None, secondary=False, **initial_values)

Top level Service class that handles the hard work of binding to a local or remote service.

Providers of a local service should instantiate their Service with service=None, the default. The local Service’s characteristics will be lazily made available to clients as they are used locally. In other words, a characteristic won’t be available to remote clients until it has been read or written locally.

To use a remote Service, get the item with the key of the Service type on the BLEConnection. For example, connection[UartService] will return the UartService instance for the connection’s peer.

property remote

True if the service is provided by a peer and accessed remotely.


This module provides Services defined by CircuitPython. Out of date.

class CircuitPythonUUID(uuid16)

UUIDs with the CircuitPython base UUID.

class CircuitPythonService(*, service=None, secondary=False, **initial_values)

Core CircuitPython service that allows for file modification and REPL access. Unimplemented.


This module provides Services defined by the MIDI group.

class MidiIOCharacteristic(**kwargs)

Workhorse MIDI Characteristic that carries midi messages both directions. Unimplemented.

class MidiService(*, service=None, secondary=False, **initial_values)

BLE Service that transports MIDI messages. Unimplemented.


Placeholder for transmitting midi bytes to the other device.


Placeholder for receiving midi bytes from the other device.