Introducing MDFbot

Team 967, Iron Lions, introduces MDFbot, a very inexpensive robot:

This robot is intended for training new team members and for use in summer camps.

  • MDF chassis costs less than $20
  • Borrows FRC components that we (and many other teams) already have in the shop
  • Uses 3D printed pulleys and gear covers for cheap power transmission
  • Manipulator shape inspired by Vex Clawbot
  • 24”x24” base
  • Fused wires take the place of a power distribution board
  • Controller is a $5 ESP32 on a custom board
  • Controlled by a $15 bluetooth PS3 gamepad
  • No driver station

MDF Chassis

The MDF frame can be cut on a CNC router from one third of a 48” x 96” x 1/2” MDF sheet. We cut the parts for the pictured frame in about an hour.

MDFbot’s basic chassis is assembled as follows:

  1. Rectangular registration tabs and holes keep the frame together initially with no fasteners
  2. End holes are drilled into frame during assembly using the holes on the mating parts as guides
  3. 3D printed nut holder inserts with standard hex nuts are inserted into the odd shaped holes and frame members are fastened together with ¼-20x1.5” hex bolts and flat washers
  4. ¼” wooden dowels are inserted into the remaining holes for additional rigidity and alignment

The plastic inserts act as washers to spread out the force from the nuts against the MDF. They are asymmetrical to prevent them from being installed backwards.

A coat of lacquer or paint prior to assembly helps the MDF resist grease stains.

Pool noodle bumpers can be easily attached to the front and back using loops of duct tape or zip ties.

The cost to build this frame is under $20. We find it to be surprisingly rigid and satisfying to assemble.


The gearboxes are single stage, one CIM motor boxes, similar to AndyMark ToughBox Micro. This version uses 50T, ½” hex gears that we had on hand, but the design can be adapted for similar gears that a team happens to have. Gear enclosures are 3D printed.

We are happy with an overall gear ratio of 10.9:1 to keep the robot slow and easy to control. We use 50:10 gearing in the single stage gearbox and a 48:22 pulley reduction. The pulleys are similar to AndyMark’s 42T plastic pulleys, but these are printed as one piece. They attach to AndyMark 4” HiGrip wheels or other wheels with the 1.875” hole pattern, such as Vex VersaWheel.

The wheels use ⅜” bolts as dead axles, just like the AndyMark AM14U kit frame.

Only the front two wheels are driven. We tried omni wheels on the back, but we prefer the way it drives on carpet with HiGrip wheels as the rear wheels. The software limits the CIM’s to about 30% power to keep the robot speed reasonable. These motors are a bit overpowered for this application, but we (like many teams) have a large supply of them.

Manipulator Arm

The manipulator is inspired by the shape of the Vex ClawBot, which we have successfully used in summer camps. MDFbot is intended as a robot that can play a simple robot game involving the fetching and scoring of game pieces such as chunks of pool noodle or the yellow plastic blocks used in FIRST Tech Challenge.

This arm has one gear stage and three belt stages for a 160:1 reduction. This reduction, along with power limiting in the software, allows fine / slow control of the arm. This was designed for a 72:10 gear stage, because we had several sets of that gear pair on hand. Cost could be further reduced by replacing the gears with another belt stage.

A 3D printed pincher claw is actuated with a standard sized servo.

The servo transmits torque to the claw gears via a smaller printed gear, which has a metal servo gear pressed into it. The metal gears were found on AliExpress for $2 each, and the servo is a type found on Amazon for $15-20 each.


Power / Wiring

MDFbot has plenty of room for its simple power and controls wiring on the belly pan in the back of the robot. It uses three PWM motor controllers (old style Victors used below), a 120 Amp breaker, and fused wires with 20 Amp fuses to each motor controller. We have not had trouble with blown fuses with the gear ratios described above. No power distribution board is used; the fused power wires for the CIM motors connect to the 120 Amp Breaker.


MDFbot is controlled by an ESP32 that is soldered to a custom board designed by a team mentor.

  • Each of 12 IO pins can be allocated as:
    • 3.3V input with or without pullup / pulldown
    • 5V input with pulldown
    • 3.3V PWM output (works with motor controllers and servos)
    • Configuration is via on-board jumpers
  • Two or three pins can be used together as a quadrature encoder input
  • Each servo-style connector provides one IO, ground, and a common +5V from an independent 5V/3A supply
  • Board was designed to accommodate multiple types of commonly available ESP32 controller modules
  • Accepts 12V power, has separate 5V power supplies for the ESP32 and for optionally attached servos to prevent possible brownout problems
  • PCB cost is less than a dollar, and combined parts cost, including the ESP32, is less than $15
  • Board directly supports Bluetooth, allowing the use of standard game controllers, eliminating the need for a driver station

If there is interest in this board, let us know. We can provide the files, and maybe we could eventually sell the assembled board if teams are interested in something like this.


Our documented software library is available on GitHub, including examples and instructions for getting started.

CAD Files

This STEP assembly file includes all of the MDF parts and printable plastic components.


We’re excited to let our new students build several of these and play with them.

If you’re interested in this project, feel free to ask questions!

FRC Team 967, Iron Lions
Marion, IA


100% would purchase


Is the claw intended for a particular game piece, or just a general-purpose claw to play with?

1 Like



This is insanely great!

Would love to see FRC robot rules reworked for slightly smaller frame perimeters, lower breaker current ratings, and lower total robot weight limits. Could be a way to dramatically decrease the entry barrier for competing with big bots; i.e., larger than FTC size.

I especially like the joinery based on printed nut pocket inserts to spread load from steel to MDF.

@GoodGuyFrank (not his real CD name), could lighter and less powerful robots generate enough excitement to play on a Championship stage? I think they could! Not to compete against FTC or heavy, high-power FRC, but AS A NEW THING.


It is intended as a general purpose claw. We’ve had fun picking up chunks of pool noodle that are standing on end.

1 Like

I absolutely love this project. I saw the link shared in our mentor Slack channel, waited for my kid’s pencil holder to finish on the printer, and started cranking out parts.

What might be really fun, to me, is mate this with the Romi Robot board, the Raspberry PI and ATMega 32u4 hardware. That’ll let students deploy the full WPILib stack to the system. Could be a fun prototyping platform!

I have run into one problem so far though, and this may be me not knowing much about CAD and 3d printing.

Snapped a screencap of what I see in FreeCAD that mirrors what I see in the 3d prints. The teeth on the claws interfere with the two posts near them on the lower plate. It could be my printer “squishes” parts just a fuzz more than it should too and that’s the cause of the interference.

Happy to contribute back any improvements I make, but my CAD is rather awkward and may not be useful.

This is super cool. Very thrifty. Appreciate you guys sharing this.

Now I’m just imagining a bunch of MDF robots with a little extra support playing some scaled form of infinite recharge.


Definitely something I’d be interested in if you’re willing to share the PCB files

This has more power then I’d feel safe running using the Romi platform.

1 Like

Whoops - we had to cut some plastic from the printed parts because of that interference issue, and I forgot to fix the part models. That’s fixed now, and the updated version is uploaded.

I should have just shared the folder so we can add more files. Here’s the folder:

It now contains a step file with the router layout we used (32"x48"). The parts are designed to be cut with a 6 mm bit, by the way.

We’ll get the PCB design uploaded to that folder as well.


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