Skip to the content
PCBKitNew board
2 layers55 × 55 mmLeafNode v3.1, the printed circuit board in 3D

Modular node for sensor monitoring and device control in grow environments.

Size
55 × 55 mm
Copper layers
2
Thickness
1.6 mm
Parts
91
Nets
67
Pads
346
Tracks, vias
475, 144
Pours
4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
12 Jun 2026
Updated
30 Jul 2026

Overview

LeafNode v3.1 is an open-source printed circuit board by leafai-io, from the leafai-io/leaf-node-v3.x repository on GitHub. It is a 2-layer board of 55 × 55 mm with 91 parts on 67 nets, routed with 475 tracks and 144 vias.

It is built around the CP2102, ESP32-S3-MINI-1-N8 and LM358PW, with the MAX485ESA+T, R-78E3.3-1.0 and G6K-2F-Y-DC12 among its other parts. Its parts include 35 resistors, 15 capacitors, 11 diodes, 6 ICs and 5 transistors. It belongs with the ESP32 boards of this library.

Main components

12

README

README.md

Leaf Node 3.1

Leaf AI is an independent, open-source project. If you find it useful, you can support its continued development at Leaf AI Support.

The Leaf Node is an open-source environmental monitoring and control device built on the ESP32-S3. It reads sensor data, publishes it over MQTT, and can trigger actuators — allowing you to monitor conditions and directly control connected devices such as lights, fans, pumps and valves. Configuration is handled wirelessly via BLE, making it a self-contained building block for precision agriculture and environmental monitoring and automation systems.

Leaf Node


Philosophy

Leaf Node is built around one principle: it should just work. From first flash to live sensor data in minutes — simple enough for a grower to deploy in the field, open enough for a developer to extend and build on. No unnecessary complexity, no steep learning curve.


Features

  • Multi-protocol sensor support — I2C, RS485, SDI-12, OneWire on a single board
  • MQTT telemetry — publishes sensor data and heartbeats, receives commands
  • OTA firmware updates — triggered via MQTT command, no physical access needed
  • BLE provisioning — initial Wi-Fi and MQTT setup from the companion app, no serial cable required
  • Scheduling — DAC and actuator outputs can be programmed on a time-based schedule
  • Smart control — MOSFET and relay outputs with duration-based switching
  • Node chaining — UART-based daisy-chain for multi-node deployments
  • Watchdog & health monitoring — automatic recovery with exponential backoff on sensor errors
  • Factory mode — serial-console provisioning for production flashing

Hardware

Leaf Node PCB

Overview

ComponentDetails
MCUESP32-S3
Status LEDWS2812B addressable RGB (v3)
RS485Half-duplex, DE/RE controlled
I2CSDA GPIO8, SCL GPIO9
SDI-12GPIO12 (shared with OneWire via hardware bridge)
OneWireGPIO12
ActuatorsMOSFET (GPIO36), Relay (GPIO38), DAC (MCP4725 via I2C)
PWMGPIO2 (1 kHz, 10-bit) + MOSFET gate (5 kHz, 10-bit)

Leaf Node Pinout

Supported Sensors

SensorInterfaceWiringMeasurement
SHT31I2C (0x44)+3.3V · GND · SDA · SCLTemperature, Humidity
EZO pHI2C (0x63)+3.3V · GND · SDA · SCLpH
EZO ECI2C (0x64)+3.3V · GND · SDA · SCLElectrical Conductivity
TEROS 12SDI-12+3.3V · GND · SDI-12Soil moisture, temperature, EC
DS18B20OneWire+3.3V · GND · Need ModificationTemperature
SLT5007RS485+3.3V · GND · A · BVWC, Bulk EC, Soil temperature, Pore EC
CWT-PSSRS485+12V · GND · A · BPAR (Photosynthetically Active Radiation)
LEAFTHSNRS485+12V · GND · A · BLeaf wetness, Leaf temperature
CWT-SoilTHSRS485+12V · GND · A · BVWC, Soil temperature
CWT-THXXSRS485+12V · GND · A · BAir temperature, Humidity, VPD

Actuators

ActuatorGPIO / InterfaceWiringTypical Use
MOSFETGPIO36+12V · -PWRPumps, fans, DC loads
RelayGPIO38COM · NO · NCAC/DC switching, high-current loads
DAC (MCP4725)I2C (0x60)0-10V · GNDAnalog 0–5 V output (e.g. dosing pumps)
PWMGPIO2IO2 · GNDVariable speed / dimming control

PCB & Enclosure

Leaf Node Assembly


Getting Started

Option A — Web Flasher (recommended)

No toolchain required. Works directly in Chrome/Edge.

  1. Get the hardware — order a ready-to-use Leaf Node at Build Your Leaf Node, or fabricate your own PCB from the KiCad files
  2. Open the Leaf AI Firmware Flasher and follow the on-screen steps
  3. Open the Leaf AI app, tap Add Device, and provision Wi-Fi via BLE

That's it — the node connects to the Leaf AI backend and starts publishing sensor data.

A free Leaf AI account is required to use the app. Sign up directly in the Leaf AI app.


Option B — Build from source (PlatformIO)

For developers who want to modify or extend the firmware.

Prerequisites: PlatformIO (CLI or VS Code extension)

1. Assemble the hardware

Fabricate the PCB from the files in hardware/pcb/ and wire your sensors according to the pin table above.

2. Flash the firmware

First flash: Use the Leaf AI Firmware Flasher for the initial flash. It writes a compatible serial number to the device that is required for communication with the Leaf AI app. Subsequent builds can be uploaded via PlatformIO.

bash
git clone https://github.com/leafai-io/leaf-node-v3.1.git
cd leaf-node-v3.1
pio run --target upload

Monitor serial output (115200 baud):

bash
pio device monitor
3. Provision via BLE

Open the Leaf AI app, tap Add Device, and follow the on-screen steps to configure Wi-Fi and link your account.


Using with the App

Leaf AI App

Once your Leaf Node is provisioned, open the Leaf AI app to view live sensor readings, configure schedules, and control actuators — all from your phone.


License

This project uses two open-source licences depending on what you are working with:

ComponentLicence
Firmware / SoftwareGNU AGPL-3.0
Hardware (PCB, enclosure)CERN-OHL-S v2

Software (AGPL-3.0): You can use, modify, and distribute the firmware freely, but any modified version you run as a networked service must also be released under the same licence.

Hardware (CERN-OHL-S v2): You can study, modify, and manufacture the hardware freely, but any modified design you distribute or produce must be released under the same licence with complete source files.

If you create a fork, we'd love to hear about it. Open an issue or send us a message so we can showcase your project and potentially integrate useful improvements.


Support

Leaf AI is an independent, open-source project. If you find it useful, you can support its continued development at Leaf AI Support.

Parts

91
QtyValueFootprintReferences
1310kR0402_334R17, R18, R19, R22, R23, R31, R32, R33, R37, R38, R39, R40, R41
7TPTP13RTP13R_385D-0, D+0, EN0, IO0, IO39, RXD0, TXD0
6100nFC0603_334C10, C11, C12, C17, C18, C19
610uFC0603_334C1, C2, C4, C5, C8, C9
6LESD5D5.0CT1GTVS_LESD5D5.0CT1GD2, D4, D10, D11, D12, D13
4100R0402_334R8, R10, R12, R14
41kR0402_334R6, R7, R24, R25
30RR0402_334R4, R5, R27
2MA05-1_162LEFT0, RIGHT0
21725737PHOENIX_1725737J1, J3
220kR0402_334R2, R3
25k1R0402_334R28, R29
2SI2302DSSOT23-3_TO-236ABQ3, Q6
2SS8050-GTRANS_SS8050-GQ2, Q5
1SOLDERJUMPER_ARROW_NOPASTESJ1
1100kR0402_334R13
1120R0402_334R1
11N4148WSODFL3816X120ND6
11uFC0603_334C14
1220pFC0603_334C3
122k1R0402_334R35
12kR0402_334R36
12k1R0402_334R9
14,7uFC0603_334C20
147k5R0402_334R34
1510R0402_334R11
1BOOTSKRKS2
1CP2102QFN50P500X500X100-29NU8
1CSP-USC16-TRVALCON_CSP-USC16-TRJ4
1ESP32-S3-MINI-1-N8XCVR_ESP32-S3-MINI-1-N8U2
1G6K-2F-Y-DC12G6KU16
1IRLML6344SOT23Q1
1LM358PWSOP65P640X120-8NU7
1LQH2MCN100M52LIND_LQH2MCN100M52LL1
1MAX485ESA+TSOIC127P600X175-8NU5
1MBRS540T3GDIOM7959X261ND1
1MCP4725A1T-E/CHSOT23-6U6
1PJ-018HCUI_PJ-018HJ2
1PMEG3030EPSOD_128D5
1R-78E3.3-1.0CONV_R-78E3.3-1.0PS1
1RESETSKRKS3
1SK68XXMINI-HS3535D7
1SKRKAEE010SKRKS1
1SS14DIOM4325X250ND3

Questions

How big is the LeafNode v3.1 PCB?

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

What parts does the LeafNode v3.1 use?

91 parts, built around the CP2102, ESP32-S3-MINI-1-N8, LM358PW and MAX485ESA+T. 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 LeafNode v3.1 KiCad files?

From the leafai-io/leaf-node-v3.x repository on GitHub, at the commit this page was made from: the board is hardware/pcb/kiCad/LeafNode_v3.1.kicad_pcb and its schematic hardware/pcb/kiCad/LeafNode_v3.1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the LeafNode v3.1 design in my own project?

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

Similar boards

  • 4 layers36 × 51.8 mmVert Board rev3, the printed circuit board in 3D

    Vert Board rev3

    tokoro10g/micromouse-vert

    Micromouse "Vert"

    117 parts7
  • 4 layers63.9 × 37.1 mmUsbhid daq, the printed circuit board in 3D

    Usbhid daq

    shraken/usbhid_buddy

    Hardware, firmware, and software for the USBHID DAQ 'Buddy' device

    73 parts2
  • 2 layers88.9 × 75.4 mmVer 0.20, the printed circuit board in 3D

    Ver 0.20

    saulpaiva/respirometro

    Documentação referente a placa de circuito impresso versão 0.2. Versão em dosenvolvimento.

    32 parts
  • 2 layers59.1 × 106.7 mmVeils v40, the printed circuit board in 3D

    Veils v40

    jonstapleton/mutable_eurorack

    Eurorack modules

    160 parts
  • 2 layers39.6 × 99.1 mmESP32-Eurorack Audio, the printed circuit board in 3D

    ESP32-Eurorack Audio

    ctag-fh-kiel/ctag-tbd

    CTAG TBD >>to be determined<< an extendible open source Eurorack sound module

    128 parts260
  • 4 layers100 × 100 mmESP32-Eurorack Audio, the printed circuit board in 3D

    ESP32-Eurorack Audio

    ctag-fh-kiel/esp32-eurorack-audio

    Open source eurorack audio module based on ESP32

    173 parts71
  • 2 layers128 × 88 mmFireball revD, the printed circuit board in 3D

    Fireball revD

    ugcs/ddc

    Drone Show Software is software designed for drone shows, allowing flight path planning as well as control of dozens of drones simultaneously in a synchronized manner.

    64 parts223