Skip to the content
PCBKitNew board
4 layers144.2 × 82.8 mmSmartFuseBox, the printed circuit board in 3D

PowerControlHub is a flexible automation controller for 12V systems. It combines relay switching, sensor monitoring, and smart‑home connectivity (MQTT, Home Assistant, REST, BLE) into one device. Ideal for boats, campers, off‑grid cabins, basements, and DIY smart‑home projects, it works as a standalone sensor hub or a full power‑control system.

Size
144.2 × 82.8 mm
Copper layers
4
Thickness
1.6 mm
Parts
93
Nets
91
Pads
302
Tracks, vias
490, 33
Pours
26
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
26 Oct 2025
Updated
13 Sep 2026

Overview

SmartFuseBox is an open-source printed circuit board by k3ldar, from the k3ldar/PowerControlHub repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 144.2 × 82.8 mm with 93 parts on 91 nets, routed with 490 tracks and 33 vias.

It is built around the SN65HVD230D, DS18B20 and MP2303ADN, with the ULN2803A, SS54 and SRD-12VDC-SL-C among its other parts. Its parts include 33 capacitors, 15 connectors, 12 resistors, 11 diodes and 8 switches. It belongs with the home automation and IoT and radio and wireless boards and the ESP32 boards of this library.

Main components

8

README

README.md

PowerControlHub

PowerControlHub is an Arduino-based 12V power distribution and control system for marine and off-grid applications. It provides configurable fused relay switching, multi-protocol sensor telemetry, WiFi/BLE/MQTT connectivity, and a companion touchscreen control panel — all managed through a unified serial command protocol and EEPROM-persisted configuration.

Current firmware version: 1.0.0.0 — see FirmwareVersion.h.


Table of Contents

Overview

PowerControlHub is a single-unit firmware target running on an Arduino Uno R4 WiFi or ESP32 NodeMCU-32. The Nextion touchscreen display is driven directly by the PCH controller over a dedicated hardware serial port (Serial2 for GPS; display connected via NextionControl).

The firmware entry point is PowerControlHubApp, which owns all subsystem instances and wires them together at startup. Host and debug communication uses a text-based framed serial protocol:

text
<CMD>:<key>=<value>;<key>=<value>\n

Commands are grouped by prefix (F, C, R, H, W, S, M, N, E, T) and are available over serial, USB, and — where applicable — the HTTP REST API. See Docs/Commands.md for the full reference.


Prototype PCBs

Prototype PCBs for PowerControlHub were supported by PCBWay Prototype PCBs for PowerControlHub were supported by PCBWay, enabling rapid iteration from design to real-world testing.

See the PCB Sponsorship & Manufacturing page for photos, build details, and ongoing testing.


Key Features

Relay Control

  • Up to 8 independently configurable relay channels, pin-assigned at runtime via configuration.
  • Linked relays — any relay can be configured to mirror the state of another.
  • Default-on state — individual relays can be initialised to active at boot.
  • Pulse mode — relay activates for a configurable duration (seconds) then turns off automatically.
  • Named relays — short name (5 chars) and long name (20 chars) stored in EEPROM for display use.
  • Action types — relays can be designated as Default, Horn (COLREGS sound signal output), or NightRelay (automatic day/night switching driven by the LDR sensor).
  • Relay status bitmask broadcast via MessageBus on every state change.

Sensor Pipeline

All sensors inherit from BaseSensor and are registered with SensorController. The RemoteSensor class provides an extensibility point for sensors on external devices that push readings via serial.

SensorClassPoll IntervalNotes
DHT11Dht11SensorHandler2 500 msTemperature (°C) and relative humidity (%). Raises TemperatureSensorFailure warning on read error; clears automatically on recovery.
Light (LDR)LightSensorHandler30 000 msRolling average over 10 readings. 3-reading debounce before day/night state change. Configurable ADC threshold (default 512). Drives a NightRelay automatically.
Water LevelWaterSensorHandlerConfigurable15-reading rolling average. Active-pin corrosion-reduction control (power applied only during measurement).
GPSGpsSensorHandlerContinuousGY-GPS6MV2 (NMEA). Reports latitude, longitude, altitude, speed (km/h), course, cumulative distance. Provides UTC time for automatic RTC synchronisation. Raises GpsFailure warning if no valid fix for 30 seconds.
System DiagnosticsSystemSensorHandlerConfigurableFree heap memory, CPU usage percentage, WiFi/BT enabled state, SD log file size (bytes), system uptime (d HH:MM:SS), active warning count.

Sensors expose data over Serial, WiFi REST, BLE, and MQTT. Custom local or remote sensors can be added with minimal boilerplate; see Docs/Sensors.md.

Connectivity

WiFi
  • Operates in Access Point or Client mode, selectable via C12.
  • Implements persistent HTTP connections to reduce TCP handshake overhead on resource-constrained hardware.
  • Supports up to 8 concurrent clients (MaxConcurrentClients).
  • Automatic reconnection with exponential backoff in Client mode.
  • RSSI monitoring — raises WeakWifiSignal warning when signal falls below −70 dBm.
  • Full REST API across 9 route groups:
RouteHandlerPurpose
/api/relayRelayNetworkHandlerRelay state read/write
/api/sensorSensorNetworkHandlerSensor telemetry
/api/soundSoundNetworkHandlerCOLREGS horn signals
/api/systemSystemNetworkHandlerSystem status, heartbeat, OTA
/api/configConfigNetworkHandlerConfiguration read/write
/api/warningWarningNetworkHandlerWarning bitmask access
/api/timerSchedulerNetworkHandlerScheduled event read
/api/externalsensorExternalSensorNetworkHandlerRemote sensor config
/WebIndexNetworkHandlerIndex page

Uses a platform-abstraction interface (IWifiRadio) to isolate board-specific WiFi drivers from application logic.

Bluetooth BLE
  • Available on boards with BLUETOOTH_SUPPORT defined.
  • Exposes three GATT services via BluetoothManager:
    • BluetoothSystemService — system diagnostics characteristics.
    • BluetoothSensorService — sensor telemetry characteristics with notifications.
    • BluetoothRelayService — relay state read and write characteristics.
  • Single-client model. Advertising restarts automatically after disconnect.
  • No pairing or bonding. Device advertises as "Power Control Hub".
  • Uses IBluetoothRadio interface — higher-level code operates exclusively through the interface pointer, with runtime null-checks replacing compile-time guards.
  • Arduino Uno R4 WiFi constraint: WiFi and BLE share the RF path on the ANNA-B112/ESP32-S3 modules; BLUETOOTH_SUPPORT and WIFI_SUPPORT are mutually exclusive on this board. Enforced by a compile-time #error. On ESP32, both can operate simultaneously.
MQTT
  • Custom MQTT 3.1.1 client implementation (MQTTClient) — no third-party MQTT library dependency.
  • Home Assistant auto-discovery — all sensors and relays register as HA entities on connect.
  • Configurable broker address (64 chars), credentials (32 chars each), device ID, discovery prefix, port (default 1883), and keepalive interval (default 60 s).
  • Requires WIFI_SUPPORT. Guarded by #if defined(WIFI_SUPPORT) in BoardConfig.h.

Warning System

A 32-bit bitmask tracks up to 32 independent typed conditions within WarningManager.

  • Sensor failure aggregation: any sensor warning (bits 21–31) automatically raises SensorFailure (bit 20). SensorFailure clears only when all sensor warnings are cleared.
  • Warning state changes are broadcast on the MessageBus via WarningChanged.
  • Full warning type reference: Docs/Warnings.md.

Scheduler

Event-driven relay automation engine with EEPROM-persisted configuration.

  • Up to 20 events (6 on boards with ≤ 1 KB EEPROM) stored in SchedulerSettings.
  • Each event specifies an independent trigger, condition guard, and action.
DimensionSupported Values
TriggersTimeOfDay, Sunrise, Sunset, Interval, DayOfWeek, Date
ConditionsTimeWindow, DayOfWeek, IsDark, IsDaylight, RelayIsOn, RelayIsOff
ActionsRelayOn, RelayOff, RelayToggle, RelayPulse, AllRelaysOn, AllRelaysOff, SetPinHigh, SetPinLow

Sunrise and sunset triggers are computed in real time from GPS coordinates by SunCalculator. The IsDark / IsDaylight conditions fall back to the LDR sensor when GPS is unavailable.

Message Bus

MessageBus provides a lightweight publish/subscribe event system for internal component decoupling. No dynamic allocation occurs at publish time — subscriber lists use function-local statics.

Key events: WarningChanged, RelayStatusChanged, TemperatureUpdated, HumidityUpdated, LightSensorUpdated, WaterLevelUpdated, GpsLocationUpdated, GpsAltitudeUpdated, GpsSpeedUpdated, WifiConnectionStateChanged, WifiSignalStrengthChanged, SystemMetricsUpdated. Full reference: Docs/MessageBus.md.

Over-the-Air Updates (OTA)

  • Available on ESP32 + WIFI_SUPPORT + OTA_AUTO_UPDATE only.
  • Polls the GitHub Releases API (k3ldar/PowerControlHub) every 24 hours.
  • Downloads asset PowerControlHub-esp32-v{major}.{minor}.{patch}.{build}.bin with SHA-256 checksum verification.
  • TLS connections use pinned root CA certificates (Sectigo E46 for api.github.com; ISRG Root X1 for assets.githubusercontent.com).
  • Auto-apply is disabled by default. Enable via F12:apply=1 or the OtaFlagAutoApply bit in SystemHeader::reserved[0].
  • OTA state (idle, checking, available, downloading, rebooting, failed, uptodate) is queryable at any time via F13.

Diagnostics and Logging

  • SD card logging via SdCardLogger / MicroSdDriver. Configurable SPI pins (C4). Raises SpiPinConfigError, SdCardMissing, SdCardError, or SdCardLowSpace warnings as appropriate.
  • Optional SD card config loader (CARD_CONFIG_LOADER) — reads config.txt at boot to override EEPROM settings without reflashing.
  • DS1302 RTC (RtcDS1302Driver) with configurable pins (C18). Automatically synchronised from GPS UTC time on each valid GPS fix.
  • CPU usage monitoring via SystemCpuMonitor. Available over serial, WiFi, and MQTT.
  • Boot counter and crash counter tracked in SystemHeader with magic number validation (0x53464201).
  • RGB LED warning indicator (HW479) driven on configurable pins (C8).
  • PinGuard — compile-time GPIO validation layer that rejects flash-reserved, input-only, and strapping pins at the point of assignment, returning ACK:<cmd>=Invalid pin before the value reaches EEPROM. Board-specific tables are selected automatically from the IDF toolchain macros — no manual configuration required. See Docs/PinGuard.md.
  • Crash loop guard — crashCounter in SystemHeader is incremented at the start of every boot and only reset after full initialisation succeeds. If the counter reaches CrashCounterThreshold (default 3), the firmware resets the config to safe defaults before any hardware initialisation runs, breaking a watchdog reset loop caused by invalid pin configuration.

Nextion Display

  • NavigationController manages an ordered list of active pages, rebuilt dynamically when the location type changes — no reboot required.
  • Maritime-specific pages (buoys, cardinal markers, flags, VHF radio, COLREGS sound signals) are included in the page list only when LocationType is Power, Sail, Fishing, or Yacht.
  • Pages included: Splash, Home, Relay, Relay Settings, Environment, System, Warning, Settings, About, Buoys, Cardinal Markers, Flags, Moon Phase, Sound (Fog / Maneuvering / Overtaking / Emergency / Other / Signals), VHF (Channels / Distress / Radio).

Security

  • API key and HMAC key fields (32 chars each) are reserved in the Config struct for future HTTP authentication.

Architecture

Repository Structure

text
PowerControlHub/    Firmware source (relays, sensors, WiFi, BLE, MQTT, OTA, SD, Nextion display)
Docs/            Reference documentation
TestData/        Serial command test scripts

Subsystem Dependency Graph

text
PowerControlHubApp
├── MessageBus                  Pub/sub event bus (no dynamic allocation)
├── RelayController             Relay switching, linking, pulse, action types
├── SoundController             COLREGS signal sequencer -> horn relay
├── SensorController            Sensor pipeline (local + remote)
│   ├── Dht11SensorHandler
│   ├── LightSensorHandler
│   ├── WaterSensorHandler
│   ├── GpsSensorHandler
│   ├── SystemSensorHandler
│   └── RemoteSensor (xN)
├── ConfigController            EEPROM config lifecycle
├── WarningManager              32-bit bitmask, sensor failure aggregation
├── ScheduleController          Event engine: trigger -> condition -> action
├── WifiController              WiFi lifecycle, HTTP REST API
│   └── WifiServer              Connection state machine, request routing
├── BluetoothController         BLE lifecycle (BLUETOOTH_SUPPORT)
│   └── BluetoothManager
│       ├── BluetoothSystemService
│       ├── BluetoothSensorService
│       └── BluetoothRelayService
├── MQTTController              MQTT 3.1.1 client, HA auto-discovery (MQTT_SUPPORT)
├── SdCardLogger                SD card log writer (SD_CARD_SUPPORT)
├── RtcDS1302Driver             DS1302 real-time clock

Interface Abstraction Pattern

WiFi and Bluetooth subsystems are each accessed through a platform-agnostic interface (IWifiRadio, IBluetoothRadio). Board-specific drivers (R4WifiRadio, Esp32WifiRadio, BluetoothController) are constructed only inside PowerControlHubApp under the appropriate #if defined(...) guard. All higher-level code operates through interface pointers with runtime null-checks, minimising preprocessor usage and enabling straightforward test doubles.

Configuration Persistence

The Config struct is a versioned, packed POD serialised to EEPROM. The current layout version is 6 (ConfigVersion6). The SystemHeader (32 bytes) precedes the config payload and contains a magic number (0x53464201), boot count, crash counter, reset reason, OTA flags, and a 16-bit checksum. A config version mismatch triggers migration logic in ConfigManager and raises DefaultConfigurationFuseBox.


Board Support

BoardWiFiBLEMQTTOTANotes
Arduino Uno R4 WiFiYesYesYesNoWiFi and BLE are mutually exclusive (shared RF path)
Arduino Uno R4 MinimaNoNoNoNoSerial and sensor support only
ESP32 NodeMCU-32YesYesYesYesFull feature support; WiFi and BLE simultaneous

Board selection is controlled by a single #define in Local.h using the trailing-underscore convention. BoardConfig.h derives all capability flags, EEPROM limits, and enforces incompatible feature combinations at compile time.


Installation

Prerequisites

RequirementDetails
Arduino IDE1.8.19 or Arduino IDE 2.x
Git for WindowsStandard installation
Windows 10 / 11No special configuration required

Required Libraries (Arduino Library Manager)

LibrarySource
SerialCommandManagerSi Carter
DHT sensor libraryAdafruit
QMC5883LCompassArduino Library Manager
NextionControlCustom — copy NextionControl/ folder to Arduino libraries/ directory

Steps

  1. Clone the repository:

    text
    git clone https://github.com/k3ldar/PowerControlHub
  2. Install all required libraries via the Arduino IDE Library Manager, and copy NextionControl manually.

  3. Open k3ldar/PowerControlHub.ino in the Arduino IDE.

  4. Edit Local.h to activate the correct board and feature flags (see Configuration).

  5. Select the target board and COM port, then upload.

Full setup walkthrough: Docs/SETUP.md.


Configuration

All hardware-specific configuration is isolated in a single file: PowerControlHub/Local.h. No other file requires modification for a standard hardware setup.

Board Selection

Exactly one board define must be active. Remove the trailing underscore to activate:

cpp
#define ARDUINO_UNO_R4       // Arduino Uno R4 WiFi
#define ARDUINO_R4_MINIMA_   // Arduino Uno R4 Minima (inactive)
#define ESP32_NODE_32_       // ESP32 NodeMCU-32 (inactive)

Feature Flags

DefineDefaultApprox. FlashDescription
FUSE_BOX_CONTROLLERActive—Enables the full SFB subsystem stack
WIFI_SUPPORTActive—WiFi controller and HTTP REST API
MQTT_SUPPORTActive~40 KBMQTT client and HA auto-discovery (requires WIFI_SUPPORT)
BLUETOOTH_SUPPORTInactive~144 KBBLE services (mutually exclusive with WiFi on Uno R4)
SD_CARD_SUPPORTActive~32 KBSD card logger and SPI driver
NEXTION_DISPLAY_DEVICEActive~52 KBNextion display page system
OTA_AUTO_UPDATEActive~165 KBGitHub OTA (ESP32 + WiFi only)
LED_MANAGERInactive—Arduino R4 WiFi LED matrix (experimental)
CARD_CONFIG_LOADERInactive—Load config overrides from SD config.txt at boot

Relay Count

cpp
constexpr uint8_t ConfigRelayCount = 8;  // number of relay channels

Pins are assigned at runtime via the R11 serial command and persisted to EEPROM. 0xFF marks a pin as unassigned.

Full configuration reference: Docs/Local.md.


Usage

Serial / USB Commands (Quick Reference)

Commands follow the frame format: <CMD>:<key>=<value>;<key>=<value>\n

text
# Save config to EEPROM
C0

# Enable WiFi in client mode, set SSID and password
C11:v=1
C12:v=1
C13:YourSSID
C14:YourPassword
C0

# Switch relay 0 on / off
R3:i=0;v=1
R3:i=0;v=0

# Query all relay states
R2

# Read temperature and humidity
S0
S1

# Enable MQTT and set broker
M0:v=1
M1:192.168.1.100

Full command reference (all groups, all parameters): Docs/Commands.md.

HTTP REST API (WiFi)

text
# Relay control
POST /api/relay/R3?i=0&v=1

# Sensor data
GET /api/sensor/S0

# System status
GET /api/system/F2

# OTA status
GET /api/system/F13

Subsystem Reference

DocumentContents
Docs/Commands.mdFull serial and REST command reference (all groups F, C, R, H, W, S, M, N, E, T)
Docs/Local.mdLocal.h configuration reference: board selection, feature flags, pin layout
Docs/PinGuard.mdGPIO validation: board pin tables, blocked pin tiers, crash loop guard
Docs/Sensors.mdSensor classes, poll intervals, MQTT channels, warning behaviour, extensibility guide
Docs/Warnings.md32-bit warning type reference, WarningManager API, propagation model
Docs/Wifi.mdWiFi architecture: connection state machine, persistent connection model, handler pattern
Docs/BluetoothBle.mdBLE service/characteristic reference, connection model, adding new services
Docs/ScheduleEvents.mdScheduler data structures, trigger/condition/action types, EEPROM layout
Docs/MessageBus.mdEvent reference, publish/subscribe API
Docs/SETUP.mdPrerequisites, library installation, build instructions
Docs/BOM.mdBill of materials: hardware, fasteners, connectors, 3D-printed parts

Limitations and Known Issues

  • Arduino Uno R4 WiFi: WiFi and BLE cannot operate simultaneously due to the shared RF hardware path. This is enforced at compile time.
  • Arduino Uno R4 Minima: No radio support. Serial, sensors, and Nextion display only.
  • OTA updates: Restricted to ESP32 targets with WiFi in client mode and OTA_AUTO_UPDATE defined. Not available on Arduino Uno R4.
  • Scheduler capacity: Limited to 6 events on boards with 1 KB or less of EEPROM.
  • LED matrix manager (LED_MANAGER): Experimental on Arduino R4 WiFi; not recommended for production use.
  • SD card support: Marked experimental in Local.h. SPI pin configuration must be correct or SpiPinConfigError is raised.
  • Single BLE client: Only one BLE central can be connected at a time. No pairing or bonding is implemented.

Documentation


License

PowerControlHub is released under the GNU General Public License v3.0.
See LICENSE for the full licence text.

Copyright © 2025 Simon Carter (s1cart3r@gmail.com)

Parts

93
QtyValueFootprintReferences
140.1ufCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C5, C7, C9, C11, C12, C14, C16, C19, C21, C23, C25, C27, C30
1310ufCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C6, C8, C10, C13, C15, C17, C18, C20, C22, C24, C26, C28
10SS54Diode_SMD:D_SMAD1, D2, D3, D4, D5, D6, D7, D8, D9, D10
8Conn_01x03_SocketTerminalBlock:TerminalBlock_MaiXu_MX126-5.0-03P_1x03_P5.00mmJ2, J4, J5, J6, J7, J8, J9, J10
8SRD-12VDC-SL-CRelay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_CK1, K2, K3, K4, K5, K6, K7, K8
4Conn_01x04_SocketConnector_JST:JST_PH_S4B-PH-K_1x04_P2.00mm_HorizontalJ11, J12, J13, J14
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
31kPassives:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R5, R8
34.7kPassives:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR12, R13, R19
212ufCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC31, C33
2Conn_01x02_SocketTerminalBlock:TerminalBlock_MaiXu_MX126-5.0-02P_1x02_P5.00mmJ1, J3
1100kPassives:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14
110kPassives:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR16
110nfCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC29
110uH, 4AInductor_SMD:L_SOREDE_SNR.1050_10x10x5mmL2
1120RPassives:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR11
12kPassives:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR18
14.8nfCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC32
144.2kPassives:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17
1470ufCapacitor_SMD:CP_Elec_10x10.5C4
1680ufCapacitor_SMD:CP_Elec_6.3x7.7C3
18.2kPassives:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR15
1BC817PCM_4ms_Package_SOT:SOT-23Q1
1BK-6013Semiconductors:FUSE_BK-6013XF1
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1Conn_01x02_SocketConnector_JST:JST_XH_S2B-XH-A-1_1x02_P2.50mm_HorizontalJ15
1DS18B20Package_TO_SOT_THT:TO-92_InlineU2
1ESP32-S3-DEVKITC-1-N16R8VModules_Sensors:XCVR_ESP32-S3-DEVKITC-1-N16R8VU6
1LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD12
1MP2303ADNPackage_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.62x3.51mmU3
1NPNPCM_4ms_Package_SOT:SOT23-3_PO123Q2
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU5
1ULN2803APackage_SO:SOIC-18W_7.5x11.6mm_P1.27mmU1

Questions

How big is the SmartFuseBox PCB?

It measures 144.2 × 82.8 mm and has 4 copper layers, 1.6 mm thick.

What parts does the SmartFuseBox use?

93 parts, built around the SN65HVD230D, DS18B20, MP2303ADN and ULN2803A. 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 SmartFuseBox KiCad files?

From the k3ldar/PowerControlHub repository on GitHub, at the commit this page was made from: the board is KiCad/8Relays/SmartFuseBox.kicad_pcb and its schematic KiCad/8Relays/SmartFuseBox.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SmartFuseBox design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers99 × 56.3 mmReflowOven controller, the printed circuit board in 3D

    ReflowOven controller

    TilenTinta/ReflowOven_controller

    An open source controller for converting kitchen toaster oven to reflow oven

    122 parts5MIT
  • 2 layers71 × 71 mmSensactUp3, the printed circuit board in 3D

    SensactUp3

    klaus-liebler/sensact

    Es gibt vier Namespaces für Nachrichten "REQUEST" und "RESPONSE", "EVENT" und "ACKNOWLEDGE". Dies wird mit den beiden LSB des Versions-Namespace-Bytes erklärt (Somit bleiben 64 Versionierungsmöglichkeiten) Alle vier…

    80 parts4Apache-2.0
  • 2 layers100 × 50 mmMoba block stelle, the printed circuit board in 3D

    Moba block stelle

    hpbock/moba-bockstelle

    Ein Blockstellenmodul für analoge Modellbahnen zur Ansteuerung von Lichtsignalen, Zugbeeinflussung und Belegtmeldung für Loconet-T.

    88 parts1
  • 2 layers92 × 72.2 mmDevelopower v2.0, the printed circuit board in 3D

    Developower v2.0

    leoheck/developower-v2.0

    Developower-v2.0 Board

    50 parts8
  • 2 layers210 × 120 mmRelay24 ESP32, the printed circuit board in 3D

    Relay24 ESP32

    renatorgr/Boards

    Hardware and firmware for the AgOpenGPS AiO v4.5 autosteer boards: Teensy 4.1 firmware with its own web page (GPS, IMU, autosteer), a XIAO ESP32 Wi-Fi status page, XIAO adapter boards, and an Arduino Nano sprayer…

    164 parts2GPL-3.0
  • 2 layers208 × 110 mmButton grid, the printed circuit board in 3D

    Button grid

    paulsonnentag/button-grid

    An ESP32-S3 controller board for an 8×8 button matrix with 64 individually switched 12 V LEDs. It's designed in KiCad 9 and made to be ordered from JLCPCB.

    108 parts
  • 2 layers100 × 100 mmAquaPCB, the printed circuit board in 3D

    AquaPCB

    schwabix-1311/aquaPCB

    Open-hardware Raspberry Pi base board for aquaPi software. 12 V supply; six 5 A MOSFET outputs for LED lamps and fans (2 with hardware PWM); 4 SSR/relay drivers; protected inputs; 1-Wire; ADS1115 with a pH amplifier on…

    147 partsCERN-OHL-S-2.0
  • 2 layers103 × 86.5 mmRelay module light, the printed circuit board in 3D

    Relay module light

    sillevl/spha-rel6-hardware

    Open the .kicadpro file in KiCad. The design includes files originating from an older KiCad workflow; review schematic links, footprints, design rules, zones, and manufacturing outputs after any conversion or upgrade.

    70 parts