ESPHOME M5Stack Atom S3 lite controlling air conditioner

I’m trying to implement this esphome device to control my panasonic air conditioner locally. I got it to work on a stock esp32 device but I’m trying to get it to work with an M5Stack atom s3 lite as it’s a lot smaller and will fit inside the AC

This is the repo I’m trying to implement: GitHub - DomiStyle/esphome-panasonic-ac: Open source alternative for Panasonic air condition wifi adapters that works locally without the Comfort Cloud

I’m using the 4 pin connector on the M5stack as follows
5V to 5V
GND to GND
G2 (I believe this is GPIO36) to TX
G1 (I believe this is GPIO37) to RX

see M5Stack manual: https://manuals.plus/m5stack/atoms3-lite-manual

With the M5stack I can see it in home assistant when it’s powered on so it’s getting the 5v and gnd but I can’t seem to send or recieve any commands to the air conditioner, below is my esphome config (I’ve turned on a lot of logging to try and work out the problem)

esphome:
  name: panasonic-ac-living-room
  friendly_name: panasonic_ac_living_room

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

# Enable logging
logger:
  level: VERBOSE
  baud_rate: 115200

# Enable Home Assistant API
api:
  encryption:
    key: REDACTED

ota:
  - platform: esphome
    password: REDACTED

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Panasonic-Ac-Living-Room"
    password: REDACTED

captive_portal:

# Requires ESPHome 1.15.0+ for the even parity option
uart:
  tx_pin: GPIO36
  rx_pin: GPIO37
  baud_rate: 115200
  parity: EVEN
  debug: 
    direction: BOTH
    dummy_receiver: true

external_components:
  source: github://DomiStyle/esphome-panasonic-ac
  components: [panasonic_ac]

climate:
  - platform: panasonic_ac
    # For CZ-TACG1
    type: cnt

    name: Panasonic AC
    horizontal_swing_select:
      name: Panasonic AC Horizontal Swing Mode
    vertical_swing_select:
      name: Panasonic AC Vertical Swing Mode
    outside_temperature:
      name: Panasonic AC Outside Temperature

    # Enable as needed
    eco_switch:
      name: Panasonic AC Eco Switch
    # econavi_switch:
    #   name: Panasonic AC Econavi Switch
    # nanoex_switch:
    #   name: Panasonic AC NanoeX Switch
    # mild_dry_switch:
    #   name: Panasonic AC Mild Dry Switch
    current_power_consumption:
      name: Panasonic AC Power Consumption

    # Useful when the ac does not report a current temperature (CZ-TACG1 only)
    current_temperature_sensor: downstairs

sensor:
  - platform: homeassistant
    name: "Downstairs Temp Sensor"
    entity_id: sensor.downstairs_meter
    id: downstairs
    internal: True

Hello,

Baud rate seems to be different from the example from github, have you tried the setup of the ac.yaml.example file?

Then I suppose this line is only because you’re debugging:

dummy_receiver: true

Seems some GPIO might not be used as I/O among these 36-37. I am not sure it applies to you case. See section GPIO numbering:
ESP32 Platform — ESPHome

You might want try to use G5-6-7-8.

Last are you sure about wiring?
Can you post logs?

Ok so here are my logs. It doesn’t appeat to be receiving anything, the first one is the same config as before but with logging

INFO ESPHome 2024.11.3
INFO Reading configuration /config/esphome/panasonic-ac-living-room.yaml...
WARNING GPIO36 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
WARNING GPIO37 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
INFO Starting log output from panasonic-ac-living-room.local using esphome API
WARNING Can't connect to ESPHome API for panasonic-ac-living-room.local: Error resolving IP address: [Errno -5] No address associated with hostname (APIConnectionError)
INFO Trying to connect to panasonic-ac-living-room.local in the background
INFO Successfully connected to panasonic-ac-living-room @ 192.168.1.186 in 0.012s
INFO Successful handshake with panasonic-ac-living-room @ 192.168.1.186 in 0.107s
[12:04:16][V][api.connection:1428]: Hello from client: 'Home Assistant 2024.12.2' | 192.168.1.6 | API Version 1.10
[12:04:16][I][app:100]: ESPHome version 2024.11.3 compiled on Dec 12 2024, 23:10:45
[12:04:16][C][wifi:600]: WiFi:
[12:04:16][C][wifi:428]:   Local MAC: 48:CA:43:39:E0:00
[12:04:16][C][wifi:433]:   SSID: 'IoT'[redacted]
[12:04:16][C][wifi:436]:   IP Address: 192.168.1.186
[12:04:16][C][wifi:440]:   BSSID: 86:2A:A8:03:92:AD[redacted]
[12:04:16][C][wifi:441]:   Hostname: 'panasonic-ac-living-room'
[12:04:16][C][wifi:443]:   Signal strength: -45 dB ▂▄▆█
[12:04:16][V][wifi:445]:   Priority: 0.0
[12:04:16][C][wifi:447]:   Channel: 1
[12:04:16][C][wifi:448]:   Subnet: 255.255.255.0
[12:04:16][C][wifi:449]:   Gateway: 192.168.1.254
[12:04:16][C][wifi:450]:   DNS1: 1.1.1.1
[12:04:16][C][wifi:451]:   DNS2: 1.0.0.1
[12:04:16][D][api.connection:1446]: Home Assistant 2024.12.2 (192.168.1.6): Connected successfully
[12:04:16][C][logger:185]: Logger:
[12:04:16][C][logger:186]:   Level: VERBOSE
[12:04:16][C][logger:188]:   Log Baud Rate: 115200
[12:04:16][C][logger:189]:   Hardware UART: USB_CDC
[12:04:16][C][uart.arduino_esp32:151]: UART Bus 0:
[12:04:16][C][uart.arduino_esp32:152]:   TX Pin: GPIO36
[12:04:16][C][uart.arduino_esp32:153]:   RX Pin: GPIO37
[12:04:16][C][uart.arduino_esp32:155]:   RX Buffer Size: 256
[12:04:16][C][uart.arduino_esp32:157]:   Baud Rate: 115200 baud
[12:04:16][C][uart.arduino_esp32:158]:   Data Bits: 8
[12:04:16][C][uart.arduino_esp32:159]:   Parity: EVEN
[12:04:16][C][uart.arduino_esp32:160]:   Stop bits: 1
[12:04:16][C][captive_portal:089]: Captive Portal:
[12:04:16][C][mdns:116]: mDNS:
[12:04:16][C][mdns:117]:   Hostname: panasonic-ac-living-room
[12:04:16][V][mdns:118]:   Services:
[12:04:16][V][mdns:120]:   - _esphomelib, _tcp, 6053
[12:04:16][V][mdns:122]:     TXT: friendly_name = panasonic_ac_living_room
[12:04:16][V][mdns:122]:     TXT: version = 2024.11.3
[12:04:16][V][mdns:122]:     TXT: mac = 48ca4339e000
[12:04:16][V][mdns:122]:     TXT: platform = ESP32
[12:04:16][V][mdns:122]:     TXT: board = esp32-s3-devkitc-1
[12:04:16][V][mdns:122]:     TXT: network = wifi
[12:04:16][V][mdns:122]:     TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[12:04:16][C][esphome.ota:073]: Over-The-Air updates:
[12:04:16][C][esphome.ota:074]:   Address: panasonic-ac-living-room.local:3232
[12:04:16][C][esphome.ota:075]:   Version: 2
[12:04:16][C][esphome.ota:078]:   Password configured
[12:04:16][C][safe_mode:018]: Safe Mode:
[12:04:16][C][safe_mode:020]:   Boot considered successful after 60 seconds
[12:04:16][C][safe_mode:021]:   Invoke after 10 boot attempts
[12:04:16][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[12:04:16][C][api:140]: API Server:
[12:04:16][C][api:141]:   Address: panasonic-ac-living-room.local:6053
[12:04:16][C][api:143]:   Using noise encryption: YES
[12:04:16][C][homeassistant.sensor:030]: Homeassistant Sensor 'Downstairs Temp Sensor'
[12:04:16][C][homeassistant.sensor:030]:   State Class: ''
[12:04:16][C][homeassistant.sensor:030]:   Unit of Measurement: ''
[12:04:16][C][homeassistant.sensor:030]:   Accuracy Decimals: 1
[12:04:16][C][homeassistant.sensor:031]:   Entity ID: 'sensor.downstairs_meter'
[12:04:16][D][homeassistant.sensor:024]: 'sensor.downstairs_meter': Got state 21.30
[12:04:16][V][sensor:043]: 'Downstairs Temp Sensor': Received new state 21.299999
[12:04:16][D][sensor:094]: 'Downstairs Temp Sensor': Sending state 21.30000  with 1 decimals of accuracy
[12:04:16][D][climate:396]: 'Panasonic AC' - Sending state:
[12:04:16][D][climate:399]:   Mode: OFF
[12:04:16][D][climate:416]:   Swing Mode: OFF
[12:04:16][D][climate:419]:   Current Temperature: 21.30°C
[12:04:16][D][climate:425]:   Target Temperature: nan°C
[12:04:17][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:17][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:17][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:04:22][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:22][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:22][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:04:27][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:27][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:27][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:04:32][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:32][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:33][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:04:37][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:37][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:37][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:04:42][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:42][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:43][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:04:45][D][climate:011]: 'Panasonic AC' - Setting
[12:04:45][D][climate:015]:   Mode: COOL
[12:04:47][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:47][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:48][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:04:52][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:52][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:53][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:04:57][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:04:57][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:04:58][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:05:02][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:05:02][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:05:03][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:05:07][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[12:05:07][D][esp32.preferences:114]: Saving 1 preferences to flash...
[12:05:07][V][esp32.preferences:126]: sync: key: 233825507, len: 4
[12:05:07][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[12:05:07][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:05:07][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:05:08][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:05:12][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:05:12][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:05:13][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:05:17][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:05:17][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:05:18][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:05:22][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:05:22][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:05:23][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:05:27][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:05:27][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:05:28][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:05:32][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:05:32][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:05:33][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:05:37][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:05:37][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:05:38][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86

The second log is with the baudrate changed to 9600

INFO ESPHome 2024.11.3
INFO Reading configuration /config/esphome/panasonic-ac-living-room.yaml...
WARNING GPIO36 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
WARNING GPIO37 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
INFO Starting log output from 192.168.1.186 using esphome API
INFO Successfully connected to panasonic-ac-living-room @ 192.168.1.186 in 0.020s
INFO Successful handshake with panasonic-ac-living-room @ 192.168.1.186 in 0.060s
[12:09:34][I][app:100]: ESPHome version 2024.11.3 compiled on Dec 13 2024, 12:08:18
[12:09:34][C][wifi:600]: WiFi:
[12:09:34][C][wifi:428]:   Local MAC: 48:CA:43:39:E0:00
[12:09:34][C][wifi:433]:   SSID: 'IoT'[redacted]
[12:09:34][C][wifi:436]:   IP Address: 192.168.1.186
[12:09:34][C][wifi:440]:   BSSID: 86:2A:A8:03:92:AD[redacted]
[12:09:34][C][wifi:441]:   Hostname: 'panasonic-ac-living-room'
[12:09:34][C][wifi:443]:   Signal strength: -47 dB ▂▄▆█
[12:09:34][V][wifi:445]:   Priority: 0.0
[12:09:34][C][wifi:447]:   Channel: 1
[12:09:34][C][wifi:448]:   Subnet: 255.255.255.0
[12:09:34][C][wifi:449]:   Gateway: 192.168.1.254
[12:09:34][C][wifi:450]:   DNS1: 1.1.1.1
[12:09:34][C][wifi:451]:   DNS2: 1.0.0.1
[12:09:34][C][logger:185]: Logger:
[12:09:34][C][logger:186]:   Level: VERBOSE
[12:09:34][C][logger:188]:   Log Baud Rate: 9600
[12:09:34][C][logger:189]:   Hardware UART: USB_CDC
[12:09:34][C][uart.arduino_esp32:151]: UART Bus 0:
[12:09:34][C][uart.arduino_esp32:152]:   TX Pin: GPIO36
[12:09:34][C][uart.arduino_esp32:153]:   RX Pin: GPIO37
[12:09:34][C][uart.arduino_esp32:155]:   RX Buffer Size: 256
[12:09:34][C][uart.arduino_esp32:157]:   Baud Rate: 9600 baud
[12:09:34][C][uart.arduino_esp32:158]:   Data Bits: 8
[12:09:34][C][uart.arduino_esp32:159]:   Parity: EVEN
[12:09:34][C][uart.arduino_esp32:160]:   Stop bits: 1
[12:09:34][C][captive_portal:089]: Captive Portal:
[12:09:34][C][mdns:116]: mDNS:
[12:09:34][C][mdns:117]:   Hostname: panasonic-ac-living-room
[12:09:34][V][mdns:118]:   Services:
[12:09:34][V][mdns:120]:   - _esphomelib, _tcp, 6053
[12:09:34][V][mdns:122]:     TXT: friendly_name = panasonic_ac_living_room
[12:09:34][V][mdns:122]:     TXT: version = 2024.11.3
[12:09:34][V][mdns:122]:     TXT: mac = 48ca4339e000
[12:09:34][V][mdns:122]:     TXT: platform = ESP32
[12:09:34][V][mdns:122]:     TXT: board = esp32-s3-devkitc-1
[12:09:34][V][mdns:122]:     TXT: network = wifi
[12:09:34][V][mdns:122]:     TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[12:09:34][C][esphome.ota:073]: Over-The-Air updates:
[12:09:34][C][esphome.ota:074]:   Address: panasonic-ac-living-room.local:3232
[12:09:34][C][esphome.ota:075]:   Version: 2
[12:09:34][C][esphome.ota:078]:   Password configured
[12:09:34][C][safe_mode:018]: Safe Mode:
[12:09:34][C][safe_mode:020]:   Boot considered successful after 60 seconds
[12:09:34][C][safe_mode:021]:   Invoke after 10 boot attempts
[12:09:34][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[12:09:34][C][api:140]: API Server:
[12:09:34][C][api:141]:   Address: panasonic-ac-living-room.local:6053
[12:09:34][C][api:143]:   Using noise encryption: YES
[12:09:34][C][homeassistant.sensor:030]: Homeassistant Sensor 'Downstairs Temp Sensor'
[12:09:34][C][homeassistant.sensor:030]:   State Class: ''
[12:09:34][C][homeassistant.sensor:030]:   Unit of Measurement: ''
[12:09:34][C][homeassistant.sensor:030]:   Accuracy Decimals: 1
[12:09:34][C][homeassistant.sensor:031]:   Entity ID: 'sensor.downstairs_meter'
[12:09:35][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:09:35][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:09:35][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:09:40][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:09:40][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:09:40][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:09:45][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:09:45][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:09:45][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:09:50][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:09:50][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:09:50][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:09:55][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:09:55][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:09:55][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:10:00][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:10:00][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:10:00][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:10:05][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:10:05][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:10:05][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:10:09][D][climate:011]: 'Panasonic AC' - Setting
[12:10:09][D][climate:015]:   Mode: COOL
[12:10:10][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[12:10:10][D][esp32.preferences:114]: Saving 1 preferences to flash...
[12:10:10][V][esp32.preferences:126]: sync: key: 233825507, len: 4
[12:10:10][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[12:10:10][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:10:10][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:10:10][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:10:15][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:10:15][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:10:15][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:10:19][D][climate:011]: 'Panasonic AC' - Setting
[12:10:19][D][climate:015]:   Mode: HEAT
[12:10:20][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:10:20][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:10:20][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:10:24][D][climate:011]: 'Panasonic AC' - Setting
[12:10:24][D][climate:015]:   Mode: COOL
[12:10:25][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:10:25][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:10:25][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:10:30][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:10:30][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:10:30][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86
[12:10:35][V][panasonic_ac.cz_tacg1:252]: Polling AC
[12:10:35][V][panasonic_ac:245]: TX: 70.0A.00.00.00.00.00.00.00.00.00.00.86 (13)
[12:10:35][D][uart_debug:114]: >>> 70:0A:00:00:00:00:00:00:00:00:00:00:86

I believe G2 is gpio2 and G1 gpio1.

Hello,

Yes seems not communicating.

I would recheck gpio and connection Rx to Tx, Tx to Rx, reverse it also just to try you did not erroneously swap the connection.

Here is the schematicshttps://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/products/core/AtomS3%20Lite/Sch_M5_AtomS3_v1.0.pdf

From that as Karosm suggested, G1 is GPIO1 and G2 is GPIO2, if this is the correct model schematics.

This should tell enough.
By the way M5 RS485-module uses G5 and G6 for rx/tx, so those pins should work at least.

Hello,

does it have psram the Atom?
It does not show up in the techsheet, I am just curious.

Honestly, I don’t know. Those boards don’t have great documentation, Esp32-s3 can have psram or not .
Anyway, if esphome thinks it has, you might have conflict even it it doesn’t…

Ok thanks! Good to know I was wondering to try one of those.
I agree the docs are not very extended.

I tried all the pins on the top of the board and couldn’t get any of them to work. I have emailed m5stack to see if they can assist me further

Are you using 5V/3.3V level shifters ?