aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 5724574e87807a49f0a06dbb06bb870777872519 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# HOVER:BIT Bluetooth Controller software
This is software for controlling the HOVER:BIT kit with a progressive web app.

The web app lives in the [controller](https://github.com/JakobST1n/hoverbit-ble/tree/controller) branch, it uses the [micro:bit Web Bluetooth](https://github.com/thegecko/microbit-web-bluetooth) library.

## Usage
### Flashing the micro:bit
Get the last [hex file](https://github.com/JakobST1n/hoverbit-ble/releases/) for the Releases, and flash your micro:bit with this file. 
To do this, plug the micro:bit into your computer. The micro:bit will then appear as a removable flash drive, then simply copy (drag-drop)
the hex-file into the flash-drive folder.

### Controlling the hover:bit
Navigate to [the progressive web app](https://jakobst1n.github.io/hoverbit-ble/) on a phone, and press connect.
Press `arm` when you are connected, then you can use the throttle on the right, and rudder on the bottom to controll
the hover:bit.

## Compiling the hex-file yourself
Clone or fork this repo locally, and navigate to that folder in your terminal of choice. At this point you have two choises:
### Docker image
I have been using the docker image provided by [Lancaster university](https://github.com/lancaster-university/microbit-v2-samples/blob/master/Dockerfile), because it is rather convenient and a lot less work to get up and running. Just build the container, and run it with a volume as a bind-mount to the code-directory.
```sh
# Build the image on your machine
docker build -t microbit-tools .
# Build the hex-file
docker run -v $(pwd):/app --rm microbit-tools
```
### Manually
[Refer to this repo's readme](https://github.com/lancaster-university/microbit-v2-samples). This is in theory not hard, but if you like me have a lot of toolchains for compiling to other architectures already installed, it could be a bit of work to make function properly.

## Known issues
- [ ] No multitouch support on webapp yet, this makes it difficult to use it, to make it a bit easier you can enable `Sticky controls`. (Current plan is to use [nipplejs](https://yoannmoi.net/nipplejs/) as joysticks)
- [ ] Things often stop working if you have been connected, drop the connection and then reconnect. I don't know exacly why, to circumvent this you can restart the webapp, and boot the micro:bit.
- [ ] There is no failsafe-mode currently, this should be implemented according to the spektsat protocol.

## Credits
- Current icon [made by strip](https://www.flaticon.com/authors/srip) from [Flaticon](https://www.flaticon.com/)