Skip to content

XRP to Arduino High-RPM Motor Bridge

This manifest defines the wiring for an Arduino Pro Micro acting as a sub-controller for the XRP.

Note

This step is assuming you have your robot wired currently from the base XRP steps, this is an addon required for the High-RPM motors to be able to be run which are required to get a ball to launch. It also provides expansion slots for additonal add-ons in the future.

Warning

Only continue with the wiring step here if you have all the components assembled from the previous step, if not go back now and complete the Assembly of the Ping Pong bot.

Method and Reasoning

In order to accomplish this, we needed to add more motors than available slots on the XRP board. Also, the RPM of the XRP motors is slow for the task of shooting. Therfore there are additional electronics we need to add to the XRP to get more out of it.

First - We add a small arduino controller

The Arduino acts as the "Smart Controller." It takes the single WPILib command ("Go forward at 80%"), does the math, and translates it into the specific dual-pin hardware signals the L9110S needs.

Second - We require a "Bridge/L9110S" to power the motor

This chip acts as a heavy-duty electronic valve. It connects directly to the 6V battery (the "water supply") and the motors. It waits for a tiny, low-current signal (the "faucet handle") to tell it how much power to let through. This keeps the heavy, dangerous electrical current completely isolated from your delicate XRP brain.

The FRC Big Picture (Why this is a great project)

By building this custom bridge, you have accidentally built an exact, miniature replica of how a 120-pound FRC robot handles its drivebase and shooters!

In a real FRC robot, the RoboRIO (the XRP) does not power the motors directly. It sends a low-voltage data signal to a Spark MAX or Talon FX (your Arduino + L9110S). That smart controller then pulls massive current straight from the Power Distribution Panel (your direct 6V battery wire) to spin a NEO or Kraken motor (Like these small 130 high-RPM motor we are using on the XRP for shooter motors).

Master Wiring Table

Connection Group From (Component: Pin) To (Component: Pin) Logic/Voltage Purpose
Control Signal XRP SERVO2: Signal (IO17) Pro Micro: Pin 2 PWM Signal from WPILib
Ground L9110S: Ground (GND) XRP SERVO2: Ground (GND) 0V Common Ground
Arduino Power XRP Servo2: Red (Center) Pro Micro: RAW 5V Powers Arduino
Motor A Drive Pro Micro: Pin 5 & 6 L9110S: A-1A & A-1B 5V Logic Speed/Direction A
Motor B Drive Pro Micro: Pin 9 & 10 L9110S: B-1A & B-1B 5V Logic Speed/Direction B
Motor Power XRP Battery: Red L9110S: VCC 6V Battery High Current Supply