SkillAgentSearch skills...

Mycodo

An environmental monitoring and regulation system

Install / Use

/learn @kizniche/Mycodo

README

Mycodo

Environmental Regulation System

Latest version: 8.16.2

Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in interesting ways to sense and manipulate the environment.

|Build Status| |Codacy Badge| |Translation Badge| |DOI|

.. contents:: Table of Contents :depth: 1

Quick Install

Prerequisites: Debian-based Linux operating system (tested with Raspberry Pi OS 13 Trixie).

Recommended: Single board computer (SBC) with General-Purpose Input-Output (GPIO) pins.

Install Command:

.. code:: bash

curl -L https://kizniche.github.io/Mycodo/install | bash

See the Install Mycodo <#install-mycodo>__ section for more details.

Support

Documentation


`Mycodo Manual <https://kizniche.github.io/Mycodo>`__

`Mycodo API <https://kizniche.github.io/Mycodo/mycodo-api.html>`__ (Version: v1)

`Mycodo Wiki <https://github.com/kizniche/Mycodo/wiki>`__

`Mycodo Custom Module Repository <https://github.com/kizniche/Mycodo-custom>`__

Discussion
~~~~~~~~~~

`Mycodo Issues (Bug Reports/Feature Requests) <https://github.com/kizniche/Mycodo/issues>`__

`Mycodo Forum <https://forum.radicaldiy.com>`__

`Mycodo Discord <https://discord.gg/kmDNky4ZHZ>`__

Bug in the Mycodo Software

If you believe there is a bug in the Mycodo software, first search through the github Issues <https://github.com/kizniche/Mycodo/issues>__ and see if your issue has already recently been discussed or resolved. If your issue is novel or significantly more recent than a similar one, you should create a New Issue <https://github.com/kizniche/Mycodo/issues/new>__. When creating a new issue, make sure to read all information in the issue template and follow the instructions. Replace the template text with the information being requested (e.g. "step 1" under "Steps to Reproduce the issue" should be replaced with the actual steps to reproduce the issue). The more information you provide, the easier it is to reproduce and diagnose the issue. If the issue is not able to reproduced because not enough information is provided, it may delay or prevent solving the issue.

Donate

I have always made Mycodo free and I don't intend on changing that. However, if you find Mycodo useful and would like to support its continued development, please consider becoming a sponsor at github.com/sponsors/kizniche <https://github.com/sponsors/kizniche>__ or donate at kylegabriel.com/donate <https://kylegabriel.com/donate>__.

Features

  • Inputs <https://kizniche.github.io/Mycodo/Inputs/>__ that record measurements from sensors, GPIO pin states, analog-to-digital converters, and more (or create your own Custom Inputs <https://kizniche.github.io/Mycodo/Inputs/#custom-inputs>). See all Supported Inputs <https://kizniche.github.io/Mycodo/Supported-Inputs-By-Measurement/>.
  • Outputs <https://kizniche.github.io/Mycodo/Outputs/>__ that perform actions such as switching GPIO pins high/low, generating PWM signals, executing shell scripts and Python code, and more (or create your own Custom Outputs <https://kizniche.github.io/Mycodo/Outputs/#custom-outputs>). See all Supported Outputs <https://kizniche.github.io/Mycodo/Supported-Outputs/>.
  • Functions <https://kizniche.github.io/Mycodo/Functions/>__ that perform tasks, such as coupling Inputs and Outputs in interesting ways, such as PID <https://kizniche.github.io/Mycodo/Functions/#pid-controller>, Conditional <https://kizniche.github.io/Mycodo/Functions/#conditional>, Trigger <https://kizniche.github.io/Mycodo/Functions/#trigger>, to name a few (or create your own Custom Functions <https://kizniche.github.io/Mycodo/Functions/#custom-functions>). See all Supported Functions <https://kizniche.github.io/Mycodo/Supported-Functions/>__.
  • Web Interface <https://kizniche.github.io/Mycodo/About/#web-interface>__ for securely accessing Mycodo using a web browser on your local network or anywhere in the world with an internet connection, to view and configure the system, which includes several light and dark themes.
  • Dashboards <https://kizniche.github.io/Mycodo/Data-Viewing/#dashboard>__ that display configurable widgets, including interactive live and historical graphs, gauges, output state indicators, measurements, and more (or create your own Custom Widgets <https://kizniche.github.io/Mycodo/Widgets/#custom-widgets>). See all Supported Widgets <https://kizniche.github.io/Mycodo/Supported-Widgets/>.
  • Alert Notifications <https://kizniche.github.io/Mycodo/Alerts/>__ to send emails when measurements reach or exceed user-specified thresholds, important for knowing immediately when issues arise.
  • Setpoint Tracking <https://kizniche.github.io/Mycodo/Methods/>__ for changing a PID controller setpoint over time, for use with things like terrariums, reflow ovens, thermal cyclers, sous-vide cooking, and more.
  • Notes <https://kizniche.github.io/Mycodo/Notes/>__ to record events, alerts, and other important points in time, which can be overlaid on graphs to visualize events with your measurement data.
  • Cameras <https://kizniche.github.io/Mycodo/Camera/>__ for remote live streaming, image capture, and time-lapse photography.
  • Energy Usage Measurement <https://kizniche.github.io/Mycodo/Energy-Usage/>__ for calculating and tracking power consumption and cost over time.
  • Upgrade System <https://kizniche.github.io/Mycodo/Upgrade-Backup-Restore/>__ to easily upgrade the Mycodo system to the latest release to get the newest features or restore to a previously-backed up version.
  • Translations <https://kizniche.github.io/Mycodo/Translations/>__ that enable the web interface to be presented in different Languages <https://github.com/kizniche/Mycodo#features>__.

.. image:: https://kylegabriel.com/projects/wp-content/uploads/sites/3/2020/06/Screenshot_2020-04-25-hydra-Default-Dashboard-Mycodo-8-4-0-dashboard_2.png :target: https://kylegabriel.com/projects/wp-content/uploads/sites/3/2020/06/Screenshot_2020-04-25-hydra-Default-Dashboard-Mycodo-8-4-0-dashboard_2.png

Figure: Automated Hydroponic System Build <https://kylegabriel.com/projects/2020/06/automated-hydroponic-system-build.html>__


Uses

Originally developed to cultivate edible mushrooms, Mycodo has evolved to do much more. Here are a few things that have been done with Mycodo:

Projects by Kyle Gabriel (core developer)


-  `Mushroom Cultivation Automation <https://kylegabriel.com/projects/2021/09/mushroom-cultivation-automation.html>`__ (`Archive <https://archive.is/HUtdp>`__)
-  `Hydroponic System Automation <https://kylegabriel.com/projects/2020/06/automated-hydroponic-system-build.html>`__ (`Archive <http://archive.is/mB2zc>`__)
-  `Mushroom cultivation <https://kylegabriel.com/projects/2015/04/mushroom-cultivation-revisited.html>`__ (`Archive <http://archive.is/J92Xa>`__)
-  `Ground-based plant cultivation <https://www.youtube.com/watch?v=QNCx_VE7D-8>`__
-  `Maintaining honey bee apiary homeostasis <https://kylegabriel.com/projects/2015/12/environmentally-controlled-apiary.html>`__ (`Archive <http://archive.is/RLo6n>`__)
-  `Maintaining humidity in an underground artificial bat cave <https://kylegabriel.com/projects/2015/10/artificial-bat-cave.html>`__ (`Archive <http://archive.is/QIJ5G>`__)
-  `Remote radiation monitoring and mapping <https://kylegabriel.com/projects/2019/08/remote-radiation-monitoring.html>`__ (`Archive <http://archive.is/PF44Z>`__)
-  `Cooking sous-vide <https://hackaday.io/project/11997-mycodo-environmental-regulation-system/log/45733-sous-vide-pid-tuning-and-the-unexpected-electrical-fire>`__ (`Archive <http://archive.is/Mx52U>`__)
-  `Maintaining a light schedule and regulating humidity <https://fieldstation.kennesaw.edu/summer-days-2020.php#2020_07_16_gabriel_chestnut>`__, ramping from 90 % to 50 % over a 4 week period to acclimatize micropropagated American chestnut plantlets from laboratory to ambient outdoor conditions (`Archive <http://archive.is/Jp60P>`__)

Featured Projects
~~~~~~~~~~~~~~~~~

.. image:: https://kylegabriel.com/projects/wp-content/uploads/sites/3/2021/09/MushroomCultivation_512x288.jpg
   :target: https://www.youtube.com/watch?v=z41Wy5ZF4O8

.. image:: https://kylegabriel.com/projects/wp-content/uploads/sites/3/2020/07/VID_PROJ_HYDRO_512x288.jpg
   :target: https://www.youtube.com/watch?v=nyqykZK2Ev4

Projects by Others
~~~~~~~~~~~~~~~~~~

-  Maintaining aquatic systems (e.g. fish, hydroponic, aquaponic)
-  Maintaining terrarium, herpetarium, and vivarium environments
-  Incubating young animals and eggs
-  Aging cheese
-  Dry-aging, curing, and smoking meat (`Link 1 <http://www.charcuterie-worst.nl/forum/index.php/topic,425.0.html>`__ (`Archive <http://archive.is/NHKqp>`__), `Link 2 <https://www.floriske.nl/wordpress/2019/06/meat-curing-cabinet/>`__ (`Archive <https://archive.ph/57ouJ>`__))
-  Fermenting beer, food, and tobacco
-  Controlling reflow ovens
-  Culturing microorganisms
-  `Treating agricultural waste water <https://projects.sare.org/project-reports/gne17-158/>`__ (`Archive <http://archive.is/enJQs>`__, `Publication <https://pubs.acs.org/doi/pdf/10.1021/acsestwater.0c00234>`__)
-  ...and more

`Let me know <https://kylegabriel.com/contact/>`__ how you use Mycodo and I may include it on this list.

Screenshots
-----------

Visit the `Screenshots <https://github.com/kizniche/Mycodo/wiki/Screenshots>`__ page of the Wiki.

Install Mycodo
--------------

Prerequisites
~~~~~~~~~~~~~

Required:

-  Debian-based operating system (tested with Raspberry Pi OS 13 Trixie)
-  An active internet connection

Recommended:

-  `Raspberry Pi <https://www.raspberrypi.org>`__ single-board computer: 3, 4, or 5 (Zero, 1, and 2 are no longer recommended)
-  `Raspberry Pi Operating System <https://www.raspberrypi.com/software/>`__ flashed to a micro SD card or SSD

Mycodo has bee

Related Skills

View on GitHub
GitHub Stars3.2k
CategoryOperations
Updated10h ago
Forks552

Languages

Python

Security Score

100/100

Audited on Apr 7, 2026

No findings