{"id":23744927,"url":"https://github.com/stm32duino/spbtle-rf","last_synced_at":"2025-06-17T06:05:49.709Z","repository":{"id":86445557,"uuid":"98661037","full_name":"stm32duino/SPBTLE-RF","owner":"stm32duino","description":"Arduino library to support the Bluetooth (V4.1 compliant) SPBTLE-RF module","archived":false,"fork":false,"pushed_at":"2021-10-05T13:59:23.000Z","size":230,"stargazers_count":11,"open_issues_count":0,"forks_count":13,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-06-06T23:37:03.053Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stm32duino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-28T15:07:42.000Z","updated_at":"2024-06-07T15:21:11.000Z","dependencies_parsed_at":"2023-07-13T18:00:38.502Z","dependency_job_id":null,"html_url":"https://github.com/stm32duino/SPBTLE-RF","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/stm32duino/SPBTLE-RF","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FSPBTLE-RF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FSPBTLE-RF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FSPBTLE-RF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FSPBTLE-RF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stm32duino","download_url":"https://codeload.github.com/stm32duino/SPBTLE-RF/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stm32duino%2FSPBTLE-RF/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260301992,"owners_count":22988721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-31T12:51:00.357Z","updated_at":"2025-06-17T06:05:49.702Z","avatar_url":"https://github.com/stm32duino.png","language":"C","readme":"# SPBTLE-RF\nArduino library to support the Bluetooth (V4.1 compliant) SPBTLE-RF module\n\n## API\n\nThe library provides a basic BLE class to configure and enable the Bluetooth module.\nEach profile provides its own class. See Beacon and sensorDemo profiles.\n\n## Examples\n\nThe library includes two sketches. They are very similar, one sketch provides a Beacon Service, an other a Sensor Service.\n\nFor the Beacon Service sketch, we can see on the monitor window all the initialization phase, and the message\n\"Beacon service start!\" when the bluetooth module is started and ready.\nTwo mode are supported, UID mode and URL mode. On both mode, user can choose the bluetooth MAC address of the device by\nconfiguring SERVER_BDADDR in the Arduino sketch.\nOn UID mode, user can choose the Namespace and the Instance. This data are sent to the associated device (for example your smartphone).\nOn URL mode, user can choose the webURL sended.\n\nYou can test this application by connecting it with your smartphone.\nOn Android, donwload the Beacon Scanner Apps (iBeacon \u0026 Eddystone Scanner by flurp laboratories). The Apps can\nalso be found [here](https://play.google.com/store/apps/details?id=de.flurp.beaconscanner.app).\nThen start the app, it will ask you to enable the bluetooth on your smartphone. Start scanning and you will see the the device.\nIf you use it on UID mode, you will the see the Namespace and the instance.\nIf you use it on URL mode, you will see the URL, you can click on it and you will send the web page.\n\n\nFor the Sensor Service sketch, we can see on the monitor window all the initialization phase, and a message for each service started.\nThree services are started : Acc, Environnemental and Time.\nFor testing the sketch, you can download on the playstore the \"BLueNRG\" application provided by STMicroelectronics.\nLaunch the application and enable Bluetooth on your smartphone. Connect it to the BLueNRG device. You will see all the services,\nyou can click on each one and read the data.\nPay attention that the device name can't be more than 7 characters long. If the string passed to the begin function is longer, it is \nautomatically trimmed to the first 7 characters.\nThe BlueNRG app expects \"BlueNRG\" as device name, using anything else will make the device not connectable.\n\n\nThe SPBTLE-RF uses SPI. You need to configure the pin used for spi link.\n  SPIClass SPI_3(MOSI, MISO, CLK);\n\nChoose the SPI used by the SPBTLE-RF, and the pinout of the device. A cheep select pin, spiIRQ pin, reset PIN and a led (optional) are required.\n  SPBTLERFClass BTLE(SPI_X, CS pin, IRQ pin, reset pin);\n  SPBTLERFClass BTLE(SPI_X, CS pin, IRQ pin, reset pin, LED pin);\n\nStart the bluetooth module.\n  BTLE.begin();\n\nStart the service. For example the BeaconService in UID_TYPE.\n  BeaconService.begin(SERVER_BDADDR, beaconID, NameSpace);\n\n## BLE stack\n\nVersion: 3.0.0  \nThe Bluetooth stack comes from [STM32CubeExpansion_BLE1_V3.0.0](http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software-expansion/x-cube-ble1.html).  \n\nThe BlueNRG stack is composed of some specific parts:  \n\n* **HCI** files provide API for HCI (Host Controller Interface) layer  \n* **GAP** files provide API for GAP (Generic Access Profile) layer  \n* **GATT** files provide API for GATT (Generic Attribute Profile) layer  \n* **L2CAP** files provide API for L2CAP (Logical Link Control and Adaptation Protocol) layer  \n\nMore information about the different layers:  \n* https://www.bluetooth.com/specifications/bluetooth-core-specification\n* https://www.bluetooth.com/specifications/gatt  \n\n## Note\n\nAt the compilation time a warning is raised about an IFR configuration not valid.\nThis is normal because the library proposes an API to update the firmware of the\nBLE module but the configuration flag isn't declared. See STM32CubeExpansion_BLE1_V3.0.0\ndocumentation for more information about the IFR updater.\n\n## Documentation\n\nYou can find the source files at  \nhttps://github.com/stm32duino/SPBTLE-RF\n\nThe SPBTLE-RF module datasheet is available at  \nhttp://www.st.com/content/st_com/en/products/wireless-connectivity/bluetooth-bluetooth-low-energy/spbtle-rf.html\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstm32duino%2Fspbtle-rf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstm32duino%2Fspbtle-rf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstm32duino%2Fspbtle-rf/lists"}