BreakerBots (FRC 5104) - BreakerLib Announcement Thread

After nearly a year of continuous and painstaking development, the BreakerBots are proud to announce the fruits of our off-season programming labor, BreakerLib. (#breakerlib)

What is BreakerLib?
BreakerLib is a large, Java based, FRC robot programming library that strives to nearly eliminate the repetitive work that programming an FRC robot entails while adding an easy-to-use ecosystem of deeply integrated quality-of-life features. BreakerLib works by reducing often reused robot features (drivetrain code, shooter code, self-test functionality, power management, autonomous, etc.) to little more than apple style “it just works” setup code, letting your team focus on the important code that is unique to that year’s challenge.

What kind of hardware does BreakerLib support?
BreakerLib strives to support as many different components as possible, including full and parodied support for both the SPARK and Talon motor controller ecosystems. Furthermore, devices that are not natively supported by BreakerLib can be easily integrated through BreakerLib’s host of comprehensive hardware interfaces.

How is BreakerLib distributed?
BreakerLib is distributed in its source code format to make both implementation and customization by end users far easier. How many times have you wished you could add to or change something in WPILib to better fit your use case? Furthermore, while BreakerLib strives to support as much different hardware as possible (with support for more being constantly added) we obviously can’t support and test every possible sensor or other component that you may need BreakerLib integration with. Thus, communality changes to our source code are welcome. While the primary GitHub repository for the current stable version of BreakerLib can be found here here, the most recent, experimental version (the one that we use) can be found in our current active development repository, available through our GitHub.

Will BreakerLib Continue to be developed?
Absolutely (Particularly given the literal hundreds of man hours that have gone into this project). On that subject, however, due to some complications regarding access to the 2023 WPILib beta software leading to testing difficulties, the full 2023 BreakerLib release will encounter some unexpected delays. Furthermore, please note that while we will make our best effort to respond to and aid with any issues we can regarding our software. BreakerLib comes with no warranty, express or implied.

Are there examples of this library in use?
Yes, we have two public examples of BreakerLib in action. The first is a differential drive robot built on our 2022 codebase, around our 2022 competition robot Charybdis. The second is in both our 2022 and 2023 codebases and built around our off-season swerve drive test robot. (Links to both provided below).

Links:

  1. BreakerBots GitHub
  2. Stable BreakerLib Repo (GitHub)
  3. 2022 BreakerLib Demo Code (Charybdis, GitHub)
  4. 2022 BreakerLib Swerve Demo Code (GitHub)
  5. 2023 BreakerLib Swerve Demo Code (GitHub)
1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.