This project allows you to use an iOS device to browse secure Web Bluetooth enabled webpages. It was built for and has been primarily tested with puck.js pucks.
If you are having difficulties, first check out the FAQs.
If you have questions, comments or features you'd like to see, please email email@example.com.
Features added in 1.4.0:
- Support for
Fixes in 1.4.0:
- Bug where we used the underlying
ArrayBufferinstead of the wrapping
TypedArray, potentially causing a crash on the bluetooth device (e.g. Nordic based devices like the Puck.js).
Features added in 1.3.1:
- Geolocation support!
Features added in 1.3.0:
- Dark mode!
Deprecations in 1.3:
- Now only works with iOS 13.2 and above.
Fixes in 1.3.0:
Fixes in 1.2.3:
- Do not crash on startup on iOS 13 devices
- Large internal refactor to allow people to reuse the webble core in other projects
Fixes in 1.2.2:
- now calls
handleEventif the callback object has that function
DataViewlike objects as well as
- bluetooth events now have
stopNotifications()now actually works
Promise[Characteristic]like they're supposed to
- Fixes this characteristic notification issue
And probably some other things beside...
New features in 1.2.1
- Full screen support
- Loading status bar
- Hiding of the home bar indicator in full screen
- Better handling of navigation errors
New features in 1.2.0
- Showable / hideable console, with copy-and-pastable logs.
New features in 1.1.6
namePrefixfilters when requesting devices.
- Support BLE characteristics both when they support sending responses to write requests and when they don't.
New features in 1.1.5
- Support for links of the form
webble://www.greenparksoftware.co.uk/projects/webble/1.1.5/puckdemowhich can be clicked on in a web browser on iOS to open the link in WebBLE
- Fix an issue receiving notifications from characteristics.
- Fix bugs relating to abbreviated service and characteristics.
- Various other small bug fixes, particularly relating to navigation.
New features in 1.1.4
- Fixed a bug where requesting a device with specified services but not a name or a namePrefix was not working.
- Couple of other small fixes.
New features in 1.1.3
- The URLs in the bookmarks page are now shorter to make them more readable.
- I've fixed a bug which prevented a characteristic from being used on more than one connected device.
New features in 1.1.2
- The ID of devices is now displayed after their name in the picker view, to help differentiate between them.
acceptAllDevicesBoolean flag is now properly handled (and all devices are shown).
"name"filter is now supported (as well as
New features in 1.1.1
- The last page you navigated to is remembered so if the app is closed and re-opened it will return there rather than coming to this page.
- A couple of handy bookmarks have been added (you can delete them if you don't need them of course).
- Various bug-fixes.
New features in 1.1.0
- You can now add bookmarks for the pages you visit, and rearrange and delete them from the bookmarks menu.
Your privacy while using WebBLE
Frequently asked support questions
WebBLE is available from the App Store
|Puck.js Demo Page||
New Puck owners start here.
If you have a Puck.js, you can use this demonstration page from within the Web Bluetooth app, or a mainstream browser that supports Web Bluetooth, such as Chrome, to try it out.
Find out more about puck.js.
|WebBLE thread in Espruino forums||
Has some useful tips and will probably get comments for any bugs people find and workarounds for them.
|Puck Device Tests||
This page runs some tests of the web bluetooth API implementation in your browser (you will need a couple of pucks handy). WebBLE should pass them all!
A large proportion of the code for WebBLE is open-source and available on github.
|Full Web Bluetooth spec||
Only a subset of this is implemented at this time in WebBLE.