As of now, these are just notes to myself
What is XRP?
XRP is a robotics kit created by consortium of several organizations, including Sparkfun, Worcester Polytechnic Institute, FIRST, and many more; see https://experientialrobotics.org/. It is primarily intended for use in education.
It has been in beta for about 2 years, but recently (March 2025) they released version 1, which has significant improvements.
Useful links:
- Main page
- Sparkfun product page; you can buy it there or from Digikey (currently, Digikey only stocks beta version)
- User guide (needs updating): https://xrpusersguide.readthedocs.io/en/latest/course/introduction.html
- Hardware - controller: documentation, pinout, github
- Hardware - 3d printed: files for 3d printing, source CAD (OnShape)
- Software: online IDE (XRPcode), API docs, github
- Some projects using XRP: https://www.printables.com/model/1216372-xrp-robot-kit/related
Features
XRP is a typical 2-motor small differential drive robot, programmable in micropython. In addition to basic features, it also has:
- Motor encoders
- IMU and code to use it for turns
- support (connectors and code) for additional motors and servos
Main feature of XPR is that it is easily customizable (unlike, say, Zumo, 3pi+, or Alvik). Chassis is 3d printed (and it has been designed with great care), making it easy to modify; there are numerous attachment points for adding extra actuators or sensors.
It also comes with a well-supported library and a whole course curriculum, and the price is reasonable - if you are willing to 3d print your own parts, the rest is just $99, and they offer discount to educators/robotics teams, which brings it down to $73.
Weaknesses
Here are some things I think can be improved. Most of them are inevitable consequence of designing the robot to be cheap and used in schools; some are my own preferences - to each, his own.
- Size. The XRP is slightly too large (19x19 cm) for my taste; I'd prefer it to be slightly smaller.
- Battery. The kit uses 4 NiMH batteries, which provides about 5v fully charged - barely enough for motors. It'd be better to use LiPo (though I understand the safety risks, especially when used in school environment) or 5 batteries
- Tiny switch and buttons. The main power switch is small, and I really like the on/off be large and sturdy, so you do not have to squint looking for it when your robot is misbehaving
- O-rings as tires: sometimes they do not provide enough traction
- Sensors: 2-sensor line follower and a HC-SR04 distance sensor work as a starting point for beginners, but the robot would really
- User interface: XRP has one NeoPixel and one user button. It works, but I'd love to see a proper OLED display and several user buttons, like 3pi+.
Since the whole design is open source, I am trying to modify the XRP to address all of the above. I'll document the project here.