4 years, 11 months ago.

Using ble to replace bluetooth classic SPP profile

Currently, I connect a MCU and a Bluetooth Classic Module with the UART pins, and use the serial interface (pc.printf..) such that the MCU +BT module can transeive data. On my PC, I connect the bluetooth classic module and open a serial terminal (teraterm) and communicate with the MCU+BT module.

I am considering to use a MCU with BLE to make the overall size smaller. While my PC does support BLE, it seems that BLE doesn't support SPP and I can't use a serial terminal to achieve easy communication with the BLE_MCU. Does the BLE over UART code enable easy communication between my PC and a BLE_MCU? What would be the easiest way to receive data from a BLE_MCU with a PC?

1 Answer

4 years, 11 months ago.

It is unfortunate the Bluetooth standard dropped SPP support when they moved to BLE 4.0 since it was very popular and is the most obvious way to send data from point to point. Currently, Radio Module manufacturers have implemented their own BLE gatt profiles for serial port support. Microchip has a serial profile that works with their BLE radio modules (e.g. RN4020) – I believe it usually comes preloaded on their chips. Nordic also has a serial profile that works with Nordic SOCs (e.g. Rigado BMD300 radio), and again will sometimes even come preloaded. Source code for Nordic BLE firmware is available as well if you need to tweak the profile to fit your needs. Noridc has a whole software development kit (nRF5 SDK) for developing firmware for the BLE SOCs and examples you can compile for their serial port profile if for some reason a standard firmware image doesn’t suite your needs. I have had good luck with both Microchip and Nordic. Both have example code for using the service in a phone App as well. Nordic nRF52 series is extremely popular. Nordic also has stand-alone phone apps to help with development where you can scan for devices and even send serial data without developing your own app. Using the serial port is usually pretty straight forward and amounts to just writing to one characteristic and listening for data on another. Other manufacturers probably have similar solutions.

Accepted Answer