Need advice on connecting an ST eval board to a PC via BLE

I would like to connect to an ST eval board with BLE using a PC. Is there some example project or generic BLE app that can be installed on a PC and log messages coming from the board?

Here is the eval board I am using.

The app that ST mobile provides has some limitations that don’t work for me, so I need to find another way of sending BLE data to a PC so that I can log real time sensor data.

For these kinds of tests I tend to lean towards using a dev board like the NRF52840 Feather (or similar), programming the connectivity aspects in CircuitPython/MicroPython because of AdaFruit’s killer examples, and just use a UART serial console for actual text logging to a PC.

This dongle from Nordic is also a favorite of mine (mostly to hack it into a JTAG programmer), but I can’t speak to to the capabilities of the GUI software for logging purposes.

The Nordic VSCode plugin looks interesting.

Thanks Slawek! Much appreciated… I will have a look and see if this will do the trick.

I agree wholeheartedly with @Slawek about using an Adafruit board of some kind as a gateway, for first-pass stuff.

The biggest issue I run into trying to use BLE on computers is that the API is highly variable. For instance, say you need your “product” to just advertise a temperature, and you need a PC app to report the advertised temperature, and not other stuff from other BLE devices. On Windows, you can certainly write a .net app to do that, and on Mac same with Swift, but using a platform-specific toolkit is rarely the easiest path.

What IS easy is “anything that falls within Adafruit’s purview.” For instance, CircuitPython can run on a desktop or SBC as well, via the “blinka” layer. If you do this on a raspi, you can interface with the Pi’s BLE same as you would with CircuitPython on any of their other supported dev boards, so prototyping an advertisement listener is super easy based on examples. Ditto Mac - BLE just works with circuitpython, so that’s easy too. Though there are always some platform-specific gotchas that I always re-run into. On Windows, things are a little different, and I think I recall the easiest route is to use a BlueGiga USB BLE module, which has a different API apart from the system’s and is easier to interface with i.e. Python. But if you’re going to require an external module, that external module might as well be an NRF42840 feather, and then just do everything in circuitpython (and talk to the feather from your windows app via serial).

To get specific, the last time I had a project with similar sounding requirements to yours, the architecture was a temperature sensor on an NRF52840 Feather Sense (LOVE that board), advertising sensor data over BLE to a listener circuitpython script running on a Raspberry Pi, then that same script would insert sensor readings into InfluxDB running on that same Pi. Grafana, also running on the pi, provided an extremely full-featured web interface to look through that influxdb-stored data, graph it, analyze it, etc.

I actually use InfluxDB and Grafana now, with whatever Python connector I need to whip up to insert data, for basically any “I need to log and graph data over time” thing I need to do. It’s SOOOOO nice.

I know that ST has STM32CubeMonitor-RF to help with debugging BLE. Should work with any stm32wb board as a receiver.