A easy to use DIY grow controller firmware (for cannabis).
Find a file
Marcus a330268960 debugging - LittleFS causes ESP32 D1 Mini to crash - no idea why
when calling LittleFS.format() esp32 d1 mini crashes

```
assert failed: esp_littlefs_format esp_littlefs.c:474 (partition_label)

Backtrace: 0x40083571:0x3ffb2040 0x40088365:0x3ffb2060 0x4008d2bd:0x3ffb2080 0x400e1c83:0x3ffb21b0 0x400d2ba9:0x3ffb21f0 0x400d1a0a:0x3ffb2210 0x400d4d3a:0x3ffb2290
```
2024-10-17 15:28:16 +02:00
Arduino/CanGrow debugging - LittleFS causes ESP32 D1 Mini to crash - no idea why 2024-10-17 15:28:16 +02:00
KiCad/CanGrow pcb wip v0.6.1 - minor silkscreen tweak. 2024-09-25 02:11:13 +02:00
Logo add large favico png 2024-09-11 00:33:06 +02:00
playground/html firmware wip - add firmware update from web ui 2024-06-15 02:26:17 +02:00
.gitignore ignore CanGrow_Version.h 2024-10-17 15:27:00 +02:00
arduino-cli.yml add arduino-cli.yml 2024-06-16 00:55:11 +02:00
cangrow.sh cangrow.sh tweaks 2024-10-17 15:26:41 +02:00
LICENSE Initial commit 2024-03-30 01:24:43 +01:00
README.md README.md aktualisiert 2024-09-14 21:04:14 +02:00

CanGrow

CanGrowLogo

An easy to use DIY grow controller firmware (for cannabis).

Screenshot_WebUI_root.png CanGrow_PCB_Front.png

WORK IN PROGRESS

Motivation

I havn't found an already existing grow controller project within the ESP / Arduino Core eco system which met my personal requirements. Those are an easy DIY, using low cost parts, Arduino Core sourcecode to hack own things together, having a WebUI, grab some Metrics for monitoring, standalone and my very special need that the Hardware should run completely with 12V.

Update 14.09.2024 - Code Rewrite v0.2

I took some "summer break" from the project, and had the opportunity to talk to different people about it. My conclusion at this point is, that the focus of this project is not the Hardware, it came out that it should be the software. So I decided to completely rewrite the code from 0 - with recycling some parts of it. Goal of the Rewrite is that the Firmware becomes more independent of the hardware used. It has to support both ESP8266 and ESP32 and let the user decide at which pin which output, sensor or whatever will be connected to. Like done in the Tasmota Firmware, I also want to support "Hardware Templates" which come with presets for PCBs like the one I created.

Checklist for v0.2 Firmware

  • Support ESP8266 and ESP32
  • AsyncWebserver instead ESP8266Webserver
  • LittleFS instead of EEPROM()
  • deliver static HTML, dynamic Stuff with Javascript
    • (or is there a better way? please tell me!)
  • Free configurable outputs
    • Main outputs for Light, Air, Water
    • Support for Tasmota Wifi Plugs (and others?)
    • No Limitation for Amount of outputs
    • Light
      • support for I2C 0-10V Dimm control
      • PWM dimm control
    • Air
      • support for I2C 0-10V Dimm control
      • PWM dimm control
      • Support for humidifier, heater (, CO2?)
      • Read Fan RPM
    • Water
      • Usual watering
      • Pump for fertilizer
  • Free configurable Inputs
    • Support for various I2C devices
      • All kind of sensors for Temp, Humidity, Moisture, and so on
      • Support for ADCs to connect multiple analoge sensors
    • Support for Analog inputs
      • onboard ones or I2C (ADC)
      • Analog Multiplexer support (like CD4051)
    • Calibrate sensors
      • define 0% and 100% values
      • Offsets
  • MQTT support
  • API

Old v0.1 Features / ToDo List

  • Measure values
    • Humidity
    • soil moisture
    • temperature
    • water level for water tank
  • LED grow light control (on/off, dimming, max. 12V 50W load )
    • You can of course use a relais as well, if you want to drive 220V lights
  • fan control (on/off, (PWM?) max 1A)
  • pump control for automatic watering (max 1A) 🔵
  • Web UI and REST API for data and controlling 🔵
    • simple web ui
    • REST API 🔵
    • Send notifications with web call (e.g. for mastodon) 🔴
    • predefined grow profiles 🔵
    • persistent data
      • Start of Grow
      • day of grow 🔵
      • grow profile
        • watering amount per week 🔵
        • light cycle
      • wifi settings
      • settings in general
  • Easy to build and use for beginners (i hope so!)
    • PCB layout to order from manufacture (jlcpcb or pcbway)
    • easy to build up on a perfboard
    • easy to etch pcb
    • easy to access and modify
    • low cost as possible!

Done - 🔵 In Progress - 🔴 ToDo