Skip to the content
PCBKitNew board
2 layers97 × 23.7 mmHomegreen Node Basic, the printed circuit board in 3D

Homegreen Node Basic

pmalessa/homegreen-Node1

The system is based on an inexpensive node, which is able to control up to 3 pumps and can be powered by nearly any conventional powerbank.

Size
97 × 23.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
67
Nets
86
Pads
254
Tracks, vias
0, 0
Pours
4
Routed
Not yet
KiCad
KiCad 7 (file 20221018)
Created
26 Feb 2023
Updated
31 May 2026

Overview

Homegreen Node Basic is an open-source printed circuit board by pmalessa, from the pmalessa/homegreen-Node repository on GitHub. It is a 2-layer board of 97 × 23.7 mm with 67 parts on 86 nets.

It is built around the ATTINY88-AU, MT3608 and TM1637, with the FJ3661BH, MT9700 and BAT54S among its other parts. Its parts include 26 resistors, 18 capacitors, 8 diodes, 7 ICs and 3 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

9

README

README.md

HomeGreen - self watering system

Description

A self watering system for outdoor plants. This project contains the hardware and software files to completely build a HomeGreen node on your own.

The system is based on an inexpensive node, which is able to control up to 3 pumps and can be powered by nearly any conventional powerbank. It has a basic user interface using a 6-Digit 7-Segment Display combined with 4 touch buttons. As a pump, you could either use a 4-6V DC pump or a 5V relay to control a higher voltage pump. The node is designed to be water resistant and can be easily mounted using embedded magnets or a 3D printed holder.

Repository structure

This repo contains everything you need to build a homegreen node on your own:

  • hardware: The EAGLE PCB and GERBER files, BOM and models and dimensions for the case
  • firmware: The firmware for the microcontroller (attiny88) on the node

Hardware

The HomeGreen node PCB is designed to be enclosed in a 25mm diameter transparent pipe to be water resistant. The touch buttons can be used through the pipe without the need to open the case. The 2 ends need plastic caps, which could be easily 3D printed. one needs to be fully closed, while the other one needs to have an opening the for USB-A connector of the pump as well as the micro USB connector of the powerbank.

Firmware

The firmware is written in low-level C++ and uses the PlatformIO framework. It is designed to run as energy efficient as possible to be able to run on a powerbank for a long time.

Detailed description

The HomeGreen node contains the following main components:

  • an attiny88 microcontroller as main controller
  • a sophisticated power management circuit to be able to sleep and wake up the connected powerbank regularly
  • a 6-Digit 7-Segment Display with its controller as user interface
  • a 4-Channel touch button controller as user interface
  • an I2C temperature sensor to measure the temperature of the environment
  • a current limiter, step-up converter and a current measurement circuit to adjust and monitor the output power for the pump
  • the ability to control up to 3 pumps sequentially using an additional HomeGreen Pump Hub

Power management

The main issue of supplying your gadgets using a powerbank is the fact, that nearly all powerbanks shut off after a certain time of inactivity. As the sleep current draw of the HomeGreen node is substantially lower than any charge current the powerbank is designed for, it treats it as inactive and shuts off eventually.

This led to the necessity to have a supercapacitor as an additional short-time energy storage onboard to be able to power the controller while in sleep and only wake the powerbank once the supercap is drained or it is time to enable the pump.

Additionally, each powerbank is behaving differently when it comes to the sleep and wake behavior. Some powerbanks wake up immediately once you connect the capacitive load of the supercap, while others require an additional substantial resistive load to enable its regulators. Strangely, some powerbanks even change their polarity and apply -2.5V to their output!

To support most of the available powerbanks on the market 2 MOSFETS back to back, combined with a charge pump and an additional controllable resistive load was necessary. Even with that, some powerbanks do not work reliably and should be avoided. A list of tested powerbanks will be added.

User Interface

The HomeGreen Node consists of a 6-Digit 7-Segment display as well as 4 touch buttons to view its status and adjust all parameters to your needs. The HomeGreen Node can be used to control up to 3 pumps using an additional HomeGreen Pump Hub. Once connected, the user interface switches to the ability to adjust timing of each pump separately. However, if no Pump Hub is connected, it is simplyfied to control just one pump.

Sleep State

In its default sleep state, the 7-Segment Display is turned off and only the 2 Status LEDs are displaying its state.

  • If it blinks green once every 8 seconds, everything is fine.
  • If it blinks green twice and in a faster interval, it charges its supercap. This happens every 5-15mins.
  • If it blinks red, an error occured and the Node should be checked by waking it to get more details.
  • If it is time to water the plants, it will wake itself and continue with the Pump State.
  • To wake the Node, just touch one of its touch buttons. It will then try to wake the powerbank and will turn on its Display, once successful. It may take multiple tries sometimes depending on the model of powerbank. It then moves into Info State. If an error occured, it will switch into Error State after wake up before going to Info State.
Info State

In the info state, you see the set interval and duration of the pump cycle as well as the time left till the next pump cycle at one glance. If a Pump Hub is connected, you can switch between the config for each pump with a short press of the SET button.

  • If no button is pressed, it shuts off and switches back to Sleep State after some time.
  • To adjust the interval or duration of the pump cycle, long press the SET button and wait for the display to fade out and in. It now switched into Config State.
  • To start a manual pump cycle, just long press the MANUAL button. It then switches into Pump State.
Config State

In the Config State, you can adjust the interval and duration of the pump cycle. The currently selected parameter is displayed by blinking its number.

  • To increase the parameter, short press or hold the + button.
  • To decrease the parameter, short press of hold the - button.
  • To switch the selected parameter, short press the SET button.
  • To save the newly configured parameters, long press the SET button. It switches to Info State then.
  • If no button have been pressed for a longer period, changes are discarded and it switches to Info State.
  • To get more advanced information and configuration options, long press the MANUAL button to switch to Advanced State.
Pump State

Once the pump interval elapsed or a manual pump cycle has been started, the Node switches into Pump State. In Pump State, an animation is displayed as well as the time left to pump in the current cycle. If a Pump Hub is connected, it will additionally display which pump is currently enabled.

  • To increase the current pump cycle by 1 minute, short press the + button.
  • To decrease the current pump cycle by 1 minute, short press the - button.
  • To manually switch to the next pump, short press the SET button.
  • To stop the current pump cycle, long press the MANUAL button.
  • Once the pump duration of all pumps elapsed, the Node will switch to Info State to shortly display its current parameters, and after some time of inactivity it switches back to Sleep State.
Error State

If an error ocurred, the red led blinks to signal that something went wrong. To check for details, wake the node and it will switch to this state. The following errors are possible:

  • PB_ERR: Powerbank-Error - The node was not possible to wake the powerbank at its last wake up by a pump cycle or a user action. Check the charge state or cabling of the powerbank. Maybe that model is incompatible with the Node, check the list of tested powerbanks for hints.
  • P1_ERR/P2_ERR/P3_ERR: Pump1/2/3-Error - There is an issue with the mentioned pump, the current draw had an anomaly. Maybe the cable is broken, the water tank is empty or the pump is clogged.
  • EP_ERR: EEPROM-Error - There is an issue with the save state of the configuration. This rarely happens, but sometimes the config can get corrupted by battery drain. The config will be reset to default state and it has to be reconfigured.

The following interactions are possible:

  • To clear the current error, short press any button.
  • To ignore the current error permanently (until the next reset to defaults), long press the MANUAL button.
Advanced State

The Advanced State contains additional information and configuration options to move through. The following informations are displayed:

  • The build date of the firmware
  • The build version of the firmware
  • The current runtime in hours
  • The total runtime in hours

The following interactions are possible:

  • To move to the next information, short press the SET button
  • To leave the Advanced State back to Info State, long press the SET button
  • To reset all configurations to its default state, long press the MANUAL button. It then switches back to Info State.

Parts

67
QtyValueFootprintReferences
10100kResistor_SMD:R_0805_2012MetricR1, R3, R7, R8, R15, R16, R17, R20, R24, R25
9100nCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C6, C8, C9, C18
61kResistor_SMD:R_0805_2012MetricR4, R11, R12, R13, R14, R21
45pCapacitor_SMD:C_0805_2012MetricC10, C11, C12, C13
310kResistor_SMD:R_0805_2012MetricR19, R22, R23
310uCapacitor_SMD:C_0805_2012MetricC15, C16, C17
3BAT54SPackage_TO_SOT_SMD:SOT-23D1, D2, D3
23kResistor_SMD:R_0805_2012MetricR9, R10
247Resistor_SMD:R_0805_2012MetricR2, R6
2BC817DPNPackage_SO:SC-74-6_1.5x2.9mm_P0.95mmQ1, Q2
2whLED_SMD:LED_0805_2012MetricD6, D7
10.33FCapacitor_THT:CP_Radial_D13.0mm_P5.00mmC7
11MResistor_SMD:R_0805_2012MetricR5
12.2uInductor_SMD_Wurth:L_Wurth_WE-LQSH-4020L1
120mResistor_SMD:R_0805_2012MetricR26
1330uCapacitor_SMD:CP_Elec_6.3x5.8C14
14k7Resistor_SMD:R_0805_2012MetricR18
1ATtiny88-APackage_QFP:TQFP-32_7x7mm_P0.8mmU1
1Conn_01x06_PinConnector_JST:JST_XH_S6B-XH-A_1x06_P2.50mm_HorizontalJ3
1DSS24Diode_SMD:D_SOD-123D8
1FJ3661BHPmale_Misc:FJ3661BHU3
1INA180A2Package_TO_SOT_SMD:SOT-23-5U6
1MT3608Package_TO_SOT_SMD:SOT-23-6U5
1MT9700Package_TO_SOT_SMD:SOT-23-5U7
1SW_PushPmale_Misc:SW_DHT-4235ASW1
1TM1637Package_SO:SO-20_12.8x7.5mm_P1.27mmU2
1TTP224Package_SO:SSOP-16_3.9x4.9mm_P0.635mmU4
1USB_APmale_Misc:Wuerth_61400416021J2
1USB_B_MicroConnector_USB:USB_Micro-B_Molex-105017-0001J1
1WST2011Package_TO_SOT_SMD:SOT-23-6Q3
1grLED_SMD:LED_PLCC_2835D4
1redLED_SMD:LED_PLCC_2835D5

Questions

How big is the Homegreen Node Basic PCB?

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

What parts does the Homegreen Node Basic use?

67 parts, built around the ATTINY88-AU, MT3608, TM1637 and FJ3661BH. 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 Homegreen Node Basic KiCad files?

From the pmalessa/homegreen-Node repository on GitHub, at the commit this page was made from: the board is hardware/Homegreen Node Basic/Homegreen Node Basic.kicad_pcb and its schematic hardware/Homegreen Node Basic/Homegreen Node Basic.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Homegreen Node Basic design in my own project?

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

Similar boards

  • 2 layers85.5 × 70 mmV0-Replay-26 PCB A, the printed circuit board in 3D

    V0-Replay-26 PCB A

    temporal-community/badge.temporal.io

    Open-source firmware, hardware files, docs, and community app registry for the Temporal Replay 2026 Badge.

    211 parts8MIT
  • 4 layers56 × 60 mmPCBA KNOT, the printed circuit board in 3D

    PCBA KNOT

    intechstudio/knot

    Knot is the bridge between old-school MIDI gear like synthesizers, groove boxes, guitar pedals and neat USB MIDI devices.

    111 parts58GPL-3.0
  • 4 layers56 × 60 mmMIDI Host, the printed circuit board in 3D

    MIDI Host

    scorchio/knot

    Custom firmware for the Intech Studio Knot

    109 partsGPL-3.0
  • 2 layers86.5 × 71 mmAtomic01 PCB, the printed circuit board in 3D

    Atomic01 PCB

    rajeev2705/PROJECTS

    Welcome to my PCB projects repository! This space is dedicated to documenting my journey in designing, creating, and improving printed circuit boards (PCBs).

    50 parts
  • 4 layers68.6 × 53.3 mmSFduino UNO S2, the printed circuit board in 3D

    SFduino UNO S2

    HalfSweet/SFduino-UNO-S2

    SF32LB52 Devkit

    133 parts2
  • 6 layers80 × 70 mmIMX6 Demo Board from REF, the printed circuit board in 3D

    IMX6 Demo Board from REF

    ts-manuel/iMX6-Demo-Board

    Demo board for the i.MX6ULL Single-Core Processor with Arm Cortex-A7 Core

    504 parts10GPL-3.0
  • 2 layers47.9 × 49.6 mmBMP280Tiny, the printed circuit board in 3D

    BMP280Tiny

    danheeks/vario

    paragliding vario with arduino nano, piezo sounder, bmp180 altimeter, 4x Nimh batterys

    45 parts11