RoverWing is an expansion board (or "wing", following Adafruit’s terminology) for Adafruit’s Feather boards. This wing provides motor drivers that can handle motors of 6-12 V, Inertial Motion Unit (IMU), and connection ports for servos, sonars, GPS, and other peripherals commonly used by mobile robots. All at an affordable price, with a powerful Arduino library, and excellent documentation. It also contains a microcontroller preloaded with firmware to control these peripherals, which communicates with the Feather board using the I²C protocol, thus freeing resources of the Feather board for other purposes.
The RoverWing was heavily influenced by Adafruit’s CRICKIT board (in particular, it has exact same dimensions and mounting holes as the CRICKIT board). However, unlike CRICKIT, it is intended for use with more powerful 6-12 V motors and provides a slightly different but expanded set of peripherals.
In terms of its feature set and capabilities as an all-in-one robot controller, its closest competitor is the Rev Robotics Control hub that comes in at 6.6 times the cost of a RoverWing and is less versatile due to its closed source hardware and being incompatible with the Arduino/Feather ecosystem.
The RoverWing can be quickly deployed in variety of DIY robotics applications ranging from simple cars to robot tanks, to bipeds, to segways, to any application you can think of that needs 2 high-power motor drivers as well as integrated sensors and sensor ports.
The RoverWing library allows it to be used by any maker regardless of their experience level, making it perfect for both educational settings as an introduction to robotics, as well for any seasoned maker looking for an all-in-one control board for their project.
Building a small robot or smart car using Arduino is easy - if you are only interested in it as a simple toy. There are hundreds of designs like this out there, and we have built our own share of them.
However, once you want to move beyond a simple toy - for example, by adding motor encoders, IMU, or trying to make a closed loop speed control - things start getting complicated. You need to add more boards/shields, so your whole design looks like an ugly nest of wires; you need to include a number of libraries which might conflict with each other (have you tried combining Servo library with NeoPixel?) and understand how each of them works, learn intricacies of PID algorithm. And you very quickly run out of pins, especially analog and interrupt-enabled pins.
We got tired of this, and decided to solve these problems once and for all. So we created the RoverWing: a custom expansion board that includes lots of peripherals, takes up very little Feather pin space, and includes a simple, well-documented, wide-ranging Arduino library.
The RoverWing uses same connectors for the battery, motors, and encoders as the REV Robotics Expansion hub used in First Tech Challenge robotics competition, so it can be easily used with the same motors and sensors. The I²C port uses Qwiic/Stemma QT connector, making it easy to connect additional sensors from Sparkfun or Adafruit.
The Top board is an optional accessory for the RoverWing that provides a power switch, small prototyping area, three NeoPixel LEDs, buttons, and a 3-line OLED display. Some soldering is required (namely, you will need to solder the wires to the switch terminals). Please check the User Guide for further description of the RoverWing Top.
|RoverWing||Adafruit CRICKIT||Adafruit MotorShield/Wing||Rev Robotics Control Hub|
|Input voltage||7-14 V||5 V||4.5-13.5 V||8-15 V|
|Max current per motor||2.9 A||1 A||1.2 A||5 A (limited by 20 A fuse on power input)|
|Encoder support||Yes, for each motor||No||No||Yes|
|IMU||Yes, 6-DoF||No||No||Yes, 9-DoF|
|NeoPixel LED port||Yes||Yes||No||No|
|Closed loop motor control||Yes, in firmware||No||No||Yes|
|Price (in USD)||$49||$29.99 + shipping||$19.99 + shipping||$300 + shipping|
You can read a detailed description of RoverWing features in our User Guide.
The RoverWing library facilitates communication between the Feather board and the onboard coprocessor on the RoverWing. The library enables the user to create programs using complex algorithms and sensors in just several lines of code, while offloading the processing load to the coprocessor, thus decreasing the load on the Feather. The library is fully documented in RoverWing Library User Guide.
For example, you can just write
rover.goForward(0.4, 500); to have the robot move forward at 40% speed for 500 mm. Behind the scenes, the firmware will ramp up the speed slowly to avoid wheel slipping on the floor, count encoder pulses, and use IMU feedback for course correction - so that if you push the robot off course, it will self-correct.
The screenshot below shows sample code using RoverWing Arduino library, programming the robot to go forward until it sees a wall and then turn around. Invisible to the user, IMU keeps track of robot direction to correct the course as necessary, sonars are continually pinging and the results are smoothed out using low-pass filter allowing the robot to get accurate and consistent distance values from the sensors.
RoverWing can be used with any 2-motor robotics chassis using 5-12 V motors. We recommend Adafruit’s Mini Robot Rover Chassis, Pololu’s ROMI chassis (which is what we used in the video and photos above), or TS100 tank chassis by DoIT. Please check the User Guide for details.
I am a professor of mathematics, but have been interested in robotics and electronics for many years. In 2008, I started a robotics team, Team Islandbots; after competing for a couple of years in First Lego League, we moved on to First Tech Challenge (FTC) and became one of the most successful teams on Long Island, twice advancing to the World Championship. In addition, I have been doing robotics classes in a science summer camp SigmaCamp, designing and programming robots. Some of these projects gave us the inspiration to create RoverWing.
I am an 18-year-old currently studying electrical engineering. I like to spend my time on projects such as building robots and designing PCBs.
I got into robotics during 7th grade, when I joined the Islandbots FTC team 4137, coached by Alexander Kirillov. I then went on to become the captain of the Trinity school team 14413 during which time I worked on various miscellaneous PCB project similar to RoverWing.
Produced by David Bershadsky and Alexander Kirillov in Stony Brook, NY.
Sold and shipped by Crowd Supply.
Includes one RoverWing board and connector set: one power cable ( XT30 to XT60 ), two motor cables (JST VH to bare wire).
One Top board for the RoverWing. It provides a power switch, small prototyping area, three NeoPixel LEDs, buttons, and a 3-line OLED display. Some soldering is required.
Stony Brook, NY · roverwing-board.readthedocs.io
Alexander Kirillov is a professor of mathematics, but has been interested in robotics and electronics for many years. In 2008, he started a robotics team, Team Islandbots. After competing for a couple of years in First Lego League, Team Islandbots moved on to First Tech Challenge (FTC) and became one of the most successful teams on Long Island, twice advancing to the World Championship. David Bershadsky is an 18-year-old currently studying electrical engineering. He likes to spend time on projects such as building robots and designing PCBs. He got into robotics during 7th grade, when he joined the Islandbots FTC team 4137, coached by Alexander Kirillov.