MARSfarm Mini Version 0.2 (V0.21 and V0.23)

This thread is for customers, teachers, and students using the “MARSfarm Mini” platform of products. Between 2020-2022, MARSfarm shipped about 100 of these plant growth chambers around the world.

The following two posts will provide links to documentation for versions 0.21 and 0.23 of the MARSfarm Mini. Please reply to this thread with any comments about your experience with the MARSfarm Minis or any problems you have encountered. We will continue to actively support the hardware and software of these units for at least 3 years since the time of purchase.

Documentation for MM.V0.21

The first public release of the MARSfarm Mini (MM.V0.21) prototype was at the National Association of Agricultural Educators (NAAE) conference in Anaheim, CA - just a few weeks before Covid-19 shut down travel in February of 2020. In 2020, we sold about ~25 of these to 10 organizations for use in schools.

mm.v0.21 at NAAE on 02/15/2020




Documentation for MM.V0.23 — Most Recently Updated

Labs - Hydroponic Deep Water Culture

Labs - Wicking Tray



Software Architecture Overview:

  1. MARSfarm Device (Local Device Hardware/Software)
  • Each MARSfarm growth chamber has a Raspberry Pi with an SD card in it that has software pre-installed on it that is provisioned specifically for that device.
  • The Raspberry Pi connects to the internet using either Wi-Fi or ethernet, we recommend ethernet in most situations due to its reliability from year-to-year.
  • Once an hour, data from Co2/Temp/Humidity sensors and a camera in the growth chamber will be sent to three locations in the MARSfarm cloud using Python scripts executed by Cron.
  1. MARSfarm Device Connection to MARSfarm Cloud (Hosted Data Storage)
  • Camera - Images from the camera are sent to an independent S3 bucket hosted in Amazon Web Services (AWS), using a Python library called Boto.
  • Temperature/Humidity/Co2 - Sensor data is sent to a CouchDB database (, hosted in AWS on an EC2 server, using a Python library called couchdb.
  • Temperature/Humidity/Co2 - Sensor data is sent to a shared Google Sheet, created by MARSfarm, using a Python library called gspread.
  1. User Access to Data in the MARSfarm Cloud (MARSfarm Web Application)
  • Raw data for each device should be accessible via each of the devices Google Sheets’s, provided along with the device-specific domains, in this spreadsheet: Links to Data for 6 MARSfarms - WHS (Regina Smart) - 01.07.22
  • The domain “{devicename}” redirects to the MARSfarm web application, hosted in AWS on an EC2 server.
  • The web application uses the device name, which is provided by the user in the last part of the URL they enter (example: westlake1) to then determine what data to pull from CouchDB or S3.emphasized text

Hey @Jamira, I wanted to share a “hack” for the web application, that you can use to download any photo - rather than just the one selected from each day. I know that right now you were having some trouble seeing photos because the MM.V0.23 web app just defaults to show an image from 1 PM - and your light cycle has the lights off at that time. Because the device is actually taking and storing photos from every hour, rather than just those at 1 PM, there are many more photos than those that are shown by default.

Bottom line, rather than seeing these photos:

  1. Right-click on the hyperlink to download a photo and then click on “Copy link address”.


  1. Paste that URL (example: into a new tab of your browser. After hitting enter, this should then download the photo from however this is still the photo from 1 PM on June 16 (2023-07-16-1300) to your computer.

  1. To download a photo from any date/time, simply change the date in that URL. So to select a photo from 9 AM, instead of 1 PM, change the name of the file from 2023-07-16-1300, to be 2023-07-16-0900 and then hit enter. A URL of should download the photo for whs-05 from June 16th at 9 AM. The same principal will work for photos from different devices/days/months/etc - just change the URL!

Please let me know if you have any questions!

@DrDonnaJ this might be useful information for you as well!