Skip to the content
2 layers80 × 129.1 mmSmart Plant, the printed circuit board in 3D

The Smart Plant is a board that can be plugged directly on the soil, close to the plant, that allows the measurement of the environment (soil moisture, environment temperature & illuminance), and presents the information on an ePaper display.

Size
80 × 129.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
75
Nets
53
Pads
294
Tracks, vias
575, 116
Pours
5
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Apr 2022
Updated
27 Oct 2026

Overview

Smart Plant is an open-source printed circuit board by JGAguado, from the JGAguado/Smart_Plant repository on GitHub. It is a 2-layer board of 80 × 129.1 mm with 75 parts on 53 nets, routed with 575 tracks and 116 vias.

It is built around the ESP32-S2-MINI-1-N4R2, AHT20 and VEML7700-TR, with the MAX17048G+T10, RT9080-33GJ5 and TP4056 among its other parts. Its parts include 25 capacitors, 21 resistors, 8 diodes, 7 ICs and 3 connectors. It belongs with the lEDs and displays and sensors and measurement boards and the ESP32 boards of this library.

Main components

11

README

README.md

Smart Plant

See how your plant is doing — on its own e-paper label and in Home Assistant.

Smart Plant measures soil moisture, light, temperature and humidity. Place it in your plant pot, read the measurements on the 2.9-inch e-paper display, and connect it to Home Assistant with ESPHome.

Five Smart Plant devices with custom plant labels and coloured enclosures

Get started · Create your plant label · Get a board · Read the documentation

Documentation Firmware tests License: CC BY-NC-SA 4.0

A useful label for every plant

  • Check the soil and surroundings. Read soil moisture, ambient light, air temperature and relative humidity.
  • Read it at the pot. The e-paper screen shows the last displayed readings while the device sleeps.
  • Make it yours. Give each plant its own name, illustration and gauge background with the companion Label-maker project.
  • Connect to Home Assistant. Choose the native ESPHome API or retained MQTT readings for devices that spend most of their time asleep.
  • Run on battery. The firmware sleeps between measurement cycles. The hardware also supports an optional solar cell.

Start with one plant

  1. Get a board, or use the hardware design files to explore the board.
  2. Follow the getting-started guide and ESPHome programming guide.
  3. Set your Wi-Fi credentials and calibrate the soil sensor for your setup.
  4. Add your own label background, then install the firmware.

The standalone configuration is the starting point for a single device. Read the safety instructions before assembly and flashing.

Create your plant label

The companion Label-maker generates printable plant labels and e-paper backgrounds from JSON or YAML templates. Use it to add a plant name and illustration to your display.

Example lemon-tree e-paper background

Follow the step-by-step label guide. Start with the plant examples and generator, then follow the programming guide to use the resulting background image. The firmware draws the live readings over that image.

Connect one plant or several

SetupStarting pointDuring deep sleep
One device with the native ESPHome APIStandalone configurationNo network response; entity availability depends on Home Assistant setup.
Several devices with retained MQTT readingsMQTT exampleLast published readings remain available.
Shared packages with the native ESPHome APIAPI exampleNo network response; entity availability depends on Home Assistant setup.

The multi-device guide explains the shared hardware core and transport profiles. Each device sets its identity and credentials. Calibration and label images use shared defaults unless overridden.

Explore the hardware

Smart Plant combines an ESP32-S2, a soil-moisture probe, environmental sensors and an e-paper display. The repository includes board design files and printable enclosure models.

Questions and contributions

Use Discussions for questions and ideas. Report reproducible problems in Issues.

Contributions to firmware, documentation and examples are welcome. Describe the problem, the change and how you verified it in your pull request.

Created by J. G. Aguado, with contributions from the community.

License

This project uses CC BY-NC-SA 4.0. See the license for attribution, non-commercial use and sharing requirements.

Parts

75
QtyValueFootprintReferences
101uFC0603C7, C9, C13, C14, C17, C18, C19, C25, C27, C28
610uFC0603C1, C4, C8, C10, C16, C20
510kR0603R1, R7, R10, R15, R16
5SS14SMA-DIODED1, D2, D3, D5, D6
41MR0603R8, R14, R18, R20
30.1uFC0603C12, C15, C40
2100nFC0603C6, C11
21kR0603R6, R11
24.7uFC0603C2, C26
25.1kR0603R36, R37
2LOGOLOGOG***, G***
2TPB1,27B1,27TP1, TP2
11X04J5
1JST-2-SMDJ1
10.47R0603R13
10.47nFC0603C3
11.2kR0603R4
11.5kR0603R3
110KR0603R9
110nFC0603C5
110uHINDUCTOR_4X4MM_NR401L3
11KR0603R5
1220R0603R17
1240kR0603R21
1330RR0603R2
1AHT20AHT20IC3
1E-PAPER-FPCFPC_24_0.5MMFPC0
1ESP32-S2-MINI-1-N4R2ESP32S2MINI1N4R2IC5
1FlashTACTILE_SWITCH_SMD_5.2MMS1
1GreenLED_0603LED2
1IRLML0100SOT23-3Q1
1LBSS84LT1GSOT23T2
1LL4148LL-34D4
1MAX17048G+T10SON50P200X200X80-9NIC7
1MMBT2222ASOT23T1
1RT9080-33GJ5SOT94P280X100-5NIC4
1RedLED_0603LED1
1ResetTACTILE_SWITCH_SMD_5.2MMS2
1TLC555CDRSO08IC2
1TP4056SOT23-8IC1
1USB-CUSB-C-16P-4LAYER-ISOLATEDJ6
1VEML7700-TRVEML7700-TRIC6

Similar boards

  • 2 layers79 × 30 mmLIA, the printed circuit board in 3D

    LIA

    JGAguado/LIA

    Low-power pet tracking platform built around Meshtastic and LoRa mesh networking

    81 parts29
  • 4 layers36 × 65 mmUwb beacon, the printed circuit board in 3D

    Uwb beacon

    dan-stefanov/locatof-hw

    Open-source localization project based on UWB Time-of-Flight ranging

    111 partsCERN-OHL-P-2.0
  • 2 layers50.8 × 22.9 mmMinimain esp32-s2, the printed circuit board in 3D

    Minimain esp32-s2

    DepartmentOfAlchemy/minimain-esp32-s2

    PCB files for the MiniMain ESP32-S2 in an Adafruit Feather compatible format.

    39 parts4
  • 4 layers140.7 × 77.4 mmHexControllerV3 larger, the printed circuit board in 3D

    HexControllerV3 larger

    TH4R4V3N1324/hexapod-controller

    Embedded firmware and hardware-support code for a hexapod robot controller. The repository contains firmware for the handheld/controller interface, an ESP32 wireless receiver, ATtiny1616 left and right boards, and a…

    48 parts
  • 4 layers128.7 × 63.9 mmHexControllerV3, the printed circuit board in 3D

    HexControllerV3

    TH4R4V3N1324/Hexapod

    This repository contains the complete design, control software and documentation for a six-legged walking robot (hexapod).

    49 parts
  • 2 layers79.4 × 47.2 mmAdafruit 2.9in eInk FeatherWing, the printed circuit board in 3D

    Adafruit 2.9in eInk FeatherWing

    Alfaa123/Arduino-Thermostat

    This is a project to create a Arduino powered home thermostat. Version 1 PCB schematic and design is complete.

    59 parts2
  • 2 layers36 × 34 mmEink breakout, the printed circuit board in 3D

    Eink breakout

    gpgreen/eink-breakout

    Kicad project for a Dalian Good Display Epaper breakout board for prototyping

    25 parts1MIT

Questions

How big is the Smart Plant PCB?

It measures 80 × 129.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Smart Plant use?

75 parts, built around the ESP32-S2-MINI-1-N4R2, AHT20, VEML7700-TR and MAX17048G+T10. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Smart Plant KiCad files?

From the JGAguado/Smart_Plant repository on GitHub, at the commit this page was made from: the board is Design/Smart_Plant.kicad_pcb and its schematic Design/Smart_Plant.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Smart Plant design in my own project?

Its repository states no licence, so its author keeps all rights: ask JGAguado before reusing the design.