Although the beta release of the new XRP robot is extremely exciting, I am confused about where the WPILib simulation firmware for the XRP is being developed. From my understanding, there is already MicroPython and Blockly support with the repositories at https://github.com/Open-STEM. Of course, it may be that the WPILib-compatible firmware is not ready for the public yet.
The idea I have in mind is to try to port the WPILib-compatible firmware to other mini robotics platforms, like the Pololu Sumobot 32u4. Personally, I think that I could connect a RP 2040 to it, in shield form, in order to control it wirelessly. The intent is to save resources - in the case of my team, we have plenty of existing Arduino robots for Outreach purposes, and spending $60 each on >1 robots is not wise.
Hopefully, the firmware will have a soon-enough release, and the community can start to tinker!
The WPILib compatible firmware is still under development and not quite ready for full public consumption just yet. We currently have 2 repos where development is being done. This one (GitHub - bb-frc-workshops/xrp-wpilib) is where the final firmware should live. However, we’re working through a few networking issues in some lower level libraries, so we have a stripped down version (GitHub - bb-frc-workshops/xrp-wpilib-lite) that we’re using for debugging purposes.
Note: These currently need to be used with a bleeding edge development build of WPILib that has WebSocket message filtering implemented. GitHub - bb-frc-workshops/xrp-demo-bot has an example robot project and build.gradle file that supports this.
Awesome!
I thought I was alone in using the 3PI - our team has lots of experience with Sumobots but this looks like a great idea (we have many 32u4 3PI robots as well).
Further elaborating a bit on the shield idea:
The idea of a “shield” is that it could conveniently add XRP capability without having to worry a lot about the underlying platform/hardware (a common concern in this thread). An RP 2040 shield would just communicate with the underlying micro and send it requests via modified XRP firmware.
Shields can be fabbed cheaper than the XRP itself (~10 USD for 2040 + ~<5 for PCB).
Disclaimer: I have not tried this just yet (too busy with the off-season + upcoming 2024 FRC Competition).
There are several challenges to this (non-exhaustive list):
Some boards (like 32u4-based 3PI) would need level shifting between 5.0 V and 3.3 V, including I2C communication
The various form factors of bots (3PI, etc.) and pinouts prevent us from creating a one-size-fits-all hat
Potential pin conflicts with the 3PI when using serial busses (unlikely but possible)
Potential of saturating serial communications on shared busses like I2C (likely) due to movement and data requests (encoders)