https://github.com/microbit-foundation/microbit-blue
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
https://github.com/microbit-foundation/microbit-blue
Last synced: about 1 year ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/microbit-foundation/microbit-blue
- Owner: microbit-foundation
- Created: 2016-11-15T19:00:07.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-26T09:26:50.000Z (about 9 years ago)
- Last Synced: 2025-04-03T20:37:36.675Z (about 1 year ago)
- Language: Java
- Homepage:
- Size: 29 MB
- Stars: 60
- Watchers: 6
- Forks: 23
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-microbit - micro:bit Blue - Android app that contains a series of demos for interacting with the micro:bit using Bluetooth. (📱 Mobile Apps / 🎓 Machine Learning Resources & Projects)
README
# micro:bit Blue
## Version: 1.5.4
* Author: Martin Woolley
* Twitter: @bluetooth_mdw
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
__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.
__Instructions:__
Install 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.
__Requirements:__
The 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.
__Known Issues:__
1. Needs a demo of analogue output
2. Needs a demo of digital input
3. Needs a demo of analogue input
4. Sometimes the digital output demo is unable to determine the initial state of pin 0
5. 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.
__Version History:__
__1.5.4__
- It's now possible to switch off data smoothing in the Accelerometer screen to see the effect it has
__1.5.3__
- Bug fix: out of range x/y coordinates sometimes broke touch processing in game controller.
__1.5.2__
- Bug fix: bug processing touch events in game controller caused rare crashes.
__1.5.1__
- Bug fix: application crashed when launched if Bluetooth was not already switched on
__1.5.0__
- Added further information to the main help screen
__1.4.9__
- Changed application name to micro:bit Blue
__1.4.8__
- Added the Trivia Scoreboard demo
__1.4.7__
- 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.
__1.4.6__
- 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.
__1.4.5__
- Added UART service Animal Vegetable Mineral demo
- Tightened up closing of BluetoothGatt object on disconnect in the hope that this will improve realisbility on older Android versions
- Guarded execution of some operations in BleAdapterService according to the connection state
- moved wrapping of UI text messages originating from the BleAdapterService to the Activity that receives them
__1.4.4__
- Added simple interpretation of Magnetometer Bearing data, display the nearest point of the compass
__1.4.3__
- Included device Bluetooth address in scan results list to make it possible to distinguish between multiple paired micro:bits
__1.4.2__
- Removed redundant DualDPadControllerActivity.java
- Fixed game controller event code initialisation bug
- 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.
- Fixed bug in multi-touch handling in the dual d-pad game controller
__1.4.1__
- Display current heart rate instead of histogram every 10 seconds
__1.4.0__
- Added Heart Rate Histogram demo
__1.3.1__
- Improved D-Pad Controller screen with proper graphic
- Introduced vibration for feedback when using the D-Pad Controller
- Introduced multi-touch support for the D-Pad Controller
- Event Code and Event Values used by the D-Pad Controller are now configurable in a Settings screen.
- Tidied up layout of some screens to work better across Android device types
__1.3.0__
- Added Dual D-Pad Controller demo
- Added screen orientation properties for all activities
- Changed keep alive function to read the firmware revision string characteristic since the hardware revision string characteristic is being removed from the profile
- Removed hardware revision string from the device information screen
__1.2.0__
- 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
__1.2.0__
- Modified to work with the "out of box" general release of the micro:bit runtime which uses Bluetooth security including pairing and white listing.
__1.1.0__
- Uses Android 5 scanning APIs if on 5.0 or later else uses old scanning APIs
__1.0.0__
- Initial version which used the Android 4.x scanning APIs
## Contributing
Pull 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.
Thank you