Building a testing rig

Forgive me in advance for my limited knowledge. I am solid in the mechanics of our robot builds in the past, but I am still very new to the programming and electrical involved. I want to improve in this so that I can help my students more.
In years past, our programmers have had next to no time with a functional, complete robot. I wanted to give them the ability to test code in a real-world environment with the roboRio, full drive train, full electrical, the works except the robot. Also, I wanted it to be a more modular setup so that we could add pieces we might be customizing for each game. I know other teams have done this before, but I don’t know where to look for examples. Any help would be appreciated.

1 Like

I don’t have pictures, but we zip-tied or velcroed down a full control system to a piece of plywood. It’s enough to make motors spin.

FIRST essentially does the same with the field electronics in their office in Manchester, so their staff can troubleshoot issues being seen at events. And they do the whole thing, down to team number signs and the scoring table stack light.

The level of fidelity (sensors, subbing motors, etc) is down to your budget and gumption, though the more you stray the less useful it is to develop your robot rather than say “here new programmer, get started”.


Our team has done this a few times. The best way that we’ve found is using the kit of parts chassis as the drivetrain. We’ve used it to test lots of code for autonomous, including both vision and path following. You can also easily bolt or clamp mechanisms to it in order for the programming team to figure out. I’d recommend that once you have finished prototyping your mechanism, you mount the prototype to the test bot, while the design/fabrication team builds the final mechanism. This gives your programmers enough time to get the basics of controlling the mechanism and by the time the real one is complete, they just need to make minor code changes.

Thanks! What did you include in your full control system? Radio, roboRio, battery, etc?

I guess what I’m thinking of is more on the basic end, so that a new programmer can load their code and make sure they can make CIM motors spin wheels correctly, or even test out teleop setups for movement. The modular part could be a separate plug-and-play board to test a ball launcher or telescoping arm or something.

I was originally thinking of a separate board, but I do like the idea of a stock chassis, used for movement testing. We can sacrifice an old bot for just the drivetrain.

In the past, we installed a full control system (RoboRio, radio, VRM, PCM, PDP) and one or two motor controllers on a small piece of plywood or polycarb. We powered it with a 12V laptop charger. It all fit in a backpack so the programmers would take it home to test their code. We would connect a small motor so they could see which direction the motors were turning. We also found DC panel meters that could take the place of the motors.


I’m a software mentor on a small team. We have 3 Rios. One is on a plywood board and is called the Charlie bot. One is on a pretty bare bones chassis with a 2x4 frame we call the b-bot. The other is in the production robot.

People can learn and test sensors and motors on the plywood board. Right now a programmer is building the shooter software on the Charlie bot and we have motors and sensors laying on the board. Our b-bot is used for testing driving stuff such as trajectories and vision.

A couple of other options are the simulator, which we used this year to test the software for mecanum before it was built, and the Pololu Remi. You can test a fair bit in the simulator and in unit tests. My Remi arrives next week so we probably won’t use it for training this year.

The key is to have extra parts, and to be flexible. For instance testing the shooter software doesn’t require an actual shooter since we’re more concerned with sequencing. PIDs can be tuned later on the real robot. We started our build season using some old Sparks because we didn’t have enough Talons. A lot of the software stuff can be made “close enough”.

When I say full control system, I mean full control system. All of that, current PDP, game pad to drive from the driver station software, main breaker, SPARK MAXes since we run so many NEO motors now, everything. Our only cut corner was only putting two controllers on there.

I hope in the next couple years we can get that on a drivetrain to live out at another school, but this is step one.

1 Like

We just got our second Rio in FIRST Choice this year, so this is a good opportunity for us to create some training options for new members.

Do you use the ROMI for just movement? How does the RPi simulate the Rio?

Here’s a picture of ours:

And a close-up of it (wire routing folks, avert your eyes!)

Features include:

Small 14A current-limited power supply, to reduce the potential for oopsies.
Auto-off timer plug to prevent us from forgetting to power it down when we leave
Rio, Radio, switch, PDP, PCM, and motor controllers in a “one-of-each” sort of fashion to help test pieces of software.

The goal is not to emulate 100% of the robot, but rather have enough components available that a student could swap a few wires around and get some testing coverage on real hardware.

We’re relying more and more heavily on simulation to do actual functionality checkout - this board is being more and more relegated to testing networking, CAN, and other “physical IO” things.

The mess is somewhat intentional - we want folks to freely play around with it and not have to undo/redo zip ties and spend time worrying about routing. The handful of things that are semi-permanent are tied down. Also forces students to learn to trace wires and check assumptions, rather than relying on known-perfect configurations. Good small-scale prep for doing similar things on a real robot.

I do worry slightly about the safety aspect… but given the lower power PSU, lack of high-power consuming devices, and the fact it’s always got someone watching it while in operation, well… hopefully not too bad. If anything stays hooked up for more than a few days, we usually get the zip ties out to tie it down.

I have a desire to move it to more of a rack-mount system at some point, but I also don’t want to loose the visibility we currently have to it.

Occasionally the electrical team will take it down and rewire it for us as training. Additionally, depending on how many spare components we ended up with, we may take it out of commission during competition to ensure we have spares available.

In an ideal world, I’d want a complete second copy of the robot electronics, with the electrical team keeping the two up to date and in sync, with motor controllers and appropriate loads (ie motors with masses on them) hooked in too. But, that’s expensive and time consuming, and definitely starts to see some diminishing returns in usefulness. Some flavor of “partial board” is probably gonna hit the sweet spot between “effort required” and “value achieved”.

1 Like

The Pi on the Romi passes information between the simulator running on the PC and the control board on the Romi itself. The developer station is the one simulating the Rio.

My intent is to use it to teach command based programming to new programmers, and to explore more vision and trajectory topics (movement) in the off season with the returning ones. I may also put some sensors on it if that helps the cause. This is largely aspirational since we’re a small team that normally doesn’t meet in the off season.

Yep. That’s where we are. Total of 6 students this season. Hoping having some additional resources will build some interest in the team.

Perhaps the easiest way to make this all plug and play is to standardize all your motor connections. We use Powerpole connectors, but you could use something else. A potential way to save money is to use a smaller chassis with the neo mini instead of the full neo. That will still give you CAN ability.

Another option for a control system is the VMX-pi. You will still need a pdp (we have one set up with a boat pdp) and, they are not using the 2021 library yet, but it is a full install of wpilib. It supports CAN both from Rev and CTRE, and it is a solid device. They also sell thier own CAN controlled pdp/ motor controller.
It is not compatible with brushpess motors or tournament legal, but the vmx is.

If you do not care whether your drive base has brushless, you could set up the drive base with neverest motors or the Rev HD. We also purchased a Vex pro drive kit that is just a bit smaller than a typical FRC bot.

TBH, we are getting more mileage out of the Romi than any of the above efforts. However, I think with the Romi, students will now be ready to independently work with the other options.

1 Like

Here’s our testbed rack: Test Beds

There are some pending updates for it, including a new power supply and a Falcon 500, that I’ll install once I can go to the school again.

1 Like

Ours was pretty basic this year. I’m sorry that some unoccupied channels have breakers in them. But you can plug and test different sensors and swap out what you want for motor controllers and motors. I had a color sensor running a window motor at one point. Here I must have been doing something with the offboard VMX-pi.

We have a full control system on a “dev board”. Here’s an old CAD render of the top side. The bottom has a Raspberry PI, a network switch and a 12v-5v converter. These days there are no Talon SRs on the board. The Victor and Talon SRs have been replaced by Spark Maxes.

Programmers use this board standalone for code development and to test motors, switches, sensors, servos, vision, and more.

We can easily mount this board to a test chassis if we want to experiment in a mobile fashion. If we aren’t concerned with using swerve, we can mount it on a kit base.

Here is the dev board on a swerve chassis. Our swerve is powered by NEOs, so the Spark Maxes for that base need to be close to the swerve modules so the dev board doesn’t have all the controllers in that application. This application also has a camera with light rings and tilting mount for vision-based driving development.

Here is the dev board mounted on a kit chassis and being used to test a bunch of wooden prototypes in week 2 of the 2020 season.


This is BOB. Bot on box. We got the idea from Team 5152 - Alotobots. We use it to test components, or a drivetrain. It has the Rio, radio, controllers… anything needed to test. The battery is inside the box.

We also built a pneumatics test board that connects to BOB.

1 Like

Here’s the mess that is our Charlie bot. Everything’s mounted with screws, velcro, or double sided tape because stuff gets swapped out all the time.

And then the B-bot.

Again, “small team”, so we don’t have the parts for anything bigger, or people to spend time making it look neater.

It looks like it is perfectly suitable for accomplishing it’s stated goals without consuming more resources than necessary, which makes it “beautiful” :slight_smile:

1 Like

Thank you all for sharing your builds! We have scavenged a chassis from a couple years ago and are piecing together a board to mount to it. Pretty bare bones, but plenty of space for testing different setups. This should be a huge help in future seasons!