The BarButtons are basically a small Bluetooth keyboard, built for use on a motorcycle. The primary use of the BarButtons is to control navigation apps on your smartphone. To use it you first have to pair it with your phone. Then you possibly have to configure the apps you are going to use to accept keyboard commands. The BarButtons come with different keymaps that are detailed on this page. Lastly, you might want to update the firmware to get new functionality
Power up of the BarButtons
If you power up the BarButtons, the LED displays the boot stages:
- First, the LED briefly flashes and then turns solid
- Then, the LED flashes the current keymap
- When the BarButtons is not connected, the LED will alternate on and off every once every second
Pairing with your phone
The first thing you need to do is pair the BarButtons with your phone. When the BarButtons are not connected they are in pairing mode, the led is blinking once a second.
To connect to the BarButtons, open your phone’s Bluetooth settings and simply connect to the Bluetooth device BarButtons
. Once connected, the LED will turn off.
See the BarButtons FAQ for model specific information.
Configuring applications
Some applications require a little bit of configuration to support Bluetooth keyboards like the BarButtons. See the list of compatible applications for a complete overview.
Configuration menu
The BarButtons have a configuration menu that can be accessed by pressing the keys 1-1-7 sequentially. The status led will be turned on to indicate the BarButtons is in the configuration menu. In the configuration menu, the following steps can be taken:
Button | Purpose |
---|---|
1-4 (short press) | Select keymap 1-4. |
1-4 (long press) | Select keymap 5-8. |
5 | Show firmware version number by flashing the led |
6 | Update the firmware to the latest stable version |
7 | Update the firmware to the latest preview version |
8 | Return to normal mode |
The selection of keymap is stored between restarts of the BarButtons. Tip: if you want to see the current keymap, press the keys 1-1-8 sequentially and the LED will flash the keymap number.
Updating firmware
The firmware can be updated via WiFi using these steps:
- Set up a hotspot, probably on your phone, with these settings
- SSID:
barbuttons
(sometimes called name. If you don’t have this, you might need to rename your device, see the faq) - Password:
barbuttons
- Band: 2.4GHz (sometimes called speed or compatibility)
- Authentication: WPA2 (sometimes called security)
- SSID:
- Enter the configuration menu and choose the update you want:
- The stable version (button 6) is stable. They keymaps on this page apply to the latest version of the stable firmware.
- The preview version (button 7) is currently in development and might contain bugs. It is used to test new keymaps and features
When you select to update the firmware, the led will blink twice every second until it is connected. Once connected the led will stay on until the firmware update is completed. The BarButtons will restart with the new firmware. An update will usually take between 1-2 minutes.
Keymaps
They BarButton keymaps determine how you can use the BarButtons. There are 4 different keymaps that are described below. You can switch keymaps using the configuration menu. Keypresses that the BarButtons do are in 3 categories
- Regular: sends a keypress (key down, and key up)
- Repeated: sends repeated keypresses until the BarButtons are released
- Direct press: the key down is sent upon pushing the BarButtons, the key up is sent when you release the BarButtons.
Regular and repeated keypresses can be different between short and long press of the BarButtons. Long press is any press longer than half a second
Keymap 1: Navigation
This keymap is intended for use in navigation apps like Osmand, Locus and Kurviger.
Button | Short press | Long press | Notes / Intention |
---|---|---|---|
1 | + | + (repeated) | Zoom in |
2 | – | – (repeated) | Zoom out |
3 | N | D | N = Stop navigation view (Kurviger). D = change map direction (Osmand). Ctrl+L = change tracking mode (Guru maps) |
4 | Enter, C, L | Configuration menu (5 second delay) | C = Center map (Osmand, Kurviger 2, MyRouteApp, others). L = Center map / change tracking mode (Guru maps). Enter = Center map (Kurviger 3) |
5 | Up arrow | Up arrow (repeated) | Panning of the map |
6 | Left arrow | Left arrow (repeated) | Panning of the map |
7 | Right arrow | Right arrow (repeated) | Panning of the map |
8 | Down arrow | Down arrow (repeated) | Panning of the map |
Keymap 2: Roadbooks
This keymap is intended for use in navigation apps that use roadbooks like Rally Navigator and Piste Roadbook
Button | Short press | Long press | Notes / Intention |
---|---|---|---|
1 | Volume up | Volume up (repeated) | Trip meter up |
2 | Volume down | Volume down (repeated) | Trip meter down |
3 | Previous track | Previous track (repeated) | Scroll roadbook up |
4 | Next track | Next track (repeated) | Scroll roadbook down |
5 | F5 (direct press) | None (direct press) | Can be mapped to smaller increments in Piste Roadbook |
6 | F6 direct press) | None (direct press) | Can be mapped to smaller increments in Piste Roadbook |
7 | F7 | Configuration menu (5 second delay) | Can be mapped to smaller increments in Piste Roadbook |
8 | F8 (direct press) | None (direct press) | Can be mapped to smaller increments in Piste Roadbook |
Keymap 3: Navigation + Media
This keymap is intended for use in navigation apps like Osmand, Locus and Kurviger. Some keys are mapped to other functions so you can both control media and navigate.
Button | Short press | Long press | Notes / Intention |
---|---|---|---|
1 | + | Volume up (repeated) | + to zoom in. Volume up to change media volume |
2 | – | Volume down (repeated) | – to zoom out. Volume down to change media volume |
3 | F3 (direct press) | None (direct press) | Can be mapped to PTT function (via Automate) |
4 | Enter, C, L | Configuration menu (5 second delay) | C = Center map (Osmand, Kurviger 2, MyRouteApp, others). L = Center map / change tracking mode (Guru maps). Enter = Center map (Kurviger 3) |
5 | Up arrow | Play / Pause | Short press for panning of the map, Long press is media key |
6 | Left arrow | Media stop | Short press for panning of the map, Long press is media key |
7 | Right arrow | Next track | Short press for panning of the map, Long press is media key |
8 | Down arrow | Alt+Tab | Short press for panning of the map, Long press to switch to previous application on Android |
Keymap 4: Custom
This keymap is intended to be used with apps like Button Mapper, Tasker or Automate to map the keys to different actions on the smartphone
Button | Short press | Long press | Notes / Intention |
---|---|---|---|
1 | F1 (direct press) | None (direct press) | Can be mapped |
2 | F2 (direct press) | None (direct press) | Can be mapped |
3 | F3 (direct press) | None (direct press) | Can be mapped |
4 | F4 | Configuration menu (5 second delay) | Can be mapped |
5 | F5 (direct press) | None (direct press) | Can be mapped |
6 | F6 (direct press) | None (direct press) | Can be mapped |
7 | F7 (direct press) | None (direct press) | Can be mapped |
8 | F8 (direct press) | None (direct press) | Can be mapped |
Keymap 5: WunderLINQ emulation
This keymap emulates the layout of the WunderLINQ Wunderwheel. Also see https://github.com/blackboxembedded. For this keymap, the Bluetooth name of the BarButtons changes to WunderLINQ
when you enter keymap 5. If you choose another keymap, it reverts back to BarButtons
. You need to reconnect via Bluetooth.
Button | Short press | Long press | Notes / Intention |
---|---|---|---|
1 | + | + (repeated) | |
2 | – | – (repeated) | |
3 | None | None | |
4 | None | Configuration menu (5 second delay) | |
5 | Up arrow | None | Scroll the wheel up |
6 | Left arrow | Escape | Nudge wheel left |
7 | Right arrow | Enter key | Nudge wheel right |
8 | Down arrow | None | Scroll the wheel up |
Keymap 6: SpeedoX MyRide
This keymap is compatible with SpeedoX MyRide.
Button | Short press | Long press | Notes / Intention |
---|---|---|---|
1 | F1 | F9 | Can be mapped |
2 | F2 | F10 | Can be mapped |
3 | F3 | F11 | Can be mapped |
4 | F4 | Configuration menu (5 second delay) | Can be mapped |
5 | F5 | F12 | Can be mapped |
6 | F6 | Previous track (repeated) | Can be mapped |
7 | F7 | Next track (repeated) | Can be mapped |
8 | F8 | Play Pause | Can be mapped |
Keymap 7: Navigation keymap (possible new keymap #1)
This keymap is the same as keymap 1, but instead of repeated presses for zoom and panning, direct presses are used.
Button | Short press | Long press | Notes / Intention |
---|---|---|---|
1 | = (direct press) | Zoom in | |
2 | – (direct press) | Zoom out | |
3 | N | D | N = Stop navigation view (Kurviger). D = change map direction (Osmand). Ctrl+L = change tracking mode (Guru maps) |
4 | Enter, C, L | Configuration menu (5 second delay) | C = Center map (Osmand, Kurviger 2, MyRouteApp, others). L = Center map / change tracking mode (Guru maps). Enter = Center map (Kurviger 3) |
5 | Up arrow (direct press) | Panning of the map | |
6 | Left arrow (direct press) | Panning of the map | |
7 | Right arrow (direct press) | Panning of the map | |
8 | Down arrow (direct press) | Panning of the map |
Keymap 8: DMD2
This keymap is intended to be used with Drive Mode Dashboard 2. See https://www.drivemodedashboard.com/controller-implementation-guide/ for background.
Button | Short press | Long press | Notes / Intention |
---|---|---|---|
1 | F6 (direct press) | None (direct press) | Zoom in |
2 | F7 (direct press) | None (direct press) | Zoom out |
3 | Enter (direct press) | None (direct press) | Select |
4 | F5 (direct press) | None (direct press) | Back |
5 | Up arrow (direct press) | None (direct press) | Move |
6 | Left arrow (direct press) | None (direct press) | Move |
7 | Right arrow (direct press) | None (direct press) | Move |
8 | Down arrow (direct press) | None (direct press) | Move |
Changelog
This is the changelog of version 3 of the firmware
Date | Changes |
---|---|
5 mar 2023 | Initial version of v4 of the firmware, labeled as ‘preview’ |
5 mar 2023 | Added WunderLINQ emulation as keymap #5 |
2 apr 2023 | Added SpeedoX MyRide map as keymap #6 |
12 apr 2023 | Added keymap #7 |
8 May 2023 | Added keymap #8 Added keycombo 1-1-7 to enter config mode Disabled blinking led, introduced keycombo 1-1-8 to display current keymap. Added boot-up led animation |
11 May 2023 | Changed buttons for keymap 1, 3 and 7: button 4 now sends the following keys in sequence: Enter, C, L. This is changed from the sequence: C, Ctrl+L. The L instead of Ctrl+L now focuses Guru maps. Enter was added for Kurviger 3 compatibility |
17 May 2024 | Updated bluetooth library from NimBLE to ESP IDF for compatibility reasons |
14 Oct 2024 | Changed bluetooth library from ESP IDF to NimBLE 1.4.2. |