By Martin Herfurt | Project start: September 13, 2017
About OneWheelWear
The OneWheelWear app is a Wear OS stand-alone app for connecting to OneWheel boards manufactured by FutureMotion Inc..
Unlike the official app and the newer wear companion app, this app directly connects to the board and displays important information (battery percentage, speed) to the rider. Many riders appreciate the fact that they do not have to put their phone at risk, when using it during their rides.
Installation
With the introduction of Wear OS, the installation of watch apps has changed. In order to install the OneWheelWear app, the Play Store app on the phone has to be used in order to search and install this app.
Features (Paid Version)
### Speed display The middle of the watch display features the current speed of the board. This value is calculated on base of the number revelations per time, so there might be some inaccuracies based on the tire pressure.The displayed speed unit can be changed from metric to awkward in the app settings.
Battery display
As seen in the app screenshot, the progress bar around the watch displays the current charge of the battery. Additionally, a percent-based display of the remaining charge is displayed in at the bottom of the watch display.
Distance display
Since the OWW app is supposed to be easy to operate on one hand, the process of changing between speed- and distance-view can be performed by a so-called wrist-gesture. For this to work, the wrist gestures have to be enabled in the Wear OS settings (on the watch).
Settings
Manual Address Entry
As of March 2018, the firmware of the Bluetooth LE adapter (Texas Instruments CC2541) on most of the OneWheel board controllers was in a version where a certain type of communication packet was not compliant with the official Bluetooth Standard. Beginning with Android version 8 (Oreo), devices with non-compliant packets were no longer discovered [(TI product forum)](https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/p/670467/2472298). While most of the Android-based handsets received updates to also show BLE devices that do not fully comply, Android-based watches did not receive these updates.For this reason, users have to enter their board’s Bluetooth device address manually. It can be discovered by using apps like BLE Scanner on phones that are able to find BLE devices with the described shortcoming.
High Contrast Mode
In sunny conditions, the watch display loses contrast. The high contrast mode increases the contrast of the battery status by setting the color of the surrounding progress bar and the battery percentage at the bottom of the display to white. This setting is *disabled* by default. #### Frequent Polling Mode The way the OWW app is getting information from the OneWheel board is *event-driven*. The app subscibes to certain device characteristics and gets the information whenever there is a change in value. The **frequent polling mode** changes the way the speed information is read from *event-driven* to *time-driven*. This will make the OWW app frequently ask the board for its current speed - even if there is no change. From my experience, the OneWheel reacts unstable when it is overwhelmed with requests resulting in poor responsiveness and disconnects. This is why this setting is **experimental** and is *disabled* by default. ### Alerts Alerts allow the user to make the watch vibrate under certain conditions. #### Speed Alert This alert triggers, whenever a certain speed is exceeded. #### Battery Low Alert This alert triggers, when the battery-level falls below a pre-defined threshold (in percent). #### Battery High Alert This alert triggers, when the battery-level exceeds a pre-defined threshold (in percent). This can be useful during charging. This way, the user gets alerted before the board is completely charged. Especially, if you live in an elevated place, this could be useful. ## Features (Free Version) For obvious reasons, the free app version does not feature many of the functionalities described above. This version of the app was published to enable people who want to try the app can do this without having to buy it. **Once connected, this version only displays the current speed!**App Permissions
The following permissions are requested by the app:
- android.permission.VIBRATE
For the ability of the application to be able to alert the user through vibration. - android.permission.WAKE_LOCK
For the ability to stay awake during the rides. - android.permission.ACCESS_COARSE_LOCATION
For the ability to scan for Bluetooth LE devices. The name of the permission is misleading, as there is no actual location data being requested by the app itself. - android.permission.BLUETOOTH
For the ability to use the Bluetooth interface of the watch. - android.permission.BLUETOOTH_ADMIN
For the ability to activate the Bluetooth interface of the watch.
Compatibility
OneWheel Boards
All currently available OneWheel boards
- OneWheel (http://onewheel.wiki/Onewheel_Original)
- OneWheel+ (http://onewheel.wiki/Onewheel%2B)
- OneWheel+XR (http://onewheel.wiki/Onewheel%2B_XR)
are known to work with the OneWheelWear app.
Wear OS Watches
The only requirement there is for watches, is that they do run Wear OS by Google (formerly known as Android Wear 2.0).
According to the Google Play Store earnings reports (as of August 2018), users with the following watch models bought this app:
- 15% code-name mooneye TicWatch S
- 15% code-name sculpin NIXON Mission
- 12% code-name dorado Wear24
- 9% code-name sparrow ASUS Zenwatch 2
- 8% code-name carp Moto 360 Sport - known to have antenna issues (NOT recommended)
- 7% code-name ayu
- 4% code-name lenok
- 3% code-name platy
- 3% code-name sawfish
- 3% code-name swordfish
- 2% code-name smelt Moto 360 46mm
This list is not fully comprehensive. Especially, newer watch models that the app runs on are not on this list!
If you know the model behind the code-name, please help me complete this list and send me an e-mail. Thanks!
Incompatible Watches
Tizen OS as used by SAMSUNG, Apple iOS as well as proprietary operating systems as used on several sports watches (e.g. SUUNTO, Garmin) are not supported.
If you are an iPhone user, you can find instructions on how to make Wear OS watches work with your iPhone here.
History
When I first got my OneWheel+ in August 2017 (I ordered it in March 2017), I found it really hard to use my phone in order to see important bits of information while riding the board. Back then, there was no Android Wear (later Wear OS) compatible app that would achieve what the Apple Watch was doing for the iPhone-based app - so I developed it.
Rather than developing a set of two apps that run on phone and watch, the new Android Wear 2.0 concept of so-called stand-alone apps was used for this app.
Instructions
Please follow these instructions carefully, if the app is not connecting to your board.
- Power on the board
- Make sure your phone application is not connected (press ‘disconnect’ in the settings section of the official OneWheel app)
- If it was connected, please power-cycle your board again.
- Open the OneWheelWear app
- Go to settings and search for your board by selecting it in the ‘OneWheel’ preference. When you cannot find it there, close the settings dialog and repeat this step.
- In case your watch is running Android 8 (or higher), you need to enter your address manually using the second preference (Manual address entry). Use the BLE Scanner app on your phone in order to identify the Bluetooth address of your board.
- Once your board is selected, leave the preferences and restart the app (swipe it out to the right)
- To be on the safe side, power cycle your board and start the app on the watch
- Now, the watch should connect to the board and give you a short vibration signal
- From this time on, the watch should connect easily
Known Issues
Antenna Issues
Unfortunately, this issue is hard to circumvent/predict on the different Wear OS watches that are available. A few models seem to have very poor BLE antenna performance, which causes connection interruptions/reconnections during the ride.
Other Issues
If you run into issues, please contact me via twitter, Facebook or e-Mail.
Disclaimer
This app is not suited to completely replace the official Onewheel app as it is not possible/intended to perform configurations of the Onewheel board with this app.
toothR - the developer of this app - is not responsible for any damage that results from using this app.
toothR is not affiliated in any way with Futuremotion Inc.
Privacy Statement
No personal information is gathered or transmitted to a third party by this application.
OneWheelWear App in the Google Play Store
There also is a free version for checking if a certain setup works.
OneWheelWear Paid
OneWheelWear Free
OneWheelWear on Facebook
Please become a member of the OneWheelWear group on Facebook. Here, other members can help you if you have a question that is not answered on this page. Please also use this page to share your experiences with the app.
OneWheelWear group on Facebook
Changelog
Beginning with app version 1.80, there will be a changelog commenting the latest improvements.
Version 2.00 (January 25th, 2019)
- added support for GEMINI firmware (Thanks to all the brilliant people that were contributing to this thread: https://github.com/ponewheel/android-ponewheel/issues/86 !)
- repeatable alerts are now only for speed
Version 1.81 (October 6th, 2018)
- added repeating alerts
- added audible alerts
- update of the views that are not currently visible
Version 1.80 (August 24th, 2018)
- Complete overhaul of the app structure
- Introduction of configurable alerts
- Introduction of High Contrast Mode setting
- Introduction of Frequent Polling Mode setting
- Minor improvements
- fixed persistence for metric setting