Go to file
Chelsea e00af239f6 Update Readme.md 2023-11-03 10:33:53 +00:00
.yarn/releases first commit 2023-04-26 09:44:22 -07:00
cli first commit 2023-04-26 09:44:22 -07:00
common Add acceptPintXBMS & spoofAsPintX 2023-11-03 08:47:54 +00:00
docs first commit 2023-04-26 09:44:22 -07:00
locales Update common.yaml 2023-05-12 09:12:34 -07:00
re-resources first commit 2023-04-26 09:44:22 -07:00
web files 2023-08-17 17:23:38 -07:00
.eslintignore first commit 2023-04-26 09:44:22 -07:00
.eslintrc.json first commit 2023-04-26 09:44:22 -07:00
.gitignore Add Yarn recommended ignores 2023-09-11 16:28:42 +10:00
.prettierignore first commit 2023-04-26 09:44:22 -07:00
.prettierrc first commit 2023-04-26 09:44:22 -07:00
.yarnrc.yml first commit 2023-04-26 09:44:22 -07:00
License.md first commit 2023-04-26 09:44:22 -07:00
Readme.md Update Readme.md 2023-11-03 10:33:53 +00:00
package.json Update package.json 2023-05-01 01:08:01 -07:00
yarn.lock first commit 2023-04-26 09:44:22 -07:00

Readme.md

Rewheel

In my ongoing quest to empower the community and champion the principles of transparency and the right to repair, I've set up a git clone of an app called "Rewheel." Rewheel is designed to allow modifications to the Onewheel firmware, providing riders with the opportunity to customize their riding experience further.

My intention behind cloning the repository and making it accessible is to foster collaborative development. By providing free (as in freedom) access to the repository, I aim to encourage enthusiasts, developers, and tinkerers to contribute their insights, enhancements, and innovations. The idea is to create a space where the collective wisdom of the community can come together to improve and evolve the software.

I believe that by opening up the doors to collaborative development, we can ensure that the software continuously improves and adapts to meet the diverse needs of Onewheel riders. It's about ensuring that the tools we use are shaped by the community they serve, thereby staying true to the principles of openness and freedom.

I'm excited to see how the community can come together to contribute to the development of Rewheel and explore the potential customizations and enhancements that can elevate the Onewheel riding experience for everyone.

  • Chelsea, of Float FreeMedia

Firmware modification tools for the Onewheel Pint, Pint X, XR and GT. Part of the R2Row ('Arturo') project.

Cloned / Available from

Hosted version available from:

Note: The documentation below is for developers. If you just want to re-calibrate your board or patch some firmware, please use one of the addresses above.

Requirements

  • Node.js
  • Yarn 2+ (yarn set version stable if you have an Yarn 1.x)

Installation

  • Run yarn to install all dependencies from the root directory

Parts

  • @rewheel/common - common library that contains all of the patches + common tooling
  • @rewheel/cli - command line interface for patching firmware
  • @rewheel/web - website for patching firmware + flashing to a device

CLI

# usage
yarn patcher -i [input file] -o [output file] [...patches] --[patch-arg]

# example
yarn patcher -i firmware/dump/5046.bin -o 5046-patched.bin setAngleOffset --angleOfset 5

Website

  • Run yarn web:dev
  • Open your browser and navigate to http://localhost:5173

Firmware Operations

Dumping Firmware

  • Firmware is not provided for copyright reasons. Instructions for dumping your Onewheel firmware are provided here. Warning: it's not for the faint of heart.

Flashing Firmware

  • Instructions to flash your Onewheel are located here. Thankfully, this is significantly easier than dumping the firmware to begin with.

Generate Checksum for Firmware

# npm
npm run checksum -- -i [input file]

# or

# yarn
yarn checksum -i [input file]

The patcher uses the checksum of the firmware to set the offsets of each firmware patch.

If your firmware doesn't match a known checksum, open an issue for it. That way, we can find the offsets for that firmware revision and support more firmware.

Disclaimer

  • Firmware dumping uses a slightly different process on the GT because it uses a different processor. Documentation is not available just yet.
  • This project is not affiliated with or endorsed by Future Motion. Proceed at your own risk - this will void your warranty.

Contributing

If you're able to dump the firmware from a Onewheel that you own, you can use Ghidra to dive into the assembly and even live debug against a working Pint, Pint X, or XR. This can aid in finding more patches for the firmware.

Contributors / Thanks

  • lolwheel - patch development, first verifying the exploit from the research paper, Owie
  • beeradmoore - OWCE source / documentation on BLE services
  • exPHAT - colaboration on the OTA firmware stub
  • tire_sire - providing the initial boards to test on
  • sdmods - Updated un-bricking instructions
  • ZeeWorden Design - Rewheel logo
  • ffmwheel - rehosting the original repository

Original Sponsors

Thanks to these incredible sponsors for helping rewheel in the past!

David JohnsonboeserJon Xuereb

Sponsorship

You can sponsor by assisting the future development of this project. Financial sponsorship will be rejected.