Michael Karlesky

A cabinet of wonders. Minus the cabinet. And possibly the wonders.

Portfolio

Edenworks Indoor Farming: A Crop of Data

How do we harvest the right insights as we harvest our products?

Backstory

Microgreens growing in a pond within vertical racks

Upward Farms, an indoor vertical farming startup, began its life as Edenworks. Using aquaponics, the company grows fish that are the fertilizer source for microgreens. The fish grow in tanks, and the greens grow in a series of ponds stacked vertically in industrial racks. Bacterially produced, nitrogen-rich water circulates from fish to greens. This style of growing uses no artificial fertilizers or harmful insecticides, and the packaged microgreens are on store shelves as soon as within twenty-four hours of harvest.

Edenworks was an early stage startup. It was constantly growing — both literally as a farm and metaphorically as an organization. The Edenworks pilot facility and subsequent Upward Farms facilities were not only farms but also manufacturing facilities.

Note: For reasons of confidentiality this case study discusses only the long ago decommissioned Edenworks pilot growing system. Industrial versions of the components and systems in the Edenworks system have long since been replaced in the Upward Farms facilities.

Salmon seen through their tank’s window

With so many living things in an enclosed ecosystem and with so many operational processes, data was incredibly important. A core requirement was preventing mortality events. But, data also meant the opportunity for insights into quality issues, R&D projects, and optimized production.

I orchestrated the creation and operation of the data infrastructure for Edenworks’ many needs and various users. This work involved a team of four as well as a variety of sensors, embedded systems, enterprise & web applications, networks, databases, alarms, dashboards, analytics reports, and data exploration tools.

My work was expansive. This case study focuses on the environmental data system. Similar and interconnected business data, operational, and I.T. systems are not discussed here.

Work

My contributions to developing Edenworks’ environmental data infrastructure fell in four buckets:

  1. Leading the Software & Electronics team

    1. Strategy, user discovery, and requirements

    2. Project management

    3. Software development & hardware bringup processes

    4. Team mentoring

  2. Developing custom software

    1. Interaction design + information architecture

    2. Firmware for embedded hardware

    3. Systems-level applications for data handling

  3. System administration — Docker, Linux, NGINX, various web apps, OAuth2, etc.

  4. Leading data and sensor systems operations and maintenance

Development:

  • FarmHand

    • Sensor node application — C++ on ATmega2560, i2c, RS485/Modbus, and MQTT with a telnet-based command line for sensor calibration and administration functions

    • Continuous Integration build system — Docker, Git, SCons, avr-gcc toolchain, valgrind, Google Test

    • Deployment system — Docker container generated by build system + avrdude + ser2net + USB

  • FarmManager — Hybrid local Linux + cloud-based data handling system

    • Custom components written in Go

    • Assembly of 15+ Docker containers for web apps, databases, backup, and monitoring systems

  • Farmbot — Slack-based app written in Go for system management and raw data queries

  • Django-based custom manual environmental measurements entry web app

  • InfluxDB-based time-series data handling stack

  • PagerDuty-based environmental and I.T. infrastructure alarms

    • Deadman alarms

    • Environmental conditions alarms

    • Power loss & 3 phase power disruption alarms

    • Internet connectivity alarm

    • FarmHand internal logging alarms

  • Grafana-based dashboards for production, testing, and calibration data

  • Power BI-based reports synthesizing business and environmental data

  • NGINX: Intranet, reverse-proxies for web applications, and OAuth2 access management via GSuite

Results

At its peak, the environmental data infrastructure I worked to produce processed 10 types of sensor readings at 50+ sites within the pilot facility yielding 10,000,000+ data points per month.

Farmers had alarms and dashboards to manage day-to-day work while the engineering and business teams had ready access to large volumes of data through further dashboards and reports. All users had access to a variety of web applications and data exploration interfaces.

We were invited to participate in the Beta of the InfluxData’s next generation of products. Similarly, because of our creative use of their product, PagerDuty highlighted Edenworks at their PagerDuty Summit 2019 (see gallery image) and co-authored a company blog post and an integration guide with me.

See the gallery below for some of the equipment involved, various software screenshots, and more.

Gallery

Open each image for a larger view and a detailed caption. The following depict only a portion of the larger data collection, analytics, and information technology systems touched on above.