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.
Raspberry Pi - Python 3.5.X+ and JavaScript (Node.js RESTful API)
Arduino - Arduino programming language (C/C++)
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
Raspberry Pi - 4-pin UART
micro:bit - USB Port Note: USB cable must support power AND data transfer
Arduino - USB Port
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!
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.
RVR outputs 5V from both the 4-pin UART port and USB port. The max current on that line is 2.1A.
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.
The UART signal lines are not 5V tolerant. You should not apply a 5V voltage to them.
The USB provides up to 2.1A, but this current is shared between the USB connector and the 5V expansion port.
The USB port is a USB host, supporting USB CDC implementations for USB to serial peripherals. Compatible peripherals include micro:bit and Arduino Uno.
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.
RVR's UART Port has a baud rate of 115200.
185L X 216W X 113H (mm). It's height is 70 mm without the roll cage.
RVR can carry 250 grams, or about 2.5 newborn kittens. RVR+ can carry 1000 grams, or about 10 kittens.
30 minutes - 1 hour, depending on usage.
1.5 hours - 3 hours.
RVR's Bluetooth has a range of 10 meters.
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.
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.
No, RVR+/RVR never learned how to swim.
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!
Color sensor
Infrared sensors
Ambient Light Sensor
IMU
Magnetometer (RVR only)
Accelerometer
Gyroscope
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/
Yes! There are some simple getting-started programs included with the SDK:
Raspberry Pi
Python
Node.js
micro:bit
Arduino
C++