-
Notifications
You must be signed in to change notification settings - Fork 0
OpenJBOD Software
The OpenJBOD Software is a MicroPython software package written to accompany the OpenJBOD RP2040 board. The software implements the features of the board and is responsible for the management/control plane present over the network interface.
If your board does not have software flashed, plugging in your board via USB will have a removable drive appear in your system. You will need to drag the OpenJBOD Software UF2 file to the device, after which the RP2040 will reboot and begin extracting the software to itself. After the device reboots, you can unplug it and install it in a case.
If your board already has software loaded and you need to update or replace it, plug the board into USB while holding the BOOTSEL button. This will set it into the same flash-ready state, where you can put the UF2 file on it.
You can use the Raspberry Pi Picotool to install the software. After installing Picotool, you can follow a similar procedure as above:
- If your board does not have the software on it, it will immediately be ready for flashing.
- If your board has firmware on it already, you will need to hold the BOOTSEL button while powering it on and ensure it is plugged into USB.
Once you have ensured it is ready to be flashed, you can load the OpenJBOD software onto it with the command:
$ picotool load openjbod.uf2
When developing, it is recommended to get the Wiznet W5500-EVB-Pico version of MicroPython. The release version of the OpenJBOD software includes both MicroPython and a self-extracting version of the software itself. This means that any changes made to files on the board would get overwritten on the next microcontroller reset. The W5500-EVB-Pico firmware provides all the same built-in libraries, but does not feature 16MB flash support.
When rapidly iterating, tools like ampy, mpfshell or Thonny can be useful for editing and uploading files for rapid change testing.
Please try to keep the same coding style as the existing code. Functions that are called several times should be implemented in the helpers.py file.