Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
KC868-Server ESP32 Ethernet (JL1101 PHY) – ESPHome config help
#1
Hi all,
I’m commissioning a KinCony KC868-Server and running the onboard ESP32 (WROOM-32UE) with ESPHome.
USB flashing works fine via CH340, but I’m having trouble bringing up the ESP32 Ethernet.

I’m confident this is ESP32 native Ethernet (RMII)not W5500 SPI. The board clearly has a PHY + magnetics for the ESP32 Ethernet port (separate from the CM4 Ethernet).
Key observations:
  • ESPHome compile output shows:

    Code:
    esp_eth_phy_jl1101.c.o
    so it appears the PHY is JL1101
  • Runtime log shows EMAC reset timeout when Ethernet is initialised
  • Ethernet never links, no DHCP lease
Current ESPHome config (fails to bring up Ethernet):

Code:
ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk:
    pin: GPIO0
    mode: input
  phy_addr: 1
  power_pin: GPIO16

Runtime error:

Code:
emac_esp32_init(): reset timeout
ethernet was marked as failed

Questions:
  1. Can anyone confirm which Ethernet PHY the KC868-Server ESP32 actually uses?
    • Is it JL1101 (as ESPHome compile suggests)?
  2. If so, could someone share a known-working ESPHome Ethernet YAML for this board?
  3. Are the RMII pins / PHY address / power pin documented anywhere for the ESP32 side?
I’m happy to test and report back once I have the correct config.
Thanks in advance — the hardware looks great, just need to get the ESP32 Ethernet initialised correctly.
Reply
#2
if you are using KC868-Server, the ESP32 only manager for RF and IR receiver module, not use for ethernet.
IR-sender: GPIO23
IR-receiver: GPIO22

RF-sender: GPIO15
RF-receiver: GPIO13
Reply
#3
Thanks for the clarification — understood that on the KC868-Server the ESP32 is not wired to the external Ethernet PHY, and is primarily intended for RF / IR management, with pins:
IR sender: GPIO23
IR receiver: GPIO22
RF sender: GPIO15
RF receiver: GPIO13

That helps explain why native ESP32 Ethernet cannot be brought up.

What we are trying to understand now is slightly different, and more about internal control architecture:

From the documentation and block diagram, the ARM CPU owns all I/O resources (MOSFET outputs, dry contacts, digital inputs), and the ESP32 appears to act as a communications / control front-end when using KinCony firmware. This implies there is an internal command interface between ESP32 and ARM.

Our goal is:
To flash our own ESPHome firmware onto the ESP32
Use ESP32 networking (WiFi is fine)
And still be able to control the ARM CPU I/O and read inputs
Exposing everything cleanly to Home Assistant

So the key questions are:
How does the ESP32 communicate with the ARM CPU internally?
UART?
RS485 / Modbus RTU?
Proprietary serial protocol?

Is there any documentation for this internal protocol?
Register map?
Command frames?
Modbus slave ID / function codes if applicable?

Has anyone successfully used ESPHome on the ESP32 to control the ARM-based I/O?
Even a minimal example (e.g. toggle one MOSFET, read one DI) would be extremely helpful.
Alternatively: is the ARM CPU fixed to only work with KinCony ESP32 firmware, or is it designed to accept generic serial / Modbus commands?

We are not trying to bypass or replace the ARM — just understand the supported way (if any) for a custom ESP32 firmware to issue commands to it.

Happy to test, document, and report back once the interface details are known.

Thanks again — the hardware is excellent, we just want to integrate it cleanly into an ESPHome + HA workflow.
Reply


Forum Jump:


Users browsing this thread:
1 Guest(s)