Raspberry Pi's New OS Bookworm: Advancements for Pioreactor

Raspberry Pi's New OS Bookworm: Advancements for Pioreactor

TLDR: A new Pioreactor image is out. We strongly recommend you upgrade to it. Our new software is our fastestmost stable, and is the culmination months of improvements and user feedback! 

Every two years, Raspberry Pi (the company) releases a new operating system that comes with some great improvements. This month, they released their latest iteration, called Bookworm. The Pioreactor software is a derivative of their operating systems, and we are really excited about this release. It offers some significant improvements for our software, which I discuss below. What I want to emphasize first is that we strongly recommend you update to this new release, but this update requires a full re-write of your image. Yes, that's annoying. But it's the future of Pioreactor, and as my old co-worker said "you want to ride the upgrade train" of your software. What happens to your experiment data? We've built some export / import scripts to help you move your data, configs, calibrations, etc. to your new Pioreactors. First, let's talk about improvements!

Performance

The new operating system comes with an upgrade to Python 3.11 (from version 3.9). This has a significant performance improvement, and we experience it in our software, too. Start up time is faster, which is noticeable when starting jobs in the UI or the command line. And since Python is faster, we can even add more data into our algorithms to get less noisy ODs. 

There's also a new database version, which has its own performance improvements. Your graphs in the UI will appear slight faster now, too.

Hours-elapsed axis in the UI

Speaking of graphs in the UI, we added a much-requested feature. You can now toggle between "clock time" and "hours since experiment started" for the x-axis:

Pioreactor Overview graphs displaying "hours" on x-axis, instead of clock time

Improvements to local access point

We know a lot of our users use the local access point feature, which creates a hotspot on the Raspberry Pi for other Pioreactors to connect to. In this release, we've significantly simplified its implementation, and it should appear much faster on boot. Furthermore, if you plug your hotspot-hosting Raspberry Pi into a router that has internet, you can provide internet access to your entire cluster! Read more about this new local access point in our documentation

Upgrade paths for all users

In the latest release, we've made it easier than ever to upgrade your Pioreactor software, even if you don't have internet access. It's just a few steps! See our new documentation on it. 

I want to upgrade! Tell me how!

Great! Getting this new software does require a rewrite of your SD card(s). So you need to decide how you want to handle your old data.

If you want to move your data to a new Pioreactor, see our docs here. If you want to just export your data, and start afresh, follow the instructions in the previous link, but don't bother importing. Finally, you can just start fresh by rewriting your SD cards with the new images, following the steps here

Heck, you could even just use new SD cards, and keep the old ones around. They will always be compatible with a Raspberry Pi later.

What about calibrations?

We recommend re-doing pump calibrations, as we have changed some important software PWM libraries, and possibly the new operating system may handle PWM commands differently. Reusing old calibrations won't be terribly off - maybe test dosing manually and see if the change in accuracy is okay with you. 

 Conclusion

We're asking a lot from you to rewrite your SD cards, but we do think this is the best thing to do for users. Our Pioreactor software moves fast, and you'll get the best experience using the latest software. 

Building off this release, we have big 2024 plans for Pioreactor software: comparing experiments in the UI, managing files in the UI,  improved calibrations, and more. Stay tuned!