{"id":21070749,"url":"https://github.com/microbit-foundation/microbit-blue","last_synced_at":"2025-05-16T05:31:07.696Z","repository":{"id":75374486,"uuid":"73845611","full_name":"microbit-foundation/microbit-blue","owner":"microbit-foundation","description":"This application contains a series of demonstrations which use the BBC micro:bit Bluetooth profile in various ways. It's purpose is both to act as a demo and to provide a source of example code which shows how to use the Bluetooth profile from Android","archived":false,"fork":false,"pushed_at":"2017-03-26T09:26:50.000Z","size":30420,"stargazers_count":60,"open_issues_count":1,"forks_count":23,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-03T20:37:36.675Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","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/microbit-foundation.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}},"created_at":"2016-11-15T19:00:07.000Z","updated_at":"2024-10-20T12:58:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"cb240533-d341-4220-bf2c-e3306fe36c58","html_url":"https://github.com/microbit-foundation/microbit-blue","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbit-foundation%2Fmicrobit-blue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbit-foundation%2Fmicrobit-blue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbit-foundation%2Fmicrobit-blue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbit-foundation%2Fmicrobit-blue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microbit-foundation","download_url":"https://codeload.github.com/microbit-foundation/microbit-blue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254473886,"owners_count":22077192,"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-11-19T18:48:11.028Z","updated_at":"2025-05-16T05:31:02.688Z","avatar_url":"https://github.com/microbit-foundation.png","language":"Java","funding_links":[],"categories":["📱 Mobile Apps"],"sub_categories":["🎓 Machine Learning Resources \u0026 Projects"],"readme":"# micro:bit Blue\r\n\r\n## Version: 1.5.4\r\n\r\n\r\n * Author: Martin Woolley\r\n * Twitter: @bluetooth_mdw\r\n *\r\n *  Licensed under the Apache License, Version 2.0 (the \"License\");\r\n *  you may not use this file except in compliance with the License.\r\n *  You may obtain a copy of the License at\r\n *\r\n *      http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n *  Unless required by applicable law or agreed to in writing, software\r\n *  distributed under the License is distributed on an \"AS IS\" BASIS,\r\n *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n *  See the License for the specific language governing permissions and\r\n *  limitations under the License.\r\n\r\n\r\n__Description:__ \r\n\r\nThis application contains a series of demonstrations which use the BBC micro:bit Bluetooth profile in various ways. It's purpose is both to act as a demo and to provide a source of example code which shows how to use the Bluetooth profile from Android. \r\n\r\n__Instructions:__\u003cbr\u003e\r\n\r\nInstall the latest apk file from the releases folder. Note that the application requires at least version 2.0.0 of the micro:bit run time and the smartphone or tablet should be paired with the micro:bit before the application can be used.  \r\n\r\n__Requirements:__\u003cbr\u003e\r\n\r\nThe application should work on Android version 4.4 or later. Version 5 or later is recommended however. Limited testing has been carried out across Android versions however so please report any issues found.\r\n\r\n__Known Issues:__\r\n\r\n1. Needs a demo of analogue output\r\n2. Needs a demo of digital input\r\n3. Needs a demo of analogue input\r\n4. Sometimes the digital output demo is unable to determine the initial state of pin 0\r\n5. Animal Vegetable Mineral demo: If you disconnect from the micro:bit then reconnect you will not receive indication messages from the micro:bit any more. Reset the micro:bit and reconnect to solve this. Awaiting new micro:bit API to avoid the underlying issue.  \r\n\r\n__Version History:__\r\n\r\n__1.5.4__\r\n- It's now possible to switch off data smoothing in the Accelerometer screen to see the effect it has\r\n\r\n__1.5.3__\r\n- Bug fix: out of range x/y coordinates sometimes broke touch processing in game controller.\r\n\r\n__1.5.2__\r\n- Bug fix: bug processing touch events in game controller caused rare crashes.\r\n\r\n__1.5.1__\r\n- Bug fix: application crashed when launched if Bluetooth was not already switched on\r\n\r\n__1.5.0__\r\n- Added further information to the main help screen\r\n\r\n__1.4.9__\r\n- Changed application name to micro:bit Blue\r\n\r\n__1.4.8__\r\n- Added the Trivia Scoreboard demo\r\n\r\n__1.4.7__\r\n- Swapped UART TX and RX UUIDs to be in line with Nordic Semiconductor official documentation. Note that this was correct with respect to earlier versions of the micro:bit runtime code. An underlying issue regarding the UART service, its characteristics and their properties has since been fixed and so the Animal Vegetable Mineral demo will only work with a hex file build from this later code base. The fix in question went into github master on 25th May 2016.\r\n\r\n__1.4.6__\r\n- Added Refresh Services menu item to the demo Menu Activity. GATT services (and characteristics and descriptors) discovered when connecting to a micro:bit are cached by Android. There's currently no way to tell Android that the GATT services 9etc) have changed because your micro:bit code has changed and so this menu item lets you manually initiate flushing of the cache and a full service (re)discovery process. If you get an error message saying a demo cannot be used because your micro:bit doesn't have a required Bluetooth service and you are 100% convinced it does have it, try using the Refresh Services menu option.\r\n\r\n__1.4.5__\r\n- Added UART service Animal Vegetable Mineral demo\r\n- Tightened up closing of BluetoothGatt object on disconnect in the hope that this will improve realisbility on older Android versions\r\n- Guarded execution of some operations in BleAdapterService according to the connection state\r\n- moved wrapping of UI text messages originating from the BleAdapterService to the Activity that receives them\r\n\r\n__1.4.4__\r\n- Added simple interpretation of Magnetometer Bearing data, display the nearest point of the compass\r\n\r\n__1.4.3__\r\n- Included device Bluetooth address in scan results list to make it possible to distinguish between multiple paired micro:bits\r\n\r\n__1.4.2__\r\n\r\n- Removed redundant DualDPadControllerActivity.java\r\n- Fixed game controller event code initialisation bug\r\n- Fixed bug which resulted in attempts to pair with an unpaired micro:bit when the main settings screen had deselected filtering of unpaired devices i.e. we want to be able to work with unpaired micro:bits probably because we're developing and testing.\r\n- Fixed bug in multi-touch handling in the dual d-pad game controller\r\n\r\n__1.4.1__\r\n\r\n- Display current heart rate instead of histogram every 10 seconds\r\n\r\n__1.4.0__\r\n\r\n- Added Heart Rate Histogram demo\r\n\r\n__1.3.1__\r\n\r\n- Improved D-Pad Controller screen with proper graphic\r\n- Introduced vibration for feedback when using the D-Pad Controller\r\n- Introduced multi-touch support for the D-Pad Controller\r\n- Event Code and Event Values used by the D-Pad Controller are now configurable in a Settings screen.\r\n- Tidied up layout of some screens to work better across Android device types\r\n\r\n__1.3.0__\r\n\r\n- Added Dual D-Pad Controller demo\r\n- Added screen orientation properties for all activities\r\n- Changed keep alive function to read the firmware revision string characteristic since the hardware revision string characteristic is being removed from the profile\r\n- Removed hardware revision string from the device information screen\r\n\r\n__1.2.0__\r\n\r\n- Added Bluetooth Services menu item to the menu page. Produces a report showing which Bluetooth services are present on or absent from the connected micro:bit\r\n__1.2.0__\r\n\r\n- Modified to work with the \"out of box\" general release of the micro:bit runtime which uses Bluetooth security including pairing and white listing.\r\n\r\n__1.1.0__\r\n\r\n- Uses Android 5 scanning APIs if on 5.0 or later else uses old scanning APIs\r\n\r\n__1.0.0__ \r\n\r\n- Initial version which used the Android 4.x scanning APIs\r\n\r\n## Contributing\r\n\r\nPull Requests are not being accepted at this time. If you find a bug or have an idea for a new feature, please submit details in the issue tracker. In the case of new features, it may be possible to collaborate on the development. This will be assessed on a case by case basis.\r\n\r\nThank you","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrobit-foundation%2Fmicrobit-blue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrobit-foundation%2Fmicrobit-blue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrobit-foundation%2Fmicrobit-blue/lists"}