Let's not Reinvent the Wheel...
First things first.... Is your firmware up-to-date??
I’ve hooked up my board, followed a programming example and executed my program, but nothing is happening.
Is RVR in Deep Sleep?
Deep sleep is the same as being powered off, and power output from RVR is also disabled. Be sure you’ve pressed the power button, and observed RVR's LED lights power on before you attempt to execute your program.
Is RVR in Soft Sleep (same as being on, but most functionality disabled)?
Soft sleep is the equivalent of RVR having a screensaver. If your RVR pulses purple every 10 seconds that means it’s in soft sleep. You will need to “wake” RVR through either the SDK’s
wake() command, or connect via the Sphero EDU app. You will see RVR's LED lights power on once it’s awake.
Is the 4-pin UART cable plugged in correctly?
It’s advised that you refer to your specific board’s pinout diagram before connecting to RVR. Be sure that your board’s RX pin is connected to RVR's TX pin, and your board’s TX pin is connected to RVR's RX pin.
None of the above?
Check in with the community!
My program isn’t compiling
Did the setup script included in the SDK complete successfully? It’s possible the SDK setup scripts didn’t complete properly. Try re-running the setup script and look for any errors during the installation of our toolchain.
Have you installed all dependencies (libraries your program needs to run)? Depending on which external libraries you are using, they may require updates to your board, and/or version of python.
I issued RVR a drive command, but it stops moving after a short period.
RVR drive commands (
raw_motors) are designed to timeout after 2 seconds when issued once. If you want RVR to drive continuously, be sure to issue the drive commands in an ongoing loop.
My RVR stops responding when running my micro:bit program.
It’s possible to flood the serial port with too many commands when operating RVR through an external board, such as a micro:bit. This is especially true if your program executes in an infinite loop. Be sure to include a sleep command at the end of your loop of at least .1 seconds (i.e.
Another possibility is that your code produced a firmware error. Make sure the values you’re sending are within the specified ranges.
I can't seem to get RVR and Arduino to work together...
The issue may simply be that your USB cable is too long. Data transmissions of any kind, especially over a thin wire, are unreliable, so we recommend that you keep the length of your USB cable as short as possible. We've found cables of 12in or less to be best, but have had fairly consistent success with 2-3ft cables, as well.
When I use a heading of 0˚ to drive RVR, it turns around. Why?
My RVR entered soft sleep, but when I drive with heading, it is still turning in unexpected direction, as though the yaw wasn’t reset.
The yaw is only reset if RVR enters deep sleep, or the command
reset_yaw is explicitly called.
Broadcasting with RVR does not seem to be working; my other robot does not follow RVR even though RVR is set to broadcast on the same channels that my other robot is set to follow on.
- Be sure that your passing in far_code and near_code in the correct order to
- Make sure that, whenever a call to
start_robot_to_robot_infrared_followinghas been made, a call to
stop_robot_to_robot_infrared_followingis made afterwards. If not, this messes up the serial port on RVR (somehow) and following calls to
start_robot_to_robot_infrared_followingWILL NOT WORK w/o rebooting the pi.
My RVR isn't streaming the sensors I enabled.
rvr.wake() is called followed by
rvr.enable_color_detection(...) etc., it may be that color detection / handler is actually never enabled / registered because RVR didn’t get enough time to wake up entirely. In this case, it’s required to call
asyncio.sleep(...) before enabling any sensor streaming / registering any handlers.
Obviously, if RVR is already awake when starting program, this problem does not arise.
My RVR isn't reading colors very well.
The RVR color sensor window is sensitive to dirt/fingerprints/smudges. Go ahead and give it a good wipe with a soft cloth (like one for glasses or computer screens) and your RVR should be good as new!
When I run some commands, I get a timeout error.
This means the bytes are not received from RVR as expected.
Are the wires hooked up properly?
Make sure TX is connected to RX and vice versa.
Is the GPIO serial port on Raspbian configured correctly? (IMPORTANT NOTE: The default Raspbian configuration is not designed for serial communication and must be reconfigured).
In order for your Raspberry Pi, running Raspbian, to be compatible with RVR, the Serial Console must be disabled (in Preferences > Raspberry Pi Configuration > Interfaces on your Raspberry Pi). This can be done through the GUI OR command line by deleting
/boot/cmdline.txt, as outlined here.
Didn't find what you're looking for?
Check in with the community!