Skip to the content
PCBKitNew board
4 layers48 × 30 mmP11, the printed circuit board in 3D

ESPHome interface for Panasonic air conditioners and heat pumps (CN-CNT)

Size
48 × 30 mm
Copper layers
4
Thickness
1.6 mm
Parts
12
Nets
19
Pads
44
Tracks, vias
50, 7
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Oct 2026
Updated
2 Oct 2026

Overview

P11 is an open-source printed circuit board by akashihi, from the akashihi/P11 repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 48 × 30 mm with 12 parts on 19 nets, routed with 50 tracks and 7 vias.

It is built around the DS18B20, AO3400A and US1A. Its parts include 5 resistors, 2 ICs, 2 transistors, 1 capacitor and 1 diode. It belongs with the home automation and IoT and interfaces and adapters boards and the ESP32 and RISC-V boards of this library.

Main components

3

README

README.md

P11 – ESPHome interface for Panasonic air conditioners and heat pumps (CN-CNT)

A small open-hardware board that connects a Panasonic air conditioner or air-to-air heat pump to Home Assistant through the indoor unit's CN-CNT service port. It runs ESPHome on an ESP32-C3 Super Mini with the panasonic_ac component. Everything stays local: no Panasonic cloud and no Comfort Cloud adapter (CZ-TACG1).

PCB render

This design is based on the Ingenious Makers ESPHome Panasonic Climate Interface. Compared with the original, it:

  • uses SMD parts throughout: AO3400A MOSFETs in place of 2N7000, US1A in place of 1N4001, 0805 resistors and an SMD electrolytic capacitor;
  • adds an optional on-board DS18B20 temperature sensor;
  • is a 4-layer board with solid GND and 3.3 V inner planes.

Features

  • Full climate control from Home Assistant: mode, target temperature, fan speed and swing.
  • Outdoor temperature, defrost status and live power consumption from the unit.
  • Daily energy (kWh) calculated from the power reading.
  • Optional room temperature from the on-board DS18B20.
  • Powered from the unit's own 5 V on the CN-CNT port, so no extra power supply is needed.
  • USB-C on the ESP32-C3 Super Mini for the first flash. After that, updates go over the air.

Hardware

MCUESP32-C3 Super Mini (4 MB flash)
InterfaceUART, 9600 baud, 8E1, 5 V logic on the AC side
Level shifting2× AO3400A, bidirectional MOSFET shifter (3.3 V ↔ 5 V)
Power5 V from CN-CNT pin 1, 470 µF bulk capacitor, US1A reverse-polarity diode
PCB48 × 30 mm, 4 layers, 1.6 mm (F.Cu signals / In1 GND / In2 +3V3 / B.Cu)
EDAKiCad 10

Schematic

Schematic

You can also get the schematic as a PDF: docs/schematic.pdf.

Level shifter. Each signal uses the classic single-MOSFET bidirectional shifter. The AO3400A gate is tied to +3V3. The source goes to the ESP32 pin with a 10 kΩ pull-up to 3.3 V, and the drain goes to the CN-CNT pin with a 10 kΩ pull-up to 5 V.

Power. The ESP32-C3 Super Mini is powered through its 5V pin from CN-CNT pin 1, and its on-board regulator supplies the 3.3 V rail. D1 sits reverse-biased across the 5 V input and conducts if the cable is plugged in the wrong way round.

Connections

J1 – CN-CNT (pin 1 is the end nearest the board edge, next to U2)

J1 pinCN-CNT signalConnected to
1+5 VESP32 5V, C1, D1
2TX (AC → board)Q4 → GPIO20 (ESP RX)
3RX (board → AC)Q3 → GPIO21 (ESP TX)
4+12 Vnot connected; the board ignores the 12 V line
5GNDGND

[!WARNING] CN-CNT pin 4 carries 12 V. The board leaves it unconnected, but a cable with the wrong pin order can still put 12 V on the 5 V or signal lines, and that destroys the board and can damage the indoor unit's controller. Check your cable with a multimeter before plugging it in, and always switch the unit off at the breaker before you open the indoor unit.

Cable

The CN-CNT socket on the indoor unit is a JST PA series header, 5 pins at 2.0 mm pitch, which mates with a JST PAP-05V-S housing. J1 on the board is a standard 2.54 mm pin header, so the two need an adapter cable:

  • AC end: a JST PAP-05V-S housing with SPHD-001T-P0.5 crimp contacts.
  • Board end: a 5-pin 2.54 mm Dupont housing.

Wire it straight through, pin 1 → pin 1 through pin 5 → pin 5. You can leave the pin 4 (12 V) wire out, because J1 pin 4 isn't connected anyway.

Bill of materials

RefQtyValueDescriptionPackage
U11ESP32-C3 Super MiniESP32-C3 dev board with USB-CModule, 2× 8 pin
Q3, Q42AO3400AN-channel MOSFET, 30 V / 5.7 A, logic levelSOT-23
D11US1A50 V / 1 A fast rectifier, reverse-polarity protectionSMA (DO-214AC)
C11470 µFElectrolytic capacitor, ≥ 10 VSMD 8 × 10.5 mm
R1–R4410 kΩLevel shifter pull-ups0805
R514.7 kΩ1-Wire pull-up0805
U21DS18B201-Wire temperature sensor (optional)TO-92
J111×5 header2.54 mm pin headerTHT

You also need the adapter cable from the CN-CNT socket to J1 (see Cable): 1× JST PAP-05V-S housing, 5× SPHD-001T-P0.5 crimp contacts, 1× 5-pin 2.54 mm Dupont housing with contacts, and some wire.

Any logic-level N-MOSFET in SOT-23 with VGS(th) well below 3.3 V can replace the AO3400A, for example BSS138 or 2N7002.

Building

  1. Order the PCB. Generate Gerbers and drill files from P11/P11.kicad_pcb in KiCad (File → Fabrication Outputs), and order it as a 4-layer board.
  2. Solder the SMD parts first (Q3, Q4, D1, R1–R5, C1), then J1 and U2. Watch the polarity of C1 and D1 and the orientation of U2; the silkscreen shows the correct way round for each.
  3. Flash the firmware onto the ESP32-C3 Super Mini over USB-C (see Firmware) while it's still loose. Once the module is soldered in, C1 blocks a straight USB-C plug (see Known issues).
  4. Solder the ESP32-C3 Super Mini to the board.

Use this top view as a placement reference. J1 pin 1 is on the left, at the board edge.

PCB top view

[!CAUTION] Don't power the board from USB and the CN-CNT port at the same time. Many ESP32-C3 Super Mini clones have no diode between USB VBUS and the 5V pin, so the two supplies would back-feed each other.

Firmware

The ESPHome configuration is in panasonic-cn-cnt.yml. It uses the panasonic_ac external component in cnt mode:

yaml
uart:
  tx_pin: GPIO21
  rx_pin: GPIO20
  baud_rate: 9600
  parity: EVEN

climate:
  - platform: panasonic_ac
    type: cnt
    # ...

Before you flash it:

  1. Copy secrets.yaml.example to secrets.yaml, in the same folder as the YAML file.
  2. Fill in your Wi-Fi credentials, a fallback hotspot password and an OTA update password.
  3. Generate an API encryption key with openssl rand -base64 32 and put it in api_encryption_key.

secrets.yaml is listed in .gitignore, so it won't be committed by accident.

Then flash it:

bash
esphome run panasonic-cn-cnt.yml

The first flash has to go over USB. Do it before you solder the module in, or use an angled USB-C cable on an assembled board (see Known issues). If the board isn't detected, hold BOOT while you plug in USB. After that you can update the firmware over Wi-Fi. Home Assistant finds the device on its own through the ESPHome integration.

Known issues

rev 1.0: a straight USB-C cable doesn't fit. On the assembled board, capacitor C1 sits right in front of the ESP32-C3 Super Mini's USB-C socket and blocks a straight USB-C plug. For the first flash you need either:

  • to flash the ESP32-C3 Super Mini before you solder it to the board. This is how the prototype was built, and it fits the assembly order above, which fits the module last; or
  • an angled (90°) USB-C cable.

After the first flash, updates go over Wi-Fi, so this only affects the first flash and recovering a board that won't boot. If there is a rev 2, it will fix this by moving C1 out of the way of the connector.

Credits

License

This project is licensed under the GNU General Public License v3.0. The license covers the hardware design files, documentation and ESPHome configuration.

Disclaimer

This project is not affiliated with or endorsed by Panasonic. Opening your indoor unit and connecting third-party hardware may void its warranty. You build and use this project at your own risk.

Authors

  • Denis Chaplygin - Initial work - akashihi

Parts

12
QtyValueFootprintReferences
410KResistor_SMD:R_0805_2012MetricR1, R2, R3, R4
2AO3400APackage_TO_SOT_SMD:SOT-23Q3, Q4
1470uCapacitor_SMD:CP_Elec_8x10.5C1
14k7Resistor_SMD:R_0805_2012MetricR5
1CZ-TACG1Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ1
1DS18B20Package_TO_SOT_THT:TO-92_InlineU2
1ESP32-C3-SuperMiniESP32-C3-SuperMini:ESP32-C3-SuperMiniU1
1US1ADiode_SMD:D_SMAD1

Questions

How big is the P11 PCB?

It measures 48 × 30 mm and has 4 copper layers, 1.6 mm thick.

What parts does the P11 use?

12 parts, built around the DS18B20, AO3400A and US1A. 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 P11 KiCad files?

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

Can I use the P11 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

  • 4 layers121.2 × 72 mmFacs pcb v2, the printed circuit board in 3D

    Facs pcb v2

    czbiohub-sf/2023-facs-automation-pub

    Python libraries for automating cell sorting with the Sony SH800S GUI.

    139 parts1BSD-3-Clause
  • 2 layers80 × 110 mmPicoPSU A2, the printed circuit board in 3D

    PicoPSU A2

    tomcircuit/Apple2PicoPSU

    12V Input Power Supply retrofit for vintage Apple //e computers

    36 parts1
  • 4 layers45 × 60 mmWeather final V2, the printed circuit board in 3D

    Weather final V2

    aditya-1225/weather-station-PCB

    If the data is sent to the nRF24L01+PA+LNA module, another PCB acts as the receiver and transmits the received data to a computer through the serial port.

    46 partsCERN-OHL-P-2.0
  • 2 layersCRT Driver, the printed circuit board in 3D

    CRT Driver

    chr1snv/CRT-Driver

    Design for an Electron Microscope also Minimal Analog Circuit Board to drive a CRT from vga signals from a bnc cable

    354 parts
  • 2 layers58 × 68.5 mmFS1--ATmega32U4, the printed circuit board in 3D

    FS1--ATmega32U4

    libertathiest/fs10-atmega32u4-monitor

    A standalone USB monitor and configuration tool for the FCI FS10 Flow Switch, built around the ATmega32U4 on an Arduino Leonardo–compatible board.

    73 parts
  • 2 layers70 × 43 mmDisney door opener, the printed circuit board in 3D

    Disney door opener

    Muhamed4796/Disney_door_opener_pcb

    A cool pcb for an even cooler project.

    30 parts
  • 2 layers68.5 × 36.5 mmPower board, the printed circuit board in 3D

    Power board

    waterloo-rocketry/daq

    Data Acquisition schematics, boards, datasheets, docs, and software

    34 parts5