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
andnear_code
are passed in the correct order tostart_robot_to_robot_infrared_following
. -
Always call
stop_robot_to_robot_infrared_following
after usingstart_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
(removeconsole=serial0,115200
).