Skip to content

Releases: Open-STEM/XRP_MicroPython

XRPLib Release 2026.09.1

Choose a tag to compare

@fgrossman fgrossman released this 13 Sep 01:07
8d3d379

Release v2026.09.1

XRPLib Release 2026.08.2

Choose a tag to compare

@KalticCodes KalticCodes released this 27 Aug 14:55
c61d501

Small bug fixes, including updated tunings for XRP Nano

v2026.08.1

Choose a tag to compare

@fgrossman fgrossman released this 03 Aug 20:37
23786b5

A few minor fixes

V2026.07.1

Choose a tag to compare

@fgrossman fgrossman released this 29 Jul 15:02
55abed4

This has a lot of updates. It also syncs up with the new IDE XRPCode V2 (XRPWeb in the repo)

The Gamepad and Dashboard support with this release will only work with the new IDE.

XRPLib Release v2.0.1

Choose a tag to compare

@KalticCodes KalticCodes released this 27 Feb 04:20

This version of the library was made for a custom build of MicroPython for the XRP Control Board and XRP Beta Control Board. Please ensure you have the correct firmware loaded on your bot before use. (Beta firmware can be downloaded below)

Changelog:

  • Fixed a few bugs present in v2.0.0 (and before), including:
    • Speed control PID history being reset when new target speed was set, which caused issues when speed was set in a loop
    • Timeout.py only processing timeouts of an integer number of seconds (now has ms accuracy)
  • Added error with description when the library is used without the correct MicroPython version built for the XRP Control Board

XRPLib Release v2.0.0

Choose a tag to compare

@KalticCodes KalticCodes released this 19 Feb 19:42

Official Release of the XRP (XRPLib v2.0.0)

Requires UF2 Files built for the XRP Control Board or the XRP Beta Control Board. The UF2 for the XRP Beta Control Board is attached to this release for immediate use.

Changelog:

  • Split Motor into SinglePWMMotor and DualPWMMotor to reflect the change in motor drivers present on the boards.
  • Added functionality for the Neopixel LED present on the new board (Throws a NotImplementedError on the XRP Beta)
  • Added brake and coast ZeroEffortBehavior for motors on both boards.
  • Added support for the extra Servo pins available on the new board.
  • Enabled string names for all main XRP GPIO pins, added through custom UF2 files compiled per board.

Beta Release 1.0.0

Beta Release 1.0.0 Pre-release
Pre-release

Choose a tag to compare

@KalticCodes KalticCodes released this 20 Aug 02:39
d536c9a

The First Official Public Beta Release of XRP_MicroPython!

Changelog:

  • Fixed issues associated with DifferentialDrive.arcade() not setting to the right effort
  • Fixed issues associated with EncodedMotor.get_speed() only working while speed control was running
  • Fixed issues associated with Board.led_blink() and frequencies of zero
  • Fixed issues associated with resetbot.py trying to reset the Webserver before it was started
  • Removed Board.set_button_callback() due to unintuitive behavior and it being out of scope for the primary use case of this library
  • Fixed multiple issues associated with the MotorGroup class
  • Fixed issue with the PID class where the timestep would sometimes be too large after a call to PID.clear_history()
  • Re-tuned DifferentialDrive.straight() and DifferentialDrive.turn() so that they would function in a wider range of environments

Release 0.9.7

Release 0.9.7 Pre-release
Pre-release

Choose a tag to compare

@KalticCodes KalticCodes released this 30 Jul 18:53
6e5855d
  • Fixed issue where update() in Controller.py was still called tick()
  • Updated the installation verification program to be easier to use
  • Removed version.py, XRPCode now uses package.json for version testing
  • Arcade drive method added to DifferentialDrive for skewing the drive left or right with a easy to call function
  • Added a secrets.json file, where users can store their wifi information so that they don't have to type it every time

Release 0.9.6

Release 0.9.6 Pre-release
Pre-release

Choose a tag to compare

@KalticCodes KalticCodes released this 20 Jul 18:29

New functions exposed from within IMU.py:

  • is_connected()
  • reset() to reset register values during a soft reset
  • get_gyro_rates() functions
  • acc_rate() and gyro_rate() functions to change output data rates
  • improved calibration code

Webserver Bridge Mode Functionality:

  • Call either webserver.start_network(robot_id) or webserver.connect_to_network(ssid, password, robot_id) to choose between access point mode or bridge mode
  • Then call webserver.start_server() to begin running the server in your chosen mode
  • Navigate to the printed ip address to begin interacting with your robot

Release 0.9.5

Release 0.9.5 Pre-release
Pre-release

Choose a tag to compare

@KalticCodes KalticCodes released this 17 Jul 17:16
  • All references to encoder ticks renamed to encoder counts
  • encoder.ticks_per_rev renamed to Encoder.resolution
  • PID.tick renamed to PID.update
  • Fixed servo range issue, now from 0-200