https://github.com/nvsukhanov/rxpoweredup
RxJS-based TypeScript library for controlling LEGO Powered UP devices
https://github.com/nvsukhanov/rxpoweredup
bluetooth browser lego lego-powered-up nodejs poweredup rxjs technic typescript
Last synced: 9 months ago
JSON representation
RxJS-based TypeScript library for controlling LEGO Powered UP devices
- Host: GitHub
- URL: https://github.com/nvsukhanov/rxpoweredup
- Owner: nvsukhanov
- License: mit
- Created: 2023-05-05T20:45:57.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-29T12:01:47.000Z (about 1 year ago)
- Last Synced: 2025-09-21T23:46:35.784Z (9 months ago)
- Topics: bluetooth, browser, lego, lego-powered-up, nodejs, poweredup, rxjs, technic, typescript
- Language: TypeScript
- Homepage:
- Size: 1.93 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rxPoweredUp
[](https://github.com/nvsukhanov/rxpoweredup/blob/main/LICENSE)
[](https://github.com/nvsukhanov/rxpoweredup/actions)
[](https://www.npmjs.com/package/rxpoweredup)
This is a Nx monorepo for rxPoweredUp packages.
## Packages
- [rxPoweredUp](https://github.com/nvsukhanov/rxPoweredUp/tree/main/lib/rxpoweredup) - A Typescript RxJS-based library for controlling LEGO Powered UP hubs & peripherals.
- [toolbox](https://github.com/nvsukhanov/rxPoweredUp/tree/main/apps/toolbox) - A web-based toolbox for probing hub & peripheral capabilities, testing rxPoweredUp library and reverse-engineering LEGO Powered UP protocol. Live demo can be found [here](https://rxpoweredup.pages.dev/).
- [examples](https://github.com/nvsukhanov/rxPoweredUp/tree/main/apps/examples) - Examples of using rxPoweredUp library in Node.js and browser environments.
## Installation
Clone the repository and run the following command in the root folder:
```bash
npm install
```
## Toolbox
To run the toolbox app, execute the following command in the root folder:
```bash
npm run start:toolbox
```
Then open `http://localhost:4200` in the browser.
## Browser examples
Browser examples can be run by opening the corresponding HTML files in the browser. Examples are located in the `apps/examples/browser` folder.
## Node.js examples
To compile Node.js examples, execute
```bash
npm run build:node-examples
```
Compiled examples will be placed in the `dist/node-examples` folder and can be run using `node` command, e.g.:
```bash
node dist/node-examples/motor-speed.mjs
```
## Disclaimer
LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this application.