Community Projects


Work Together on Exciting Projects!

It's simple: if you can't apply what you've learned, then there's no point in learning it. The content of our courses is rooted in this belief, and the next step towards being able to apply your knowledge is working on bi-weekly projects that can be showcased to the community. Every 2 weeks, our course instructors will develop new, fun-filled projects where you can really put your skills to use. Every project will include a set of requirements, as well as include a list of relevant course chapters for you to reference in case you're stuck. Once you're done, email your project to mission4stem@gmail.com, where the relevant course instructor will review your project, and give you feedback. The top 2 submissions to each community project will be featured right here on this website. Now go get your hands dirty!


Community Project 1: Design a Codebase for PIVOT

Image of Pivot

Meet Pivot, FRC 1923's competition robot from the 2023 season. Your goal will be to design software to fully operate this robot. Here's the quick rundown of what the robot has, and how you will be controlling it:

  • Single-Jointed Arm, powered by 2 motors, one spins opposite to the other.
  • Quad Rollers that intake a cube and "shoot" them into their scoring locations. This is also powered by 2 motors, with one spinning opposite to the other.
  • Ability to score at 3 different levels.
  • Ability to quickly move intake-arm down (to pick up a cube) and up (to score the cube).

Your goal for this project is to design code that would enable you to fully operate the intake in a competition. Here are the requirements:

  • Joystick control to move intake up and down.
  • Button, that, when held, spins intake motors inward. Intaking percent output is 0.85 - feel free to define this as a constant in code.
  • 3 buttons, that, when held, will score the cube on the "high", "middle", or "low" scoring shelves. The percent outputs for these scoring levels are 0.9, 0.5, and 0.2 respectively. Feel free to define these as constants in code.
  • This must be done in a command-based project.
  • CHALLENGE: Instead of controlling the intake by a joystick, have 2 buttons: one that moves it down, and the other that moves it up. Control the intake's motion with PID.

Chapters 3 - 5 are the best resource to help you achieve this. If you're interested in learning more about 2023's game, check out this game reveal here. As an important note: the implementation details of this project are largely left up to you. The details for this project are slightly vague for a reason - try the implementation out for yourself! Even if it isn't as robust as we've taught in videos, the goal is to iterate, not get it perfect on the first try. As always, you're welcome to email mission4stem@gmail.com with any questions (or, even better, work together with your fellow peers). When submitting projects, please include a link to your GitHub repository as opposed to sending over an entire project locally.