Using BLE with CircuitPython on Thing Plus RP2350

I’ve got a project that the TP RP2350 seems like a great fit. But I was hoping to use BLE for interactivity from my phone, and I’ve been unable to even get a BLE advertisement running to then connect to the board from my phone.

What I’ve tried is the Adafruit BLE UART Python eval() Example. But this is failing right at the start:

Adafruit CircuitPython 10.1.3 on 2026-02-20; SparkFun Thing Plus RP2350 with rp2350a
>>> from adafruit_ble import BLERadio
>>> from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
>>> ble = BLERadio()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "adafruit_ble/__init__.py", line 163, in __init__
RuntimeError: No adapter available

After some digging around, I thought I’d try something more simple with _bleio, but hit a wall there too:

>>> import _bleio
>>> _bleio.adapter.address
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

It seems like I’m missing something, but I’m not sure what. According to the Module Support Matrix, _bleio appears to be supported for this SparkFun Thing Plus RP2350.

WiFi, on the other hand, does seem to work:

>>> import wifi
>>> networks = []
>>> for network in wifi.radio.start_scanning_networks():
...     networks.append(network)
... 
>>> wifi.radio.stop_scanning_networks()
>>> networks = sorted(networks, key=lambda net: net.rssi, reverse=True)
>>> for network in networks:
...     print("ssid:",network.ssid, "rssi:",network.rssi)
... 
[redacted list of networks]

I don’t believe BLE is available on circuitpython for the RP2350 yet…you can try micropython instead or wait for CP to do an update :-/

Or use arduino! :slight_smile:

Hm, thanks for the confirmation there! (I was suspecting, in spite of that _bleio being listed for the board. Might you have any indication of timeline for that support? Are there tickets I could follow? (Perhaps #7693?)

Part of my goal with this project is to use Python. I guess I’ll just have to get there with MicroPython.

No :-/
You might be able to sign up for CP newsletter/releases?

1 Like

Given the discussion on that GH issue, I’m disheartened that the adafruit folk repeatedly push people away from the RP2 platform for BLE desires (and instead to nRF52840). But my project wants for both WiFi and BLE, along with largely everything else the Thing Plus RP2350 provides.

As I’ve only got things working with my project in CP, I’m not yet ready to try reimplementing in MP. I’m now looking at migrating this project to Adafruit’s ESP32-S3 Feather, which seems to fit my needs, aside from missing onboard CF Card support.