{"id":18118465,"url":"https://github.com/platypii/mohawk","last_synced_at":"2026-01-23T11:45:12.717Z","repository":{"id":146901162,"uuid":"278506775","full_name":"platypii/Mohawk","owner":"platypii","description":"Helmet mounted wireless GPS for wingsuit, skydive, and BASE jumping","archived":false,"fork":false,"pushed_at":"2023-09-04T00:38:56.000Z","size":425,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T23:44:49.510Z","etag":null,"topics":["arduino","esp32","gps","helmet","jscad","platformio","wingsuit"],"latest_commit_sha":null,"homepage":"https://baseline.ws/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/platypii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-10T01:13:58.000Z","updated_at":"2024-12-20T07:26:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1908c4c-f30d-4358-805c-5d9e653a8c1e","html_url":"https://github.com/platypii/Mohawk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/platypii/Mohawk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platypii%2FMohawk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platypii%2FMohawk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platypii%2FMohawk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platypii%2FMohawk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/platypii","download_url":"https://codeload.github.com/platypii/Mohawk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platypii%2FMohawk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28690604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T11:01:27.039Z","status":"ssl_error","status_checked_at":"2026-01-23T11:00:26.909Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","esp32","gps","helmet","jscad","platformio","wingsuit"],"created_at":"2024-11-01T05:11:35.115Z","updated_at":"2026-01-23T11:45:12.703Z","avatar_url":"https://github.com/platypii.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BASEline Mohawk GPS\n\n[![workflow status](https://github.com/platypii/Mohawk/actions/workflows/ci.yml/badge.svg)](https://github.com/platypii/Mohawk/actions)\n[![mit license](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\nMohawk is a helmet mounted wireless GPS for wingsuit, skydive, and BASE jumping.\nThe key advantages are:\n\n - Wireless data streaming to BASEline app\n - Aerodynamic shape conforms to most helmets\n\nMohawk is open source, designed for makers.\nUsing cheap components, soldering, and a 3D printer, you can make your own Mohawk GPS.\n\n![Mohawk GPS on a skydiving helmet](helmet.jpg)\n\n## Components\n\n - TinyPICO ESP32 microcontroller $30\n - Beitian BN-180 GPS $20\n - 3.7V 200mAh LiPo battery 502025 $8\n - Slide switch\n - LED status light\n - 3D printed case\n - M3 screw\n\n## Wiring\n\n```\n    +-------+\n    |23  BAT|-------+\n    |19  GND|       |\n    |18   5V|       |\n    |5    3V|-----+ |\n    |22    4|     | o\nLED-|21   14|     |  \\\n+---|32   15|     | o\n| +-|33   27|     | |\n| | |RST  26|     | |\n| | |GND  25|     | |\n| | +-------+     | |\n| |               | |\n| +-------------+ | |\n+-------------+ | | |\n              | | | |\n    +-------+ | | | |\n    |GPS    |-+ | | |\n    |       |---+ | |\n    |      +|-----+ |\n    |      -|--o    |\n    +-------+       |\n                    |\n    +-------+       |\n    |Batt   |       |\n    |      -|--o    |\n    |      +|-------+\n    |       |\n    +-------+\n```\n\n## Assembly\n\nConnect the components according to the above schematic.\nUse thin-guage wire of the appropriate length.\n\n![Mohawk GPS assembly](assembly.jpg)\n\n## Firmware\n\nMohawk firmware runs on small ESP32 dev boards, using the arduino framework.\nThese are cheap but powerful microcontrollers. PlatformIO is used to manage the software.\n\n### Program the device\n\nInstall Visual Studio Code and PlatformIO.\nIn VSCode, open the `arduino` directory of this repository.\nConnect the ESP32 to the computer by USB.\nUse the PlatformIO \"Upload\" function to program the device.\n\n## Mohawk Protocol\n\nMohawk GPS sends location data via Bluetooth Low Energy (LE).\nThe protocol is a custom protocol designed to compress information to as little data as possible.\nThe goal is to minimize the time broadcasting on the bluetooth radio.\nThis helps reduce interfere with GPS, and saves battery power.\n\nMohawk location message fields:\n\n| field | size | description |\n| --- | --- | --- |\n| msg_type | 1 byte | 'L' |\n| time | 3 bytes | three least significant bytes of tenths since epoch |\n| latitude | 4 byte int | microdegrees |\n| longitude | 4 byte int | microdegrees |\n| altitude | 2 byte short | decimeters above -100m MSL |\n| vN | 2 byte short | velocity north cm/s |\n| vE | 2 byte short | velocity east cm/s |\n| climb | 2 byte short | climbrate cm/s |\n\nThe 2 byte fields `altitude`, `vN`, `vE`, and `climb` represent `NaN` as maximum short value `0x7fff`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplatypii%2Fmohawk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplatypii%2Fmohawk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplatypii%2Fmohawk/lists"}