# How We Prototype

## Prototype Bot

This bare-bones robot features a full control board. We can connect prototypes, test new programs, and practice driving.

![Front of Practice Bot](/files/-MScfMML2FMiI5fpuIwZ)

![Back of Practice Bot](/files/-MScfMMNk1e2H9RGM8Tc)

![Front of Control Board](/files/-MScfMMJQ-ydh49m4f31)

![Back of Control Board (with battery)](/files/-MScfMMHpEbxXoX4cqj5)

![Back of Control Board (without battery)](/files/-MScfMMK-tdcIsaQYD0k)

## FRC Motor Testing&#x20;

***...with a PWM Generator***

This setup allows us to run motors by manually creating a PWM signal and sending it to the motor controllers, effectively bypassing the RoboRio.  This way, we don't need to write any code (we don't even need access to a computer) to use motors in our prototypes.

We use Servo Motor testers to create a PWM signal.  (Servo Motors, just like our motor controllers, accept a PWM signal).  You can find them on [Amazon](https://www.amazon.com/HiLetgo-Consistency-Controller-Adjustment-Helicopter/dp/B07TQSKLBK/ref=sr_1_5?dchild=1\&keywords=servo+tester\&qid=1612369180\&sr=8-5).

![](/files/-MScgheONUIsDvXrtuDa)

Use the 5V 500mA output from the VRM to power the servo controller.  The output of the servo controller connects to the motor controller's PWM input. &#x20;

We've gotten this to work well with with Victor SP and Victor SPX (the CAN wire on the Victor SPX works as a PWM input - green is ground, yellow is your signal).  This will probably also work with SparkMAX controllers, but you have to connect the SparkMAX to a computer and use the SparkMAX software to set it to PWM mode.

![PWM Generator Hooked Up To Motor Controller](/files/-MScfMMD1O27NwHF3z7n)

![Demo of Manual Speed Controller - Vary Speed and Direction](/files/-MScw8SkHJRyYgQZp4Ex)

As an alternative, the [AndyMark ThriftyThrottle](https://www.andymark.com/products/thrifty-throttle-3) does the same thing.  It is powered by a 9V battery instead of a VRM or another power supply.

## Pneumatics

We use this pneumatics module to test ideas and learn about how an FRC pneumatics system works.

![](/files/-MYAmpfXRMub5XO9sKOR)

![](/files/-MYAmx28GAJcbiSgrtNx)

## Spectrum Protopipe

We enjoy using Spectrum Protopipe to quickly build and test ideas.  Huge thanks to Team 3847 for creating a prototyping system that's inexpensive and easy to use, and for sharing it with the FRC community. &#x20;

{% embed url="<http://blog.spectrum3847.org/2018/12/protopipe-rapid-prototyping-system.html>" %}

Check out our [Frisbee launching prototypes](/engineering/2021/frisbee-shooters.md).

## HYPEBlocks

Created by Team 5254, these 3D printed blocks clamp on 1x1 or 1x2 tube (or 80/20 extrusions).  Great for prototyping.  For example, easily adjust the position of a shaft or motor by sliding it along the tube.  Check out their [examples in Onshape.](https://cad.onshape.com/documents/2557e44d96f97cb04d7652fb/w/458621eecc0d2f02d44ddf2b/e/35819b427f10964104020a32)

{% embed url="<https://www.chiefdelphi.com/t/team-5254-3d-printed-prototyping-resources/335599>" %}

#### HYPEBlocks, Pirate Style

We use modified HYPEBlocks to mount motors or bearings.  Attach one to an 80/20 extrusion or clamp a pair together over any 1"x1" square tube (using #10-32 SHCS & nuts). Mounting holes work for VersaPlanetary Gearboxes, CIM, NEO, and Falcon 500 motors. &#x20;

Examples: [2021 Ball Shooter prototypes](/engineering/2021/ball-shooter.md#cad-double-flywheel)

Access the [Onshape document](https://cad.onshape.com/documents/4b503f2cf556e7f17eb1ee28/w/a6c84618902832c52ce384c6/e/32007fce97f9a11c04cd1112).  Dimensions are optimized for printing on a Makerbot Replicator Mini+.

![HYPEBlocks - Pirate Style](/files/-MUiXHkqFZix4OsI5udD)

## MakeDo

[MakeDo](https://www.make.do/collections/new) is a convenient system of tools & screws to easily work with cardboard.  A nice way to build fast and communicate ideas.

Plus, you can 3D print parts that are compatible with MakeDo:

* [Angle Bracket](https://www.thingiverse.com/thing:955809)
* [Hinge](https://www.thingiverse.com/thing:1034229)
* [Fastners](https://www.thingiverse.com/thing:4701777)
* [Screwdriver](https://www.thingiverse.com/thing:3163706)
* [Mini Tool](https://www.thingiverse.com/thing:974158) for Scru
* [Drill Bit ](https://www.thingiverse.com/thing:2922340)for Scru

## 3D Printed Parts

Helpful to have on hand:

* Hex Shaft Collars (one-piece, clamping, no hardware required): <https://www.chiefdelphi.com/t/print-in-place-hex-shaft-collar/387582>
* Hex Shaft Collars (two-piece, balanced, tighten with 1/4-20 SHCS): <https://www.thingiverse.com/thing:4212663>
* Snap-on spacers for 1/2" hex shaft:  <https://www.thingiverse.com/thing:3334138>
* Printable GT2 Pulleys: <https://www.thingiverse.com/thing:3333938>
* Microsoft LifeCam HD-3000 Webcam Mount: <https://www.thingiverse.com/thing:1494829>
* RoboRio Pin Protectors: <https://www.thingiverse.com/thing:2023873>

## Inspiration

Check out these great prototypes that we can learn from.

***"You don't have to prototype everything...just whatever you want to work."***

{% embed url="<https://youtu.be/RpSgUrsghv4>" %}

{% embed url="<https://youtu.be/mdX2RtrT2x0>" %}

{% embed url="<https://youtu.be/f358bhIBhfI>" %}

{% embed url="<https://youtu.be/z8VLMvZMZcU>" %}

{% embed url="<https://youtu.be/8FhW5FBPjJ4>" %}

{% embed url="<https://youtu.be/AQPrpktG6SQ>" %}

{% embed url="<https://youtu.be/yz6BrCiXr4k>" %}

{% embed url="<https://youtu.be/g_rOayRohvw>" %}

Check out the prototypes in the first 30 seconds of this Team 254 recap video:

{% embed url="<https://youtu.be/bHiwHnxH7F4>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wcrobotics.org/training/prototyping.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
