It's been a while! We're back at it again after one us took some time off as a new parent. We've got updates on improvements to the experiment workflow, and mechanical improvements. Let's jump back in
Happy holidays! This week we look at our latest iteration of the Pioreactor HAT. New features include cleaner interfacing with the heater PCB, an EEPROM, StemmaQT connection, and more. We've been working on the version 2 of our HAT for over 6 months now, putting together all the improvements, learnings, and ideas since testing our version 1 board. In this post, we'll go through some of the changes that we are most excited about.
Each Pioreactor has built-in heating and temperature sensors. I emphasize temperature sensors, since I've used enough hot plates to not trust a graduated knob to have any reliability. With a combination of heating and temperature sensors, the Pioreactor is able to keep a set temperature for the culture, regardless of the Pioreactor variations in the construction, ambient temperature, etc.
💅 This past week we've done two site redesigns! The first is what you are seeing now - more "purpler", and gives a better impression of our features and better explains how the Pioreactor works.
The second redesign is of our documentation site. It's powered by the really cool documentation library, docusaurus, and hosted on Github pages. There's still lots of work to do on it, but there's probably double the content there now (and it's more rich content) than what we had on Shopify before (btw this is a Shopify site).
We care a lot about onboarding. I've seen enough Raspberry Pi projects that seem to require deep experience in software compilers and package management (don't worry if you don't know what those are...) before you can get started. This is an immediate barrier to your project! From a "funnel" perspective, you may end up losing up a large fraction of your users just at this stage. Can we do better?
The role of stirring in the Pioreactor is important for a few reasons: i) it allows for modest gas exchange between the media and the air, ii) more importantly: it creates a homogenous environment for microbes and nutrients alike. This last point also means that our optical signals won't vary spatially - something that would make the whole system much more complicated.
One of our goals with the Pioreactor is design it such that you don't need to be a biologist, or an electrical engineer, or relevant for this article: a statistician. This article describes our internal algorithm that computes the culture's growth rate, but importantly: you don't need to know this algorithm to use the Pioreactor! We've designed the internal statistical algorithm to be robust enough that you can sit back and watch. This article is for the users who really want to dig deep into how we compute growth rates and the statistics behind it.
This week we investigated some sampling tricks to improve our ADCs, and managed to get a 50% reduction in signal variance, and gain many more bits in our signal, using data science!
This week we explored key-value databases for storing data, and implemented a solution that is designed to get wiped often. At the end of the day, we got some significant performance improvements!