Skip to the content
PCBKitNew board
2 layers71.1 × 33 mmP1P2Adapter, the printed circuit board in 3D

Ever wonder what A/C systems talk about? Have a HomeBus®-based system like P1P2? Satisfy your curiosity and reward yourself with a fun and challenging project! Build or send away for one of these from your favorite PCB…

Size
71.1 × 33 mm
Copper layers
2
Thickness
1.6 mm
Parts
31
Nets
28
Pads
92
Tracks, vias
243, 6
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
15 Sep 2021
Updated
14 Jun 2025

Overview

P1P2Adapter is an open-source printed circuit board by rothn, from the rothn/P1P2Adapter repository on GitHub, published under the MIT licence. It is a 2-layer board of 71.1 × 33 mm with 31 parts on 28 nets, routed with 243 tracks and 6 vias.

It is built around the MAX22088GTG+. Its parts include 11 resistors, 9 capacitors, 7 diodes, 3 connectors and 1 IC.

Main components

1

README

README.md

Interface PCB for HomeBus®-based Devices

Ever wonder what A/C systems talk about? Have a HomeBus®-based system like P1P2? Satisfy your curiosity and reward yourself with a fun and challenging project! Build or send away for one of these from your favorite PCB manufacturer, and enjoy direct access to your system. The possibilities are vast!

Key Features

  • Read from and optionally write to your HomeBus® (i.e., the stream of data running between parts of your A/C system and/or other HomeBus®-based devices)
  • Power an Arduino Uno and companion devices (e.g., ESP8266) directly from your pre-existing wiring (i.e., the two wires coming out of the wall and going into the thermostat) instead of spending time on complicated power management features for battery operation
  • Enjoy fully-specified KiCad files and an MIT license, empowering you to tweak or integrate this design into your own projects

Specs and Validation

Based on reference design from MAX22088 datasheet, which is optimized for 57.6kbps. Observed to operate correctly on a system running at 9600bps over multi-hour burn-in test.

Usage

Warning

Using this device may damage your HomeBus® system! Check with your doctor to see if Tinkering is right for you. In my experiments, I tested everything the best that I could before using it and I suggest that you do the same. Also, note that this involves connection to AC wiring (the HomeBus®). Be careful with that step, as it can be dangerous.

PCB Creation / Sourcing

PCB Manufacturer

As of 2021, I paid $5 for 5 boards plus $15 for shipping from PCBWay, and at least one tested OK.

  1. Export gerber files from KiCad and send them to your PCB manufacturer. Most have specific requirements for options in the export process. For PCBWay, find these here.
  2. Upload the zip file and select the correct tolerances on your PCB manufacturer's website. See the "design rules" menu in KiCad for these. Be sure to run a design rules check in the PCB editor just to double-check that you have the right options. Also be sure to select the correct number of vias, etc. The automated system is likely to catch errors, but getting things wrong here might slow down the process and affect your quoted price.
  3. For anything not in the design rules, I highly recommend selecting the cheapest option.

Note: Most manufacturers can also populate the board with components, but this will be an extra cost. DIY'ing it can be fun and cheaper with the proper tools (hot air tool, soldering iron with small tip). Your manufacturer of choice will likely have this option on their website.

At-Home (Guidelines)

There are people who are experts at this. Refer to their advice (Google around). Take the suggestions below with a grain of salt, but above all else, please keep in mind the inherent danger of working with chemicals at home:

The PCB can be manufactured with an at-home process by printing onto high-quality acetate compatible with your printer, UV exposure onto a presensitized, double-sided PCB, development, and etching. Toner transfer is unlikely to work due to the tolerances involved. CNC milling is also an option.

Connection to Arduino Uno

Software

I recommend the P1P2Serial Arduino-compatible C++ library to interact with the HomeBus®. The included P1P2Serial library is a great interface tool. The P1P2 monitor example may be a helpful starting point for its ability to dump out packets from the bus as raw hex to the Arduino's USB serial device. Keep in mind that the decoding logic may not make sense for your specific device.

Hardware

My test configuration is as follows. To allow writing to the bus, drive the RST pin on the interface board to GND instead of +5V.

  • Connect J2 to Positive (sometimes called P1) and J3 to Neutral (sometimes called P2) on the HomeBus®. These are likely interchangeable, but I have not validated this in practice. See termination section of schematic (bottom-left).
  • +12V -> Arduino Vin
  • +5V -> 1k resistor -> interface board RST (this disables output, move input to GND to enable)
  • GND -> Arduino GND
  • VLOGIC -> Arduino +5V
  • DOUT -> Arduino8* ||** (20kOhm resistor -> Arduino GND)
  • DIN -> NC***

*: Arduino labeled input "8" in "Digital PWM" section (Port B, Input 0 of ATmega328p)
**: Shorthand notation for "in parallel with"
***: Shorthand for "no connect" -- the data input is not connected to anything since writing to the bus is disabled

Notes (Important)

  • The maximum load on +12V is 200mA, per the MAX22088 spec
  • Do not use +5V for anything that draws more than 70 milliamps, and do not use it at all for external loads if using +12V
  • I have found +12V outputs a very noisy 12V DC in my particular application, but the spec says that 7.3V is typical, without listing a maximum.

Parts

31
QtyValueFootprintReferences
4DDiode_THT:D_P600_R-6_P12.70mm_HorizontalD3, D4, D6, D7
2100nCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC3, C4
2100uCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC6, C8
21uCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC5, C7
222uCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC1, C2
24.7Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR1, R2
25.8V TVS SMBJ5.0ADiode_SMD:D_SMB_HandsolderingD1, D2
2Conn_01x01_MaleConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ2, J3
11Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR3
110uCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC9
1180kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR11
120kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR10
1240Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR4
124V TVS 1.5KE24CADiode_THT:D_DO-201_P12.70mm_HorizontalD5
127kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR8
14.3kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR9
14.7kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR6
162kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR7
182Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR5
1Conn_01x07_MaleConnector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ1
1MAX22088Package_DFN_QFN:TQFN-24-1EP_4x4mm_P0.5mm_EP2.8x2.8mm_PullBackU1

Questions

How big is the P1P2Adapter PCB?

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

What parts does the P1P2Adapter use?

31 parts, built around the MAX22088GTG+. 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 P1P2Adapter KiCad files?

From the rothn/P1P2Adapter repository on GitHub, at the commit this page was made from: the board is P1P2 Adapter.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the P1P2Adapter design in my own project?

Its repository publishes it under the MIT 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 layers30 × 30 mmHb bob r1p0, the printed circuit board in 3D

    Hb bob r1p0

    gregdavill/daikin-esp

    ESP32-C3 hardware to connect to a Daikin ducted A/C system. enabling WiFi control in Home Assistant.

    67 parts29
  • 2 layers44.5 × 46.9 mmOSO SWAT B1-jig, the printed circuit board in 3D

    OSO SWAT B1-jig

    joeycastillo/Sensor-Watch

    A board replacement for the classic Casio F-91W wristwatch

    31 parts2.1k
  • 2 layers65 × 30 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    31 parts1kGPL-3.0
  • 2 layers191 × 98.5 mmMacroKeypad, the printed circuit board in 3D

    MacroKeypad

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    31 parts915
  • 2 layers39 × 45.2 mmCH32V003F4P6-R0-1v1, the printed circuit board in 3D

    CH32V003F4P6-R0-1v1

    openwch/ch32v003

    CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10

    31 parts599
  • 2 layers26.7 × 27.9 mmBreakout board, the printed circuit board in 3D

    Breakout board

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    31 parts546MIT
  • 2 layers100 × 50 mmPixelix, the printed circuit board in 3D

    Pixelix

    BlueAndi/Pixelix

    Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT.

    31 parts447MIT
  • 2 layers77.2 × 69.8 mmCubesatsim solar, the printed circuit board in 3D

    Cubesatsim solar

    alanbjohnston/CubeSatSim

    CubeSatSim, the AMSAT CubeSat Simulator

    31 parts419GPL-3.0