Skip to the content
PCBKitNew board
2 layers60 × 60 mmBase node, the printed circuit board in 3D

Hard wired home automation, based on a RSICV MCU and RS-422 communication protocol

Size
60 × 60 mm
Copper layers
2
Thickness
1.6 mm
Parts
34
Nets
47
Pads
180
Tracks, vias
528, 40
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
17 Jun 2026
Updated
29 Sep 2026

Overview

Base node is an open-source printed circuit board by koko69420, from the koko69420/HomeBus repository on GitHub. It is a 2-layer board of 60 × 60 mm with 34 parts on 47 nets, routed with 528 tracks and 40 vias.

It is built around the CH32X033F8P6, MAX491EPD and 74HC165D, with the SMBJ26A and WS2812B among its other parts. Its parts include 7 connectors, 6 resistors, 5 capacitors, 4 ICs and 4 diodes. It belongs with the home automation and IoT boards of this library.

Main components

5

README

Hardware/base_node/README.md

HomeBus Base Node

The HomeBus Base Node is the primary in-wall actuator and sensor module in the HomeBus distributed automation network. Designed to fit into standard residential switch flush boxes behind wall plates, it interfaces physical toggle switches and rotary encoders with the HomeBus RS-422 serial bus while driving external relay modules to switch lights, appliances, and inductive loads.


Visual Previews

3D Production Renders

Front View (Component Side)Back View (Connector Side)
HomeBus Base Node FrontHomeBus Base Node Back

Manufacturing Schematic

Base Node Manufacturing Schematic


Hardware Architecture

mermaid
flowchart LR
    subgraph Power ["Power Subsystem"]
        BUS_IN["24V DC Bus Rail"] --> BUCK["MP1584EN Buck Converter\n(24V -> 5V DC @ 3A)"]
        BUCK --> VDD["5V Logic Rail"]
    end

    subgraph BusInterface ["RS-422 Interface"]
        RS422["XY2500 6-Pin Bus Header\n(24V, GND, TX±, RX±)"]
        TVS["SM712 TVS Array\n(-7V to +12V Protection)"]
        XCVR["MAX491 Transceiver\n(Full-Duplex RS-422)"]
        RS422 <--> TVS <--> XCVR
    end

    subgraph Processing ["Core MCU"]
        MCU["WCH CH32X033F8P6\n(32-bit QingKe RISC-V @ 48 MHz)"]
    end

    subgraph Inputs ["Input Subsystem"]
        DIP["8-Bit DIP Switch\n(Hardware Node ID)"]
        WALL["External Wall Switches /\nRotary Encoders (JST-PH)"]
        SR["74HC165D Shift Register\n(8-bit PISO Shift Register)"]
        DIP --> SR
        WALL --> SR
    end

Key Hardware Components

SubsystemComponentPackageFunction / Rationale
MicrocontrollerWCH CH32X033F8P6TSSOP-20QingKe 32-bit RISC-V V4C core @ 48 MHz, 62 KB Flash, 20 KB SRAM. Handles RS-422 protocol stack, switch debouncing, and relay actuation.
TransceiverMaxim MAX491CSD / MAX491ESDSOP-14High-speed, full-duplex RS-422/RS-485 differential transceiver. Allows simultaneous transmit and receive with no collision backoff.
Input MultiplexerNXP / TI 74HC165DSOP-168-bit Parallel-In Serial-Out (PISO) shift register. Samples the 8-bit DIP switch and wall inputs using only 3 MCU pins (PL_, CP, Q7).
Power ConverterMonolithic Power MP1584ENModular Module3A high-frequency step-down switching buck regulator module converting centralized 24V bus power to regulated 5V system logic.
Surge ProtectionProTek SM712 / PSM712SOT-23Asymmetrical bidirectional TVS diode array (-7V to +12V) specifically engineered for RS-422 lines against ESD, EFT, and power transients.
Status IndicatorXinglight XL-1010RGBC (WS2812B-1010)SMD-1010 (1.0x1.0mm)Ultra-compact single-wire addressable RGB LED for status indication, network link health, and commissioning feedback.
Hardware ID8-Position SPST DIP Switch2.54mm Pitch SlideConfigures physical Node ID (1–255) for commissioning, telemetry, and OTA management.

Pin Allocation Table

The Base Node assigns the 20 pins of the CH32X033F8P6 as follows, differentiating between Development mode (SWD debug available) and Production mode (SWD pins repurposed for actuator GPIOs):

Pin #MCU PinProduction FunctionDevelopment FunctionNet / Description
1PA0 / PC3GPIOC 3Boot SwitchActuator Output 3 in Production; Bootloader entry trigger in Development
2PA1 / PC4GPIOC 4GPIOC 4Actuator Output 4 / Relay drive line
3PA2 / PC2GPIOC 2GPIOC 2Actuator Output 2 / Relay drive line
4NRSTRSTRSTHardware Reset line (active low, with pull-up)
5PB0 / PC0HC165 Q7HC165 Q7Shift Register Serial Data Out (MISO stream to MCU)
6PB1NeopixelNeopixelHigh-speed single-wire NRZ serial data stream to WS2812B LED
7VSSGNDGNDSystem Ground (0V reference)
8PB2 / PC6GPIOC 6SWDIOActuator Output 6 in Production; WCH SWD Debug Data in Development
9VDDVDDVDDLogic Supply Rail (+5V DC from MP1584EN)
10PB3 / PC8GPIOC 8SWD RXActuator Output 8 in Production; Debug UART RX in Development
11PB6I2C SDAI2C SDAI2C Serial Data line for auxiliary sensor daughterboards
12PB7I2C SCLI2C SCLI2C Serial Clock line for auxiliary sensor daughterboards
13PB4 / PC5GPIOC 5GPIOC 5Actuator Output 5 / Relay drive line
14PB5HC165 PL_HC165 PL_74HC165 Asynchronous Parallel Load (active low)
15PB8HC165 CPHC165 CP74HC165 Shift Register Clock Pulse
16PB10MAX491 DIMAX491 DIRS-422 Driver Input (MCU UART TX to RS-422 differential bus)
17PB11MAX491 ROMAX491 RORS-422 Receiver Output (RS-422 differential bus to MCU UART RX)
18PB9 / PC7GPIOC 7SWCLKActuator Output 7 in Production; WCH SWD Clock in Development
19PA3 / PC1GPIOC 1GPIOC 1Actuator Output 1 / Relay drive line
20PA4 / PC9GPIOC 9SWD TXActuator Output 9 in Production; Debug UART TX in Development

Revision History

  1. base_node (v1.0): Initial prototype layout. Used orthogonal 45° routing and tested basic connectivity between the CH32X033 and MAX491.
  2. base_node-rounded (v1.1): Experimental PCB layout with circular/curved track fillets using KiCad round-tracks plugin for aesthetic evaluation and high-speed trace continuity.
  3. base_node_clad (v1.2): Added continuous solid copper pour cladding across top and bottom layers, significantly reducing ground impedance and improving EMI containment in high-noise AC environments.
  4. base_node_clad_v2 (v2.0 - Production):
    • Optimized high-voltage isolation creepage and clearance distances between mains-connected lines and low-voltage logic.
    • Refined component clearances for compact hand-soldering and reflow stenciling.
    • Added reinforced thermal pads and teardrop transitions on signal vias.
    • Verified Gerber generation ready for industrial fabrication under Basenode_gerber/.

Manufacturing & Assembly


Navigation

Parts

34
QtyValueFootprintReferences
4100nFHomeBus:C_0603_1608MetricC1, C3, C5, C7
3MountingHole_2.2mm_M2MountingHole:MountingHole_2.2mm_M2Mount1, Mount2, Mount3
210KΩResistor_THT:R_Array_SIP9RN1, RN2
2120ΩHomeBus:R_0805_2012MetricR5, R6
24.7kΩHomeBus:R_0805_2012MetricR7, R8
2SM712_SOT23Package_TO_SOT_SMD:SOT-23D1, D3
110KΩResistor_SMD:R_0603_1608MetricR4
110uFHomeBus:C_0603_1608MetricC2
124vdcConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ5
1330ΩResistor_SMD:R_0603_1608MetricR1
174HC165HomeBus:SOIC-16_3.9x9.9mm_P1.27mmU3
1CH32X033F8P6HomeBus:TSSOP-20-1EP_4.4x6.5mm_P0.65mm_EP2.15x3.35mmU1
1Encoder 1HomeBus:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ6
1Encoder 2HomeBus:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ7
1Expantion ConnectorHomeBus:IDC-Header_2x10_P2.54mm_HorizontalJ3
1HomeBus_LOGOHomeBus:HomeBus_LOGOLg1
1I2CHomeBus:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ4
1IO InterfaceHomeBus:JST_PH_B10B-PH-K_1x10_P2.00mm_VerticalJ1
1MAX491EHomeBus:SOIC-14_3.9x8.7mm_P1.27mmU2
1MP1584EN_ModuleHomeBus:MP1584 ModuleU4
1OSHW-Logo_5.7x6mm_SilkScreenSymbol:OSHW-Logo_5.7x6mm_SilkScreenLg2
1RS-422 ConnectorHomeBus:PhoenixContact_MC_1,5_6-G-5.08_1x06_P5.08mm_HorizontalJ2
1SMBJ26ADiode_SMD:D_SMBD4
1SW_DIP_x08HomeBus:SW_DIP_SPSTx08_Slide_6.7x21.88mm_W7.62mm_P2.54mm_LowProfileSW1
1WS2812BHomeBus:XINGLIGHT-XL-1010RGBC-WS2812BD2

Questions

How big is the Base node PCB?

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

What parts does the Base node use?

34 parts, built around the CH32X033F8P6, MAX491EPD, 74HC165D and SMBJ26A. 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 Base node KiCad files?

From the koko69420/HomeBus repository on GitHub, at the commit this page was made from: the board is Hardware/base_node/base_node.kicad_pcb and its schematic Hardware/Expanders/Expanders.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Base node design in my own project?

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

More from koko69420/HomeBus

5
  • 2 layers248.1 × 172.1 mmExpanders, the printed circuit board in 3D

    Expanders

    koko69420/HomeBus

    Hard wired home automation, based on a RSICV MCU and RS-422 communication protocol

    180 parts
  • 2 layers264 × 124.5 mmGateway node dev board, the printed circuit board in 3D

    Gateway node dev board

    koko69420/HomeBus

    Hard wired home automation, based on a RSICV MCU and RS-422 communication protocol

    152 parts
  • 2 layers123.7 × 60.6 mmBase node clad, the printed circuit board in 3D

    Base node clad

    koko69420/HomeBus

    Hard wired home automation, based on a RSICV MCU and RS-422 communication protocol

    37 parts
  • 2 layers130 × 80 mmBase node clad v2, the printed circuit board in 3D

    Base node clad v2

    koko69420/HomeBus

    Hard wired home automation, based on a RSICV MCU and RS-422 communication protocol

    36 parts
  • 2 layers60 × 55 mmGateway node, the printed circuit board in 3D

    Gateway node

    koko69420/HomeBus

    Hard wired home automation, based on a RSICV MCU and RS-422 communication protocol

    36 parts

Similar boards

  • 2 layers99 × 35 mmK33b, the printed circuit board in 3D

    K33b

    wrickert/WCH-CH-ICs

    Repo for tracking work on WCH's ICs

    35 parts1
  • 4 layers210.8 × 74.9 mmBkm-10rlternative, the printed circuit board in 3D

    Bkm-10rlternative

    skumlos/bkm-10rlternative

    Project aiming to replicate the BKM-10R/11R remote for Sony professional CRT monitors.

    257 parts17
  • 2 layers97.6 × 44.2 mmGR ISO Board, the printed circuit board in 3D

    GR ISO Board

    GadgetReboot/GR_ISO_Board

    Isolation breakout board with a 5V isolated DC-DC converter, optocouplers, Relay, and more.

    62 parts1
  • 2 layers23.1 × 20.7 mmPointify, the printed circuit board in 3D

    Pointify

    luftaquila/pointify

    DIY retro analog gauges for real-time system and Claude usage monitoring

    13 parts42GPL-3.0
  • 2 layers54 × 22 mmCpu programmer, the printed circuit board in 3D

    Cpu programmer

    procks/eater-8bit-cpu-programmer

    Programmer for Ben Eater 8-bit computer

    14 parts4MIT
  • 2 layers100 × 96.5 mmKeyboard ch32x-36-lhs, the printed circuit board in 3D

    Keyboard ch32x-36-lhs

    rgoulter/keyboard-labs

    Repo with my PCB designs and keyboard firmware

    57 parts236
  • 4 layers149.9 × 74.2 mmBCD-0o27, the printed circuit board in 3D

    BCD-0o27

    petnica-rac-seminari/BCD-0o27-Tetris

    The BalcCon Cyberdeck 0o27 (BCD-0o27) comes with a development framework that makes it easier to add functionality to the cyberdeck.

    142 parts1
  • 2 layers133.4 × 55.2 mmSynthboard, the printed circuit board in 3D

    Synthboard

    SomethingFourier/FPGA-Musical-Synth

    A musical synthesizer that generates and outputs I2S audio with an FPGA

    51 parts1