diff --git a/.idea/gyrogpsc.iml b/.idea/gyrogpsc.iml
new file mode 100644
index 0000000..6cf7b35
--- /dev/null
+++ b/.idea/gyrogpsc.iml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..642c675
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml
new file mode 100644
index 0000000..6d58e5d
--- /dev/null
+++ b/.idea/jsLibraryMappings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..a52c3a2
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..ac4ad06
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..4705fbd
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1604516509922
+
+
+ 1604516509922
+
+
+ 1604747925521
+
+
+
+ 1604747925521
+
+
+ 1604747940729
+
+
+
+ 1604747940729
+
+
+ 1604768327573
+
+
+
+ 1604768327573
+
+
+ 1604777752387
+
+
+
+ 1604777752387
+
+
+ 1605444355479
+
+
+
+ 1605444355479
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ex_websocketMessage.json b/ex_websocketMessage.json
new file mode 100644
index 0000000..5245410
--- /dev/null
+++ b/ex_websocketMessage.json
@@ -0,0 +1,9 @@
+{
+ "timestamp": 2938502375,
+ "position": [490663054, 91358016],
+ "altitude": 221,
+ "altitude_msl": 221,
+ "accuracy": [16.2, 20.3],
+ "speed": [13, 9]
+
+}
\ No newline at end of file
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..55adb8b
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,12 @@
+module git.timovolkmann.de/gyrogpsc
+
+go 1.15
+
+require (
+ github.com/daedaleanai/ublox v0.0.0-20201103121443-9befa131d32d
+ github.com/gorilla/websocket v1.4.2
+ github.com/sparkfun/SparkFun_Ublox_Arduino_Library v1.8.7 // indirect
+ github.com/tidwall/pretty v1.0.2
+ go.bug.st/serial v1.1.1
+ golang.org/x/sys v0.0.0-20201107080550-4d91cf3a1aaf // indirect
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..6be5812
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,26 @@
+github.com/creack/goselect v0.1.1 h1:tiSSgKE1eJtxs1h/VgGQWuXUP0YS4CDIFMp6vaI1ls0=
+github.com/creack/goselect v0.1.1/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY=
+github.com/daedaleanai/ublox v0.0.0-20201103121443-9befa131d32d h1:WbFmX8L79E02PgDJYWINhWvceaMGUzgmrwdE5CuUBBk=
+github.com/daedaleanai/ublox v0.0.0-20201103121443-9befa131d32d/go.mod h1:pfcwlN8XUYXVYAkPU2LrFZnXIS4EvpZaXh+qRKCN9Sg=
+github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
+github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/sparkfun/SparkFun_Ublox_Arduino_Library v1.8.7 h1:T112CHmp+v1bh0W7sp49tZe8SUbw3viSGRTVLziZxfc=
+github.com/sparkfun/SparkFun_Ublox_Arduino_Library v1.8.7/go.mod h1:FVoZAzJFrR5D6P8qd2rgpJAV/qF5oODtIT9YjVV+xzY=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/tidwall/pretty v1.0.2 h1:Z7S3cePv9Jwm1KwS0513MRaoUe3S01WPbLNV40pwWZU=
+github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
+go.bug.st/serial v1.1.1 h1:5J1DpaIaSIruBi7jVnKXnhRS+YQ9+2PLJMtIZKoIgnc=
+go.bug.st/serial v1.1.1/go.mod h1:VmYBeyJWp5BnJ0tw2NUJHZdJTGl2ecBGABHlzRK1knY=
+golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201107080550-4d91cf3a1aaf h1:kt3wY1Lu5MJAnKTfoMR52Cu4gwvna4VTzNOiT8tY73s=
+golang.org/x/sys v0.0.0-20201107080550-4d91cf3a1aaf/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/hyperimu.json b/hyperimu.json
new file mode 100644
index 0000000..e362639
--- /dev/null
+++ b/hyperimu.json
@@ -0,0 +1,65 @@
+{
+ "os": "hyperimu",
+ "pocket": [0, 0, 0],
+ "tmd3702_rgb rgb sensor": [3542, 344, 161],
+ "sns_tilt": [0, 0, 0],
+ "pickup": [0, 1, 0],
+ "game rotation vector": [
+ 0.015651894733309746,
+ 0.008504520170390606,
+ 0.7119147181510925
+ ],
+ "lsm6ds3c accelerometer-uncalibrated": [
+ 0.0958355963230133,
+ 0.33526939153671265,
+ 9.70869255065918
+ ],
+ "lsm6ds3c accelerometer": [
+ 0.0958355963230133,
+ 0.33526939153671265,
+ 9.70869255065918
+ ],
+ "sns_smd": [0, 0, 0],
+ "motion_detect_": [0, 0, 0],
+ "pedometer": [0, 0, 0],
+ "sns_geomag_rv": [
+ 0.011661887168884277,
+ -0.01352102030068636,
+ -0.5377604365348816
+ ],
+ "stationary_detect_": [0, 0, 0],
+ "op_motion_detect": [0, 0, 0],
+ "orientation": [71.09732055664062, -1.9538215398788452, 0.5922810435295105],
+ "dpc": [0, 0, 0],
+ "ak0991x magnetometer-uncalibrated": [
+ 56.32729721069336,
+ -55.112823486328125,
+ -213.12313842773438
+ ],
+ "ak0991x magnetometer": [
+ -11.573108673095703,
+ 6.1475372314453125,
+ -25.809066772460938
+ ],
+ "gravity": [0.10144591331481934, 0.3342645764350891, 9.800426483154297],
+ "rotation vector": [
+ 0.01086709089577198,
+ -0.014117014594376087,
+ -0.581230103969574
+ ],
+ "sx9324_sar": [0, 0, 0],
+ "linear_acceleration_": [0, 0, 0],
+ "tmd3702_light ambient light sensor": [11, 0, 0],
+ "lsm6ds3c gyroscope": [
+ -7.216770900413394E-4,
+ 4.0413951501250267E-4,
+ -1.3968441635370255E-5
+ ],
+ "device_orient": [0, 0, 0],
+ "lsm6ds3c gyroscope-uncalibrated": [
+ -0.0023666713386774063,
+ 0.0014509651809930801,
+ -0.005396670661866665
+ ],
+ "tmd3702_proximity proximity sensor": [5, 0, 0]
+}
diff --git a/index.html b/index.html
index 5e5050e..fa99f9b 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,10 @@
+