{"id":26181516,"url":"https://github.com/nvsukhanov/moc-commander","last_synced_at":"2025-04-14T22:44:32.907Z","repository":{"id":153843648,"uuid":"600472656","full_name":"nvsukhanov/MOC-Commander","owner":"nvsukhanov","description":"An open-source PWA for controlling LEGO® Powered UP devices","archived":false,"fork":false,"pushed_at":"2024-11-21T00:15:28.000Z","size":7538,"stargazers_count":6,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T10:54:01.793Z","etag":null,"topics":["angular","bluetooth","gamepad","lego","lego-powered-up","poweredup","remote-control","technic","typescript"],"latest_commit_sha":null,"homepage":"https://moc-commander.com/","language":"TypeScript","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/nvsukhanov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-02-11T15:51:56.000Z","updated_at":"2025-03-09T20:50:38.000Z","dependencies_parsed_at":"2024-05-02T10:07:59.117Z","dependency_job_id":"fd11d63d-fe51-4361-bd63-6db75217264f","html_url":"https://github.com/nvsukhanov/MOC-Commander","commit_stats":null,"previous_names":["nvsukhanov/ngpoweredup","nvsukhanov/webpoweredup","nvsukhanov/moc-commander"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvsukhanov%2FMOC-Commander","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvsukhanov%2FMOC-Commander/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvsukhanov%2FMOC-Commander/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvsukhanov%2FMOC-Commander/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nvsukhanov","download_url":"https://codeload.github.com/nvsukhanov/MOC-Commander/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975291,"owners_count":21192198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["angular","bluetooth","gamepad","lego","lego-powered-up","poweredup","remote-control","technic","typescript"],"created_at":"2025-03-11T21:59:48.126Z","updated_at":"2025-04-14T22:44:32.898Z","avatar_url":"https://github.com/nvsukhanov.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/nvsukhanov/MOC-Commander/main/src/assets/favicon.svg\" width=\"24\" height=\"24\"/\u003e\nMOC Commander: PWA for controlling LEGO® Powered Up devices\n\u003c/h1\u003e\n\n\u003cimg src=\"https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/header.png?raw=True\"/\u003e\n\n[![GitHub license](https://img.shields.io/github/license/nvsukhanov/MOC-Commander)](https://github.com/nvsukhanov/MOC-Commander/blob/main/LICENSE.md)\n[![CI Status](https://github.com/nvsukhanov/MOC-Commander/actions/workflows/ci.yml/badge.svg)](https://github.com/nvsukhanov/MOC-Commander/actions)\n![GitHub release](https://img.shields.io/github/v/release/nvsukhanov/MOC-Commander)\n\nAn open-source Progressive Web Application for controlling LEGO® Powered Up devices with physical controllers.\n\nDeployment of the latest stable version is available at [https://moc-commander.com](https://moc-commander.com)\n\nStaging version can be found at [https://main.moc-commander.pages.dev](https://main.moc-commander.pages.dev).\n\n\u003cimg src=\"https://github.com/nvsukhanov/nvsukhanov.github.io/blob/main/moc-commander/sd-tracks.gif?raw=True\"/\u003e\n\n## Features\n\n### Input\n\n- Supported input devices:\n  - Keyboard\n  - Up to 4 gamepads\n  - [LEGO 88010 Remote Control](https://www.lego.com/en-us/product/remote-control-88010)\n  - PoweredUP Hub green button\n  - Steam Deck ([installation manual](https://moc-commander.com/steam-deck))\n- Any number of input devices can be used to control any number of outputs\n- Input devices can be configured: gamepad axes active zones, input gain (liner/log/exp) etc\n\n### Output\n\n- Supports [LEGO Powered Up](https://www.lego.com/en-us/themes/powered-up/about) hubs (compliant\n  with [LEGO Wireless Protocol v3.0.00](https://lego.github.io/lego-ble-wireless-protocol-docs/index.html))\n- Utilizes dynamic IO capabilities discovery to determine supported IO operations by the device.\n- Supports connection to multiple hubs simultaneously\n\n### Operation Modes\n\n- Supports the following device operation modes:\n  - Speed\n  - Set angle\n  - Servo w/ auto-calibration on start\n  - Stepper\n  - Train\n  - Gearbox\n- Allows fine-tuning of operation mode parameters such as speed limits, power output, angle limits, etc.\n- Supports acceleration and deceleration profiles (slow start and slow stop, especially useful for trains)\n- Allows reading and adjusting of motor position during the configuration of control schemes\n\n### Misc\n\n- Supports reading of sensor data (voltage, pitch, yaw, etc) and displaying it during operation\n- Import/export of control schemes\n- Backup/restore application state\n- Supports small screen devices\n- Supports dark theme\n- Installable as a PWA\n\n### Supported platforms\n\n- Windows\n- macOS\n- Linux\n- Android\n\n## Limitations\n\n- Due to the nature of the [Web Bluetooth API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API) used\n  for hub connections, the application is compatible only with the latest versions of Chrome and Chromium-based\n  browsers (Edge, Opera, Brave, etc). Check [here](https://caniuse.com/web-bluetooth) for the full list of supported\n  browsers.\n- iOS devices are not supported due to the lack of support for the Web Bluetooth API.\n\n## Disclaimer\n\nLEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this application.\n\n## Screenshots\n\n|                                                                                                                                            |                                                                                                                               |                                                                                                                                                |\n| ------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |\n| Running control scheme                                                                                                                     | Gamepad settings                                                                                                              | Hubs list                                                                                                                                      |\n| ![Running control scheme](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/cs-run-sensors.png?raw=True)           | ![Gamepad settings](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/gamepad-full.png?raw=True)      | ![Hubs list](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/hubs-full.png?raw=True)                                 |\n| Hub view                                                                                                                                   | Control scheme view                                                                                                           | Control scheme view (dark theme)                                                                                                               |\n| ![Hub view](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/hub-full.png?raw=True)                               | ![Control scheme view (full)](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/cs-full.png?raw=True) | ![Control scheme view (full, dark theme)](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/cs-dark-full.png?raw=True) |\n| Control scheme export (dark theme)                                                                                                         | Control scheme edit                                                                                                           | Controllers list                                                                                                                               |\n| ![Control scheme view small screen](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/cs-export-dark.png?raw=True) | ![Control scheme edit](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/cs-edit-full.png?raw=True)   | ![Controllers list](https://raw.github.com/nvsukhanov/nvsukhanov.github.io/main/moc-commander/controllers-full.png?raw=True)                   |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvsukhanov%2Fmoc-commander","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnvsukhanov%2Fmoc-commander","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvsukhanov%2Fmoc-commander/lists"}