RVR+/RVR FAQ
Frequently Asked Questions about RVR+/RVR
How do I drive RVR+/RVR?
RVR+/RVR can be driven out of the box with the Sphero EDU app. For more advanced users, any supported boards can be programmed to drive RVR+/RVR using our SDK.
What boards can I use with RVR+/RVR?
What languages can I use to program RVR+/RVR?
Raspberry Pi - Python 3.5.X+ and JavaScript (Node.js RESTful API)
Arduino - Arduino programming language (C/C++)
What IDE’s can I use?
Raspberry Pi - Geany, Thonny, Nano, or Vi/Vim Note: If working on a Windows or Mac, you can use any IDE that supports Python (Pycharm, VS Code, etc), and transfer your files to the Raspberry Pi through SSH or Git.
Arduino - Arduino IDE and any other IDE’s that support the Arduino environment
How does RVR+/RVR interface with other devices?
Raspberry Pi - 4-pin UART
micro:bit - USB Port Note: USB cable must support power AND data transfer
Arduino - USB Port
I want to work with a single board computer (SBC) other than those above, is there a way I can do that?
If you've got another board you'd like to work with, you should be able to use the serial port and send raw API commands to RVR+/RVR, just make sure that RVR+/RVR can accommodate the power requirements of the board you'd like to use OR that you use an external power source to power your desired SBC.
Most SBC's running Linux will be able to use the Raspberry Pi Python SDK (possibly with minor modifications). Check out our Getting Started with Raspberry Pi instructions for more details.
Our friends at Sparkfun wrote up an awesome tutorial for using RVR with the Jetson Nano for AI applications!
Can I control RVR+/RVR with an external board while controlling it with the Sphero EDU App?
Yes, it is possible to operate RVR+/RVR from different sources, but care should be taken not to send conflicting commands (e.g. driving RVR+/RVR with the app while issuing drive commands from a board). RVR's behavior is unpredictable in these scenarios.
How much power does RVR+/RVR provide through its ports?
RVR outputs 5V from both the 4-pin UART port and USB port. The max current on that line is 2.1A.
What are the signal levels on the UART?
The RVR+/RVR UART operates at 3.3V. If your device works at a different logic level, you will need to use a level shifting circuit. Check out this excellent tutorial from our friends at Sparkfun to learn all about logic levels and level shifting.
Can a 5v signal be applied safely to the RX input or should it be limited to 3.3v?
The UART signal lines are not 5V tolerant. You should not apply a 5V voltage to them.
What are the current limits on the USB?
The USB provides up to 2.1A, but this current is shared between the USB connector and the 5V expansion port.
Does the USB provide a serial connection?
The USB port is a USB host, supporting USB CDC implementations for USB to serial peripherals. Compatible peripherals include micro:bit and Arduino Uno.
Can I connect a USB to serial adapter to RVR's USB port?
Most USB to serial adapters require custom drivers that RVR+/RVR does not have. These include various FTDI devices, CH340, CP210x. Only USB CDC-compliant devices will work.
What is the baud rate of RVR's UART port?
RVR's UART Port has a baud rate of 115200.
How big is RVR+/RVR?
185L X 216W X 113H (mm). It's height is 70 mm without the roll cage.
How much weight can RVR+/RVR carry?
RVR can carry 250 grams, or about 2.5 newborn kittens. RVR+ can carry 1000 grams, or about 10 kittens.
How long does the battery last with continuous use?
30 minutes - 1 hour, depending on usage.
How long does it take to charge the battery?
1.5 hours - 3 hours.
From what distance can I control RVR+/RVR over Bluetooth?
RVR's Bluetooth has a range of 10 meters.
What’s RVR’s maximum speed?
With a mostly charged battery, RVR has a top speed of 2 meters/second. RVR+'s top speed is approximately 1 meter/second, but it has 78% more torque. This means it can climb 30° inclines with the right surface friction.
What’s the deal with asynchronous programming; why can’t I use just plain Python to program RVR+/RVR?
When operating RVR+/RVR through a custom multitasking program, operations will take time to complete and return data. This could block the execution of the program, which may not be desired. Asynchronous programming allows multitasking programs to continue execution without blocking, and provide faster response times.
TL;DR - Asynchronous programming allows commands to be executed more quickly.
Is RVR+/RVR waterproof?
No, RVR+/RVR never learned how to swim.
What surfaces can RVR+/RVR drive on?
RVR+/RVR can easily drive on most indoor surfaces (concrete, tile, hardwood, carpet), and flat outdoor surfaces such as short grass, dirt, mulch, sand, sidewalks, and gravel. If you operate RVR+/RVR outdoors, be prepared to clean the treads!
What sensors are included on RVR+/RVR?
Color sensor
Infrared sensors
Ambient Light Sensor
IMU
Magnetometer (RVR only)
Accelerometer
Gyroscope
What can I add to RVR+/RVR?
Sensors
Ultrasonic sensor
Motion sensor
Air-quality sensors
After-market IR sensors
Any sensor that is compatible with boards listed above!
PiCamera
Microphone
Be sure to visit our friends’ websites to find other devices for your projects!Sparkfun: https://www.sparkfun.com/
Are there simple examples I can look at to learn how to program RVR?
Yes! There are some simple getting-started programs included with the SDK:
Raspberry Pi
Python
Node.js
micro:bit
Arduino
C++