Skip to content
/ ExcaLib Public template

A comprehensive WpilibJ library for FRC teams, offering pre-built mechanisms, custom swerve drive implementations, and advanced control systems to accelerate your robot development.

Notifications You must be signed in to change notification settings

ExcaliburFRC/ExcaLib

Repository files navigation

ExcaLib Cover

A comprehensive WPILibJ-based Java library built for FRC teams. Excalib provides pre-built mechanisms, custom swerve drive implementations, and advanced control tools to accelerate your robot development and allow you to focus on strategy and creativity.


🚀 What is This Repository?

This repository contains the source code and releases for ExcaLib, a Java-based library built on top of WPILib to streamline robot development for FRC teams.

ExcaLib is designed to:

  • Accelerate development with prebuilt, plug-and-play mechanisms
  • Enable teams to focus on robot behavior and strategy, not boilerplate
  • Encourage best practices in code structure, testing, and reusability
  • Provide high-level control abstractions (PID, motion profiling, trapezoids, feedforward, state-space, and more)
  • Seamlessly integrate with WPILib's command-based architecture

📚 Documentation

📖 Full docs are available at:
excalib.excaliburfrc.com/docs

Note

ExcaLib is designed to complement WPILib, not replace it. We recommend familiarizing yourself with WPILib concepts before diving into ExcaLib to better understand the foundations.


🔧 Features

  • ✨ Custom Swerve DriveBase & Kinematics
  • 🔁 Reusable Mechanism Templates
  • 🎯 Control Systems (PID, Motion Profiling, Trapezoid Profiles, etc.)
  • 🧠 Utilities for SmartDashboard, Command-based structures, and telemetry
  • 🔌 Easily pluggable into WPILib Command-based Robot structure

📦 Installation

Adding ExcaLib to Your Project

ExcaLib is available as a WPILib vendor dependency. To install:

  1. Open your robot project in your code editor.
  2. Open the WPILib Command Palette (Ctrl+Shift+P or click the WPILib icon)
  3. Select Manage Vendor Libraries
  4. Select Install new libraries (online)
  5. Paste the following JSON URL when prompted:
https://raw.githubusercontent.com/ExcaliburFRC/ExcaLib/pre-release/ExcaLib.json

Important

For further guidance, refer to the WPILib Vendor Library Docs.

You MUST install the Monologue library alongside ExcaLib.
Monologue enables annotation-based telemetry and logging, which is used extensively throughout ExcaLib.


📬 Contact & Support

Need help? Reach us via:


🙏 Thanks for using ExcaLib, don't forget to give us a ⭐

The README provided by @I-No-oNe

About

A comprehensive WpilibJ library for FRC teams, offering pre-built mechanisms, custom swerve drive implementations, and advanced control systems to accelerate your robot development.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages