{"id":13780387,"url":"https://github.com/sandeepmistry/arduino-BLEPeripheral","last_synced_at":"2025-05-11T13:32:14.449Z","repository":{"id":18022578,"uuid":"21054064","full_name":"sandeepmistry/arduino-BLEPeripheral","owner":"sandeepmistry","description":"An Arduino library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822.","archived":false,"fork":false,"pushed_at":"2023-11-10T14:21:36.000Z","size":1193,"stargazers_count":463,"open_issues_count":96,"forks_count":179,"subscribers_count":44,"default_branch":"master","last_synced_at":"2024-11-09T20:44:14.631Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandeepmistry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2014-06-20T22:15:27.000Z","updated_at":"2024-10-04T00:19:53.000Z","dependencies_parsed_at":"2024-01-15T18:56:14.992Z","dependency_job_id":null,"html_url":"https://github.com/sandeepmistry/arduino-BLEPeripheral","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepmistry%2Farduino-BLEPeripheral","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepmistry%2Farduino-BLEPeripheral/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepmistry%2Farduino-BLEPeripheral/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepmistry%2Farduino-BLEPeripheral/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandeepmistry","download_url":"https://codeload.github.com/sandeepmistry/arduino-BLEPeripheral/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225056808,"owners_count":17414214,"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-08-03T18:01:15.178Z","updated_at":"2024-11-17T15:31:10.601Z","avatar_url":"https://github.com/sandeepmistry.png","language":"C","funding_links":[],"categories":["Libraries"],"sub_categories":[],"readme":"# Arduino BLEPeripheral\n\n[![Build Status](https://travis-ci.org/sandeepmistry/arduino-BLEPeripheral.svg?branch=master)](https://travis-ci.org/sandeepmistry/arduino-BLEPeripheral) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/sandeepmistry/arduino-BLEPeripheral?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n\nAn [Arduino](http://arduino.cc) library for creating custom BLE peripherals with [Nordic Semiconductor](http://www.nordicsemi.com)'s [nRF8001](http://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF8001) or [nR51822](http://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF51822).\n\nEnables you to create more customized BLE Peripheral's compared to the basic UART most other Arduino BLE libraries provide.\n\n[nRFgo Studio](http://www.nordicsemi.com/chi/node_176/2.4GHz-RF/nRFgo-Studio) (and Windows) is not required when using the [nRF8001](http://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF8001).\n\n## Compatible Hardware\n\n### [Nordic Semiconductor nRF8001](http://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF8001)\n\n * [Adafruit](http://www.adafruit.com)\n   * [Bluefruit LE - nRF8001 Breakout](http://www.adafruit.com/products/1697)\n * [RedBearLab](http://redbearlab.com)\n   * [BLE Shield](http://redbearlab.com/bleshield/)\n   * [Blend Micro](http://redbearlab.com/blendmicro/)\n   * [Blend](http://redbearlab.com/blend/)\n * [Femtoduino](http://www.femtoduino.com)\n   * [IMUduino BTLE](http://www.femtoduino.com/spex/imuduino-btle)\n * [Olimex](https://www.olimex.com)\n   * [MOD-nRF8001](https://www.olimex.com/Products/Modules/RF/MOD-nRF8001/)\n   * [OLIMEXINO-NANO-BLE](https://www.olimex.com/Products/Duino/AVR/OLIMEXINO-NANO-BLE/)\n * [Jaycon Systems](http://www.jayconsystems.com)\n   * [nRF8001 Bluetooth Breakout Board](http://www.jayconsystems.com/nrf8001-breakout-board.html)\n * [TinyCircuits](https://www.tiny-circuits.com)\n  * [TinyShield Bluetooth Low Energy - Nordic](https://www.tiny-circuits.com/tiny-shield-bluetooth-low-energy-nordic.html)\n\n**Note:** Does not require use of [nRFgo Studio](http://www.nordicsemi.com/chi/node_176/2.4GHz-RF/nRFgo-Studio)! However, uses more code space.\n\n### [Nordic Semiconductor nRF51822](http://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF51822)\n\n * [RedBearLab](http://redbearlab.com) with [Arduino Add-on](https://github.com/RedBearLab/nRF51822-Arduino)\n   * [nRF51822](http://redbearlab.com/redbearlab-nrf51822)\n   * [BLE Nano](http://redbearlab.com/blenano/)\n * [RFduino](http://www.rfduino.com) with [Arduino Add-on](https://github.com/RFduino/RFduino)\n \n**WARNING**: Adafruit nRF51 boards are **NOT** compatible with this library, this includes the [Bluefruit LE UART Friend](https://www.adafruit.com/products/2479), [Bluefruit LE SPI Friend](https://www.adafruit.com/products/2633), [Bluefruit LE Shield](https://www.adafruit.com/products/2746), [Flora Wearable Bluefruit LE Module](https://www.adafruit.com/products/2487), [Feather 32u4 Bluefruit LE](https://www.adafruit.com/products/2829), and [Feather M0 Bluefruit LE](https://www.adafruit.com/products/2995).\n\n### Nordic Semiconductor nRF51 or nRF52 based boards\n\n * Various, see [arduino-nRF5 supported boards](https://github.com/sandeepmistry/arduino-nRF5#supported-boards) via [nRF5 Arduino Add-on](https://github.com/sandeepmistry/arduino-nRF5)\n\n#### Pinouts\n\n| Chip | Shield/Board | REQ Pin | RDY Pin | RST Pin |\n| ---- | ------------ | ------- | ------- | ------- |\n| nRF8001|\n| | Bluefruit LE | 10 | 2 | 9 |\n| | BLE Shield 1.x | 9 | 8 | UNUSED |\n| | BLE Shield 2.x | 9 | 8 | UNUSED or 4/7 via jumper|\n| | Blend | 9 | 8 | UNUSED or 4/5 via jumper |\n| | Blend Micro | 6 | 7 | UNUSED or 4 |\n| | IMUduino BTLE | 10 | 7 | 9 |\n| | TinyShield Bluetooth Low Energy | 10 | 2 | 9 |\n| nRF51822 |\n| | RedBearLab nRF51822 | -1 (UNUSED) | -1 (UNUSED) | -1 (UNUSED) |\n| | BLE Nano | -1 (UNUSED) | -1 (UNUSED) | -1 (UNUSED) |\n| | RFduino | -1 (UNUSED) | -1 (UNUSED) | -1 (UNUSED) |\n\n## Compatible IDE's and MCU's\n\n * [Arduino IDE](http://arduino.cc/en/Main/Software#toc1)\n   * AVR (Uno, Lenoardo, Mega, etc.)\n   * SAM3X8E (Due)\n   * SAMD21G18A (Zero)\n * [Teensy](https://www.pjrc.com/teensy/) (via [Teensyduino](https://www.pjrc.com/teensy/td_download.html))\n   * 2.0\n   * 3.0\n   * 3.1\n   * LC\n\n**Warning**: For more advanced sketches an MCU with more than 2kB of RAM and 32kB of flash space is recommended. Advance sketches include:\n * Multiple services and characteristics\n * HID API usage\n\n## Usage\n\n### Download Library\n\n#### Arduino\n\n#### Using the Arduino IDE Library Manager\n\n1. Choose ```Sketch``` -\u003e ```Include Library``` -\u003e ```Manage Libraries...```\n2. Type ```BLEPeripheral``` into the search box.\n3. Click the row to select the library.\n4. Click the ```Install``` button to install the library.\n\n#### Using Git\n```sh\ncd ~/Documents/Arduino/libraries/\ngit clone https://github.com/sandeepmistry/arduino-BLEPeripheral BLEPeripheral\n```\n\n#### MPIDE\n```\ncd ~/Documents/mpide/libraries/\ngit clone https://github.com/sandeepmistry/arduino-BLEPeripheral BLEPeripheral\n```\n\n### [arduino-nRF5x core](https://github.com/sandeepmistry/arduino-nRF5) users\n\nThe [arduino-nRF5x core](https://github.com/sandeepmistry/arduino-nRF5) **REQUIRES** a SoftDevice in order to successfully use this library. Please see [Flashing a SoftDevice](https://github.com/sandeepmistry/arduino-nRF5#flashing-a-softdevice).\n\nFurther, the error ```fatal error: ble_gatts.h: No such file or directory``` in indicitive of no SoftDevice being selected.\n\n### Starter sketch\nLoad [starter.ino](examples/starter/starter.ino)\n\n## API\nSee [API.md](API.md).\n\n## Examples\nSee [examples](examples) folder.\n\n## License\n\nThis libary is [licensed](LICENSE) under the [MIT Licence](http://en.wikipedia.org/wiki/MIT_License).\n\n## Useful Links\n * [@lizardo](https://github.com/lizardo)'s [nRF8001 Experiments](https://github.com/lizardo/nrf8001)\n   * used as a starting point to reverse engineer the proprietary setup message format for the chips\n * [@NordicSemiconductor](https://github.com/NordicSemiconductor)'s [ble-sdk-arduino](https://github.com/NordicSemiconductor/ble-sdk-arduino)\n   * Original Arduino SDK for nRF8001\n * [@guanix](https://github.com/guanix)'s [arduino-nrf8001](https://github.com/guanix/arduino-nrf8001)\n   * nRF8001 support for Arduino\n\n\n[![Analytics](https://ga-beacon.appspot.com/UA-56089547-1/sandeepmistry/arduino-BLEPeripheral?pixel)](https://github.com/igrigorik/ga-beacon)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandeepmistry%2Farduino-BLEPeripheral","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandeepmistry%2Farduino-BLEPeripheral","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandeepmistry%2Farduino-BLEPeripheral/lists"}