Skip to the content
2 layers248.1 × 172.1 mmExpanders, the printed circuit board in 3D

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

Size
248.1 × 172.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
180
Nets
52
Pads
2,100
Tracks, vias
2,260, 0
Pours
60
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
17 Jun 2026
Updated
29 Sep 2026

Overview

Expanders is an open-source printed circuit board by koko69420, from the koko69420/HomeBus repository on GitHub. It is a 2-layer board of 248.1 × 172.1 mm with 180 parts on 52 nets, routed with 2,260 tracks and 0 vias.

It is built around the MAX491EPD and 74HC165D. Its parts include 120 connectors and 60 ICs. It belongs with the home automation and IoT boards of this library.

Main components

2

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

180
QtyValueFootprintReferences
40Conn_01x07_PinConnector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ3, J3, J3, J3, J3, J3, J3, J3, J3, J3, J3, J3, J3, J3, J3, J3 +24
40Conn_01x08_PinConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ5, J5, J5, J5, J5, J5, J5, J5, J5, J5, J5, J5, J5, J5, J5, J5 +24
40Conn_01x10_PinConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1 +24
2074HC165HomeBus:SOIC-16_3.9x9.9mm_P1.27mmU3, U3, U3, U3, U3, U3, U3, U3, U3, U3, U3, U3, U3, U3, U3, U3 +4
20MAX491EHomeBus:SOIC-14_3.9x8.7mm_P1.27mmU2, U2, U2, U2, U2, U2, U2, U2, U2, U2, U2, U2, U2, U2, U2, U2 +4
20~HomeBus:TSSOP-20-1EP_4.4x6.5mm_P0.65mm_EP2.15x3.35mmU1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1 +4

More from koko69420/HomeBus

5
  • 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
  • 2 layers60 × 60 mmBase node, the printed circuit board in 3D

    Base node

    koko69420/HomeBus

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

    34 parts

Similar boards

  • 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 layers181 × 97 mmOpenDeck r3.1.2, the printed circuit board in 3D

    OpenDeck r3.1.2

    shanteacontrols/OpenDeck

    A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

    262 parts960Apache-2.0
  • 2 layers245.1 × 160 mm8-Bit CPU 32k, the printed circuit board in 3D

    8-Bit CPU 32k

    slu4coder/Minimal-64x4-Home-Computer

    My DIY TTL home computer with VGA and PS/2 and 4x the processing power of a Commodore C64 or Apple II.

    139 parts326
  • 2 layers191.8 × 121.3 mm8-Bit CPU 32k, the printed circuit board in 3D

    8-Bit CPU 32k

    slu4coder/Minimal-UART-Computer-1-2

    Legacy: Version 1 and 2 of my TTL-only CPU featuring UART I/O, an expansion port, 512KB SSD at up to 10MHz clock speed

    109 parts184
  • 2 layers135.9 × 87 mmPfm3 ctrl, the printed circuit board in 3D

    Pfm3 ctrl

    Ixox/preenfm3

    Official repo of the preenfm3 FM synth

    65 parts127
  • 2 layers171.5 × 106.7 mmSequencer, the printed circuit board in 3D

    Sequencer

    westlicht/performer-hardware

    PER|FORMER Eurorack Sequencer - Hardware Design Files

    435 parts110
  • 2 layers306.1 × 130.2 mm8-Bit CPU 32k, the printed circuit board in 3D

    8-Bit CPU 32k

    slu4coder/Minimal-64-Home-Computer

    Legacy: Full TTL-only home computer with VGA and PS/2 and twice the processing power of a Commodore 64

    132 parts94

Questions

How big is the Expanders PCB?

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

What parts does the Expanders use?

180 parts, built around the MAX491EPD and 74HC165D. 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 Expanders KiCad files?

From the koko69420/HomeBus repository on GitHub, at the commit this page was made from: the board is Hardware/Expanders/Expanders.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 Expanders design in my own project?

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