Plant Friend is your plant companion to keep your plants from dying.
All parts i have are bought from AliExpress. The LDR and Pushbutton came with a 37 in 1 sensor kit. Although i have to say that the labelling is totally messed up on the breakout boards (S = 3.3V, - = Signal, + = Ground). So if you buy one double check the board.
For this project i've used the ESP32 by Espressif. Besides its form factor this project could've been done with an Arduino as well or something similar. So if you don't have one, use what you've got.
Part | Name | Label | Port |
---|---|---|---|
SSD1306 | Input Voltage | 3.3V | 3.3V |
Ground | GND | GND | |
Clock | SCL | 22 | |
Serial Data | SDA | 21 | |
LDR | Input Voltage | + | 3.3V |
Output Voltage | S | 34 | |
Ground | - | GND | |
Push button | Input Voltage | + | 3.3V |
Output Voltage | S | 13 | |
Ground | - | GND | |
Soil moisture sensor | Input Voltage | + | 3.3V |
Output Voltage | S | 15 | |
Ground | - | GND |
- keep in mind the labelling is messed up on my sensors, so if you use the same don't look at the labels.
For programming the ESP32 i use the Arduino IDE. These settings are what i currently use uploading. I'm not sure if this is the best, but works.
Setting | Value |
---|---|
Board | ESP32 Dev Module |
Upload | 921600 |
CPU Frequency | 240MHz (WiFi/BT) |
Flash Frequency | 80MHz |
Flash Mode | QIO |
Flash Size | 4MB (32Mb) |
Partition Scheme | Default 4MB with spiffs (1.2 MB APP/1.5MB SPIFFS) |
Core Debug Level | None |
PSRAM | Disabled |
If you want to add different sprites you can easily convert you BMPs to XBM files. Generating XBM files from BPMs can be done with the use of Imagick. With the following script that it can be done in bulk.
→ magick mogrify -format xbm *.bmp
If you don't have Image Magick you can install this with Homebrew. I have no idea how to do this with Windows...