Skip to content
  • There are no suggestions because the search field is empty.

Troubleshooting RVR and RVR+

Having issues with your RVR or RVR+? Here are some common problems and solutions to help you get back on track.

Color Sensor Issues

Problem: RVR+/RVR isn’t reading colors well.
Solution: The color sensor window is sensitive to dirt, fingerprints, or smudges. Wipe it gently with a soft cloth (like one for glasses or computer screens).

Programs Not Running

Problem: You’ve connected your board, followed an example, and executed your program—but nothing happens.

Check the following:

  • Deep Sleep: If RVR+/RVR is powered off, it won’t output power. Make sure you’ve pressed the power button and the LED lights are on.

  • Soft Sleep: If your RVR+/RVR pulses purple every 10 seconds, it’s in soft sleep. Wake it with the SDK’s wake() command or by connecting through the Sphero Edu app.

  • UART Cable: Ensure the 4-pin UART cable is connected properly. RX from your board should connect to TX on RVR, and TX to RX.

If none of these solve the issue, reach out to our support team.

Program Won’t Compile

  • Did the SDK setup script finish successfully? If not, rerun it and watch for errors.

  • Have you installed all necessary dependencies? Some libraries may require updates to your board or Python version.

If the issue continues, contact support for assistance.

Drive Commands Stopping

Problem: RVR+/RVR stops moving after a short time.
Solution: Drive commands like drive_with_heading and raw_motors time out after 2 seconds if sent once. To keep RVR+/RVR moving, place the commands in a loop.

Micro:bit Issues

Problem: RVR+/RVR stops responding when running a micro:bit program.

  • Avoid flooding the serial port with too many commands in an infinite loop. Add a short sleep command (e.g., sleep(100)) at the end of your loop.

  • Check that your code isn’t sending values outside supported ranges, which can cause firmware errors.

Arduino Issues

Problem: RVR+/RVR and Arduino won’t work together.
Solution: The USB cable may be too long. Keep it as short as possible—ideally 12 inches or less (2–3 feet can also work).

Heading Issues

  • If RVR+/RVR turns unexpectedly when using a heading of 0˚, use the reset_yaw() command to align 0˚ with the current facing direction.

  • Yaw only resets after RVR+/RVR enters deep sleep or when reset_yaw() is explicitly called.

Broadcasting Issues

Problem: Another robot isn’t following RVR+/RVR, even when set to the same channels.
Solution:

  • Confirm that far_code and near_code are passed in the correct order to start_robot_to_robot_infrared_following.

  • Always call stop_robot_to_robot_infrared_following after using start_robot_to_robot_infrared_following. Not doing so can disrupt the serial port, requiring a reboot.

Sensor Streaming Issues

Problem: RVR+/RVR isn’t streaming enabled sensors.
Solution: After calling rvr.wake(), add a short delay (asyncio.sleep(...)) before enabling sensor streaming. This gives RVR+/RVR time to fully wake up.

Timeout Errors

Problem: Commands return a timeout error.
Check the following:

  • Are the wires connected correctly (TX → RX, RX → TX)?

  • Is your Raspberry Pi configured for serial communication? By default, Raspbian isn’t. Disable the Serial Console in Preferences > Raspberry Pi Configuration > Interfaces or by editing /boot/cmdline.txt (remove console=serial0,115200).