Background
Mycodo was originally developed for cultivating gourmet mushrooms. Although variations exist between species, mushrooms share the commonality that they all require specific environmental conditions to produce quality yields. Temperature, humidity, and carbon dioxide concentration have been identified as the most crucial factors for promoting mycelial colonization, primordia formation, and fruiting body (mushroom) growth. Additionally, each stage of development requires specific conditions for optimal development. The more precise these conditions can be controlled, the greater the potential quality and quantity.
The same principles can be applied to other areas of production. To this end, Mycodo has assisted in plant and mushroom cultivation, cheese aging, tobacco leaf fermentation/curing, food fermentation (beer, wine, tempeh, sauerkraut, kombucha, kimchi), sous-vide cooking, monitoring weather conditions, incubating snake eggs and mice, maintaining aquaculture farms, regulating temperature and humidity in a laboratory honey bee apiary for scientific research, regulating humidity in an artificial bat cave used for scientific research, and more.
Mycodo is free to use and modify (GPLv3), runs on the inexpensive Raspberry Pi, is easy to set up, and can be used with a wide variety of inexpensive sensors and hardware. Several popular digital sensors are supported, as well as analog sensors (with the use of an analog-to-digital converter). Sensors may also be used with an I2C multiplexer to enable the use of multiple sensors that share the same I2C address.
My Recent Projects Using Mycodo
Sous Vide Cooking
The name of this cooking style translates from French to "under vacuum," and relies on the thermal regulation of a water bath to slowly cook food (commonly meats). The name comes from the preparation of vacuum-sealing the food in a bag to increase thermal transfer from the water, reduce oxidation, reduce evaporative loss of flavor volatiles and moisture, and reduce aerobic microorganism growth. This method enables precise cooking and reproducibility to attain the perfect doneness and texture, with next to a 0% chance of overcooking, resulting in exquisitely-flavorful and nutritious foods. A write-up and video of my sous vide culinary journey is expected to replace this summary very soon. Read more about the science of sous vide in Sous vide cooking: A review (2012).
Plant Cultivation
With my $1000 startup funds from advancing to the finals of the Hackaday Prize, I invested in a plant grow tent, light system, and high-pressure water pump, to experiment with growing plants indoors and advance the Mycodo software and hardware to better support plant cultivation. With energy, water, and food crops being some of out most precious resources, the ability to efficiently grow and experiment with crop growth is becoming ever-more important. A write-up and video of automated plant cultivation is also expected to replace this summary very soon.
Mushroom Cultivation
A project to regulate temperature and humidity to increase mushroom yield. Parts: Raspberry Pi 2, 2-amp power supply, and 8 individually-switched 120-volt AC outlets.
Artificial Bat Cave
In collaboration with the Tennessee Chapter of The Nature Conservancy, a colleague and I installed a humidity regulation system in a 13,000 ft3 artificial cave, the first of its kind, for conducting scientific research with bat white-nose syndrome.
The BeeSL-2 (aka BSL-2)
A collaboration to build a humidity- and temperature-regulated apiary, mimicking a natural hive environment to conduct experiments on honey bees in a laboratory setting. This was set up to study fungal pathogenesis and treatment method development.
Features
- Read and log a wide variety of analog and digital sensors (see below).
- Web interface, accessible from anywhere, to visualize data, configure, and manipulate the system (with authentication, user levels, and SSL for the highest security).
- Manipulate powered devices through the web interface or automate tasks.
- Regulate conditions with industrial control (PID control), for manipulating relays connected to any powered device.
- Real-time graph display of sensor measurements, setpoints, and relay modulations.
- Create rate-change methods that allow changing regulation over time, for applications such as reflow ovens and thermal cycling (DNA replication).
- Triggered actions (change relay, email status, flash LCD, execute script, email camera image/video). Useful for being notified when there may be a problem or doing things like motion detection with camera activation.
- Timers that manipulate relays based on duration or daily occurrences. Useful for mimicking natural environments that change throughout the day.
- Calculation of power usage and cost for each relay, based on your utility's electricity cost.
Supported Devices and Sensors
- Analog-to-digital converters (ADC) for analog sensors/signals
- ADS1x15 and MCP342x
- DHT11, DHT22 - Measures temperature and humidity
- HTU21D - Measures temperature and humidity
- AM2315 - Measures temperature and humidity
- SHT1x, SHT2x, SHT7x - Measures temperature and humidity
- Atlas Scientific PT-1000 - Measures temperature
- DS18B20 - Measures temperature
- TMP006, TMP007 - Measures temperature (non-contact, infrared)
- K30 - Measures carbon dioxide (CO2)
- BME280 - Measures atmospheric pressure, temperature, and humidity
- BMP085, BMP180 - Measures atmospheric pressure and temperature
- TSL2561 - Measures luminosity (light)
- TCA9548A - I2C multiplexer
Future work
- Add support for more sensors (such as by Atlas Scientific)
- Add support for PWM.
- Add support for servomotors, and stepper motors.
- Add support for wireless communication (z-wave, xbee, or other).
What is a PID controller?
A proportional-derivative-integral (PID) controller is a control loop feedback mechanism used throughout industry for controlling systems. It efficiently brings a measurable condition, such as the temperature, to a desired state, and with little overshoot and oscillation. This animation shows how the P, I, and D components of the PID controller operating in unison to beautifully regulate a system. A well-tuned PID controller will raise to the setpoint quickly, have minimal overshoot, and maintain the setpoint with little oscillation.