FAQs and "How do I"s
Table of Contents
- Optical density and LEDs
- RaspberryPi Hardware
- Data storage, access and recovery
Optical density and LEDs
Why does the intensity for LED A turn on & off?
You may have noticed that the LED labelled A turns on & off every 5 seconds or so. This is (normally) the channel for the infrared (IR) LED, which is used in the optical density measurements. Since we only take reading every 5 seconds (normally, this can be changed), we don't need the IR LED on all the time. The Pioreactor will only turn on LED when needed. This preserves the strength of the LED over longer periods of time. For more advanced use cases, it also allows other optical measurements to take place without the IR LED interfering with them.
Why does my optical density flatten, or even decrease? What is a saturation point?
For some experiments, especially when using a scatter angle of 135°, you may notice that the optical density starts to flatten, and even decrease, when you know the culture should still be growing. This is not a property of the culture, but occurs because the culture is getting too dense, and light is now being interrupted before it reaches the photodiodes. Prior to this point, called the saturation point, the relationship between culture density and optical density is nearly linear. But after this point, there is a flattening, even negative, relationship between culture density and optical density. For all analysis, we recommend only studying when the culture is in the linear regime. You can mitigate the problem by choosing a smaller scatter angle (like 90° or 45°), diluting the culture using an automation like the turbidostat, or using a lower concentration of nutrient(s) in the media.
What does the effect of the scatter angle have on optical density?
The scatter angle is the angle between the IR LED and a photodiode. This angle can be 45°, 90°, or 135° (although 180° is possible, we don't consider it here since it's not considered scattering). What is there to consider when choosing an angle. In general, the trend is shorter angles => less sensitive at low densities, but higher saturation point. By default, we suggest 90° as a good tradeoff between sensitivity and saturation. You can mix angles, and the Pioreactor's internal algorithm will still combine them into a single growth rate.
What RaspberryPi hardware can I use? I see RaspberryPi 1, 2, 3, A, B, +, Zero - it's confusing!
We've designed the hardware and software to be compatible with any RaspberryPi that has onboard Wifi. That includes (at the time of writing):
- RaspberryPi 3
- RaspberryPi 3 B+
- RaspberryPi 3 Model A+
- RaspberryPi 4 B
- RaspberryPi Zero W (with header) *
* RaspberryPi Zero W is on the list above, and is very low cost compared to the others. They can absolutely be used for Pioreactors as workers - we don't recommend them to be your leader (note sure what these terms mean? Here's an introduction to leader and workers). As workers, RaspberryPi Zero W perform just fine, but will respond slower to commands.
Do I need any cooling for the RaspberryPi?
Nope, you shouldn't, unless you are connecting an external monitor.
Could a RaspberryPi-compatible board work, like Rock Pi 4?
Probably. We haven't tested them, but so long as i) the GPIO pins are identical, and ii) RaspberryPi OS can be installed, it should work.
Data storage, access and recovery
💡 For any important project, we suggest manually exporting or backing up critical data multiple different places. This doesn't just apply to using the Pioreactor, but is good advice in general.
Where are logs stored?
- For the logs that you see in the Log Table in the Experiment Overview page, these can be download on the Download experiment data page in the Pioreactor UI. Other logs are also available, including dosing event and algorithm change-logs.
Specific, more granular logs per Pioreactor are available in
/var/log/pioreactor.log on the RaspberryPis.
How do I access raw experiment data?
- The Download experiment data page in the Pioreactor UI provides CSV exports of common datasets from a preselected experiment.
- All data eventually lands in a SQLite3 database on the leader Pioreactor, by default located in
/home/pi/db/pioreactor.sqlite. This can be download using a tool like
My microSD card is corrupted - what can I do?
Unfortunately, the microSD card becoming corrupted or damaged is an infrequent but possible risk with using RaspberryPis. - If the microSD card was inside a non-leader, it's best to try to reformat the microSD card and start fresh (i.e. reinstall the Pioreactor software and reintroduce it to the cluster). This is usually okay as no critical data is stored locally in workers, except for some log files. - If the microSD was inside the leader RaspberryPi, this is a bigger problem. Likely any running experiment will have to be restarted. Fortunately, if you have more than one Pioreactor other than the leader, then the leader's SQLite database has been periodically backing itself up to other Pioreactors every few days. Using the command line, check other Pioreactors'
/home/pi/.pioreactor/ directory for the latest backup named
pioreactor.sqlite.backup (should be from within the past few days hours). You can use this database to restart a new leader.