Skip to the content
PCBKitNew board
2 layers39 × 15 mmORing Power, the printed circuit board in 3D

EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

Size
39 × 15 mm
Copper layers
2
Thickness
1.6 mm
Parts
13
Nets
7
Pads
41
Tracks, vias
46, 1
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
5 Aug 2026
Updated
4 Nov 2026

Overview

ORing Power is an open-source printed circuit board by magicamun, from the magicamun/EnvNode repository on GitHub. It is a 2-layer board of 39 × 15 mm with 13 parts on 7 nets, routed with 46 tracks and 1 via.

It is built around the SS14. Its parts include 5 capacitors, 2 resistors, 2 ICs, 2 diodes and 2 connectors.

Main components

1

README

README.md

EnvNode

EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

WeatherStation is the first reference application built on the reusable EnvNode platform.

The classic ESP32 firmware keeps Arduino-ESP32 2.x and RainDetector, with UDP logging to rsyslog instead of SD storage. SD and SX1262 runtime support belong to the later S3 hardware/build profile. See the classic ESP32 scope and logging validation for current limits and measurements.

The project intentionally separates measurement from interpretation.

The firmware is responsible for acquiring reliable physical Measurements and publishing them to external systems.

Higher-level concepts such as weather interpretation, historical aggregation, evapotranspiration (ETo), irrigation logic and visualization intentionally remain outside the firmware.

EnvNode is developed as a complete source-available product including:

  • firmware
  • hardware (KiCad)
  • documentation
  • development tooling

The goal is not to build another weather dashboard.

The goal is to build a reliable measurement platform.


Vision

EnvNode provides an open, transparent and extensible weather sensor platform for Home Assistant and other home automation systems.

The ESP32 acts as a dedicated measurement node.

It acquires physical sensor data, performs only the hardware-related processing required to obtain reliable Measurements and publishes them via MQTT.

The firmware intentionally remains deterministic, maintainable and independent from weather-specific interpretation.

This allows higher software layers to evolve independently while keeping the embedded firmware simple and robust.


Why another weather station?

The project originated from practical experience with an existing DIY weather station.

Although the hardware proved to be reliable, several software aspects became increasingly problematic:

  • closed-source firmware
  • undocumented algorithms
  • incorrect sunshine duration calculation
  • embedded rain aggregation
  • limited extensibility
  • unclear separation between measurement and interpretation

Rather than replacing individual algorithms, the firmware was redesigned from first principles around a small number of architectural rules.


Core Philosophy

The EnvNode project follows one simple principle:

Measure first.

Interpret later.

The firmware exists to acquire reliable Measurements.

Interpretation belongs to external systems.


Project Goals

  • source-available firmware with a commercial exploitation reservation
  • available hardware design sources (KiCad)
  • MQTT-based integration
  • browser-based configuration
  • OTA firmware updates
  • modular architecture
  • high-quality Measurements
  • deterministic firmware behaviour
  • long-term maintainability
  • simulation support
  • comprehensive documentation
  • hardware independence

Design Principles

The project follows a small number of architectural principles.

Measure, don't interpret

The firmware measures physical reality.

Interpretation belongs outside the Device.


One technical responsibility per service

Each infrastructure service owns exactly one technical responsibility.

Examples include:

  • Configuration
  • WiFi
  • Time
  • MQTT

Sensors produce Measurements

Sensors do not publish MQTT.

Sensors do not interpret weather.

Sensors produce Measurements.

Controllers coordinate Actuators through capabilities

Controllers implement cooperative local behavior and address configured Actuators by ActuatorId and capability. They do not manipulate GPIO or use MQTT as an internal control path.


Configuration has one authoritative owner

Configuration exists exactly once inside the runtime.

Every subsystem uses the same Configuration.


Simulation is part of the architecture

Simulated and physical Sensors follow the same processing pipeline.

Replacing a simulated Sensor with a physical implementation must not require architectural changes.


Observable behaviour

Whenever practical, internal decisions should be visible through:

  • diagnostics
  • logging
  • MQTT status

The firmware should never behave like a black box.


Deterministic firmware

The firmware intentionally avoids executing complex weather models.

Embedded software should remain predictable and responsive.


Hardware independence

Application logic depends on abstract Sensor behaviour rather than concrete hardware implementations.

Replacing a Sensor should require only a new driver.


Current Status

Implemented

  • ESP32 PlatformIO project
  • persistent configuration
  • browser-based provisioning
  • WiFi connectivity
  • automatic WiFi reconnect
  • setup access point
  • configurable hostname
  • SNTP time synchronization
  • configurable timezone
  • MQTT connectivity
  • authenticated MQTT client
  • factory reset and OTA firmware update
  • typed Measurement pipeline and MQTT publication
  • fixed Sensor slots, physical/simulated implementations and live runtime composition
  • Sensor Home Assistant discovery
  • optional GeoPosition and actual sensor altitude, persisted with backup/restore
  • separate sea-level pressure with local temperature selection, freshness checking, explicit quality and fallback diagnostics (firmware 0.6.0)
  • EEPROM-backed Board Identity, boot-time profile resolution and development fallback
  • Board Identity diagnostics and confirmed Web provisioning with readback verification
  • independent Module Identity discovery for both slots, immutable module profiles and board/slot compatibility diagnostics without automatic driver activation
  • fixed Actuator slots and unified hardware validation
  • OnOff capability and GPIO On/Off Actuator
  • Level capability and GPIO PWM Actuator
  • live Actuator runtime rebuild
  • Web and MQTT Actuator configuration/control
  • fixed Controller slots and BlinkController
  • ThresholdController with typed Measurement input, hysteresis and monotonic freshness
  • cooperative Controller runtime and live rebuild
  • Web and MQTT Controller configuration, status and Start/Stop
  • persistent MQTT Blink/Threshold parameter commands and retained parameter state
  • retained external Actuator and Controller descriptions
  • exclusive enabled-Controller ownership of Actuator targets
  • physically verified Sensor -> Measurement -> Controller -> Actuator operation

Current hardware-validation focus

  • provision and boot from the Board Identity EEPROM on a physical Mainboard revision 0.3
  • complete the Revision 0.3 article list and assembly data
  • assemble and bring up the AnalogHydroPressure module, including its local 5 V to 24 V supply
  • integrate and calibrate the ADS1115-based 4–20 mA pressure input on real hardware
  • operate at least the Rain Detector heater path before releasing Revision 0.3 for production

Deliberately future

  • additional Actuator capabilities beyond OnOff and Level, and additional typed Controller implementations
  • multi-input, Boolean/contact and event-driven Controllers
  • richer manual-versus-Controller arbitration
  • Controller and generic Actuator Home Assistant discovery
  • a dedicated provisioning station for preparing Mainboards, Modules, and other supported boards

Documentation

Project documentation is intentionally separated by responsibility.

DocumentPurpose
README.mdProject overview
DomainModel.mdFunctional domain concepts
TechnicalArchitecture.mdTechnical architecture
ActuatorModel.mdActuator capabilities and Controller interaction
MQTT.mdCurrent MQTT protocol boundaries and topics
Configuration.mdConfiguration backup, restore and NVS persistence
SeaLevelPressure.mdGeoPosition, local temperature input and derived sea-level pressure
Hardware.mdHardware entry point, module templates, and implemented boards
PRODUCT_ASSET_CONTRACT.mdReproducible PCB and webshop image requirements
ADRsArchitectural decisions

Non Goals

EnvNode intentionally does not:

  • perform weather forecasting
  • calculate evapotranspiration (ETo)
  • calculate sunshine duration
  • aggregate historical weather data
  • store long-term measurements
  • replace Home Assistant

These responsibilities belong to higher software layers.


Project Status

The Sensor, Actuator and Controller architecture is implemented and physically verified. Current open work concerns further capabilities, Controller implementations and external self-description rather than replacing these runtime boundaries.

License and permitted use

EnvNode-owned materials are provided under the EnvNode Use and Redistribution License, version 1.0. Private and internal business use, modifications, free redistribution, and paid fabrication or maintenance for the user's own use are permitted. Commercial product sales, licensing, rental, and standalone paid software hosting require separate permission. Third-party materials retain their respective licenses. This is a custom source-available license, not an OSI-approved open-source license. The German license text is authoritative.

Parts

13
QtyValueFootprintReferences
2100nFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC1, C5
25,1kOhmResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR1, R2
2SS14Diode_SMD:D_SMAD1, D2
110uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC3
110uFCapacitor_SMD:CP_Elec_5x5.4C2
147uFCapacitor_Tantalum_SMD:CP_EIA-3528-21_Kemet-BC4
1Conn_01x02_PinConnector_JST:JST_PH_B2B-PH-SM4-TB_1x02-1MP_P2.00mm_VerticalJ1
1LM3940IMP-3.3/NOPBPackage_TO_SOT_SMD:SOT-223-3_TabPin2U1
1ORingPower_ModuleEnvNode-Footprints:ORingPower_Module_CastellatedU2
1USB_C_Receptacle_PowerOnly_6PConnector_USB:USB_C_Receptacle_GCT_USB4125-xx-x-0190_6P_TopMnt_HorizontalJ3

Questions

How big is the ORing Power PCB?

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

What parts does the ORing Power use?

13 parts, built around the SS14. 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 ORing Power KiCad files?

From the magicamun/EnvNode repository on GitHub, at the commit this page was made from: the board is hardware/kicad/Libraries/EnvNodeDesignBlocks.kicad_blocks/ORing Power.kicad_block/ORing Power.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the ORing Power design in my own project?

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

More from magicamun/EnvNode

12
  • 2 layers111 × 95 mmEnvNode, the printed circuit board in 3D

    EnvNode

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    39 parts
  • 2 layers130 × 68 mmEnvNode Mini, the printed circuit board in 3D

    EnvNode Mini

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    34 parts
  • 2 layers38 × 64 mmAnalogHydroPressure, the printed circuit board in 3D

    AnalogHydroPressure

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    30 parts
  • 2 layers62.1 × 54.5 mmRainDetectorHead, the printed circuit board in 3D

    RainDetectorHead

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    27 parts
  • 2 layers90 × 90 mmTest Controller, the printed circuit board in 3D

    Test Controller

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    23 parts
  • 2 layers38 × 64 mmDuoRelay, the printed circuit board in 3D

    DuoRelay

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    21 parts
  • 2 layers132 × 70 mmEnvNodeMini, the printed circuit board in 3D

    EnvNodeMini

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    20 parts
  • 2 layers38 × 64 mmSX1262-Remote, the printed circuit board in 3D

    SX1262-Remote

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    15 parts
  • 2 layers62.1 × 54.5 mmRainDetectorController, the printed circuit board in 3D

    RainDetectorController

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    15 parts
  • 2 layers38 × 64 mmDuoRelay, the printed circuit board in 3D

    DuoRelay

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    14 parts
  • 2 layers43 × 27 mmSolarRadiation, the printed circuit board in 3D

    SolarRadiation

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    14 parts
  • 2 layers38 × 32 mmAnalogInput, the printed circuit board in 3D

    AnalogInput

    magicamun/EnvNode

    EnvNode is an source-available ESP32-based embedded platform for reliable environmental measurements and seamless integration into modern home automation systems.

    13 parts

Similar boards

  • 2 layers80 × 129.1 mmSmart Plant, the printed circuit board in 3D

    Smart Plant

    JGAguado/Smart_Plant

    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…

    75 parts303
  • 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
  • 4 layers113.5 × 105.5 mmMultistepper, the printed circuit board in 3D

    Multistepper

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    243 parts208
  • 2 layers66.8 × 34 mmESP8266, the printed circuit board in 3D

    ESP8266

    MaloufSleep/ME-ESP8266

    Malouf Electronics - ESP8266 Dev Board

    127 parts204MIT
  • 2 layers40 × 53.6 mmCanLite, the printed circuit board in 3D

    CanLite

    voltlog/CanLite

    ESP32 based CAN development board

    42 parts192GPL-3.0
  • 2 layers99.1 × 76.2 mmPico dev, the printed circuit board in 3D

    Pico dev

    execuc/u2if

    USB to interfaces implementing MicroPython "machine" module functionalities on a computer.

    36 parts182
  • 2 layers40 × 100 mmBack pcb, the printed circuit board in 3D

    Back pcb

    ZeroPhone/ZeroPhone-PCBs

    PCB files for ZeroPhone - for gerbers and schematics, go to "Releases" tab!

    118 parts148GPL-3.0
  • 2 layers100 × 85 mmVNA, the printed circuit board in 3D

    VNA

    profdc9/VNA

    Vector Network Analyzer based on the STM32F103C8T6 bluepill

    178 parts93