Skip to content

WPILibPi 2023.1.1 Release

Compare
Choose a tag to compare
@PeterJohnson PeterJohnson released this 16 Jan 06:52
· 9 commits to main since this release
v2023.1.1
740a30a

About WPILibPi

This Raspberry Pi OS-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, pyntcore, Java 17, etc). WPILibPi comes in two variants, the "base" image for vision coprocessors, and an image designed for use with Pololu Romi 32U4 based robots.

The image has been tested with the Raspberry Pi 4 and 3B, but should also work on other models. Note: due to the mechanical mounting configuration of the Romi, there is minimal space for a heatsink on the Pi, so the 3 is recommended for Romi use.

Known Issues

The firmware download on the Romi has been reported not to work with this image. For now please use the 2022.1.1 image for Romi (the 2022 image will work fine with 2023 WPILib Romi robot programs).

Features

  • Web dashboard for configuring the rPi (e.g. changing network settings), monitoring the vision program (console, restart), changing CameraServer and NetworkTables settings, and uploading vision processing applications, all without the need for SSH
  • Default application that performs simple streaming of multiple cameras as well as camera switching; the image is "plug and play" for FRC dashboard streaming (just set your team number in the rPi web dashboard)
  • Includes example C++, Java, and Python programs to use as a basis for vision processing code
  • Designed for robustness to hard power offs by defaulting the filesystem to read only mode; safe to power directly from the VRM without an external battery
  • Boots (power applied to vision program running) in less than 20 seconds
  • All wireless functionality disabled (both WiFi and Bluetooth), so legal for competition use out of the box.

Romi Features

  • Built-in WebSockets-based interface to robot code running on a desktop computer
  • Web-based configuration of WiFi networking; supports both bridge and AP mode (including DHCP server in AP mode)
  • The Romi image is preconfigured as a WiFi Access Point network with SSID "WPILibPi-########", WPA2 passphrase "WPILib2021!", and default IP of 10.0.0.2
  • 32U4 firmware imaging through web dashboard

Getting Started

See https://docs.wpilib.org/en/stable/docs/software/vision-processing/wpilibpi/index.html (for the base image) or https://docs.wpilib.org/en/stable/docs/romi-robot/index.html (for the Romi) for visual step-by-step installation instructions and additional documentation.

  1. Download WPILibPi_image-2023.1.1.zip (or WPILibPi_image-2023.1.1-Romi.zip for the Romi image) and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 8 GB. Note: a micro SD to USB dongle such as https://www.amazon.com/gp/product/B0779V61XB works well for writing to micro SD cards.

  2. Put the micro SD card in a rPi and apply power. The initial boot may take as long as a couple of minutes (depending on SD card size), but later boots will be much faster (20 seconds or less).

Base image: Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://wpilibpi.local/ to open the web dashboard. Note the image boots up read-only by default, so it's necessary to click the "writable" button to make changes.

Romi image: Connect to the WiFi SSID "WPILibPi-########" (the number is unique based on the Pi's internal serial number), WPA2 passphrase "WPILib2021!". Open a web browser and connect to either http://10.0.0.2/ or http://wpilibpi.local/ to open the web dashboard. Note the image boots up read-only by default, so it's necessary to click the "writable" button to make changes.

What's Changed Since 2022.1.1

  • Image is now based on 64-bit bullseye distribution
  • Update to WPILib 2023.2.1 and RobotPy 2023.2.1, including AprilTag libraries
  • Update to OpenCV 4.6.0
  • Update to Java 17

Full Changelog: v2022.3.1...v2023.1.1

Hashes

MD5 Hashes

b974c8a94a0b029b412f79b7ed8d73f6  WPILibPi_image-v2023.1.1-Romi.zip
33a034dee9b18d1aba25321f5693b8bd  WPILibPi_image-v2023.1.1.zip
171295a0b9e0897e5e026a3f31f97658  cpp-multiCameraServer.zip
2760fb749b30ac116a1c1564b18f75e2  java-multiCameraServer.zip
72809e35193b51c678cd8de0356aeb56  python-multiCameraServer.zip

SHA256 Hashes

7a06df747cb9fece980f811d8e380f80e3a3a537413946277f0f8cb74dcdf82c  WPILibPi_image-v2023.1.1-Romi.zip
47618fdf571956dba8144574c830d63c27b0daddd507e6af8b81baf78bef8b6e  WPILibPi_image-v2023.1.1.zip
0f87dd7d079cb4168423a81ae99eaec8b9ac1768924e1dd622e4532272f86385  cpp-multiCameraServer.zip
f9dc8c40b1e01c12d16b0f34fcb091ce30ba518d492e27a15b2562d9ca7e7559  java-multiCameraServer.zip
4cd826120f47b2569545d89277b5f6c4d03a58cb16d5f776a7e082ac411a017a  python-multiCameraServer.zip