{"id":16239975,"url":"https://github.com/uhi22/ccs32","last_synced_at":"2025-07-10T06:07:28.003Z","repository":{"id":156619969,"uuid":"612747883","full_name":"uhi22/ccs32","owner":"uhi22","description":"WT32-ETH01 with tpLink HomePlug modem as CCS charge controller","archived":false,"fork":false,"pushed_at":"2023-07-18T07:01:20.000Z","size":605,"stargazers_count":24,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T04:41:37.420Z","etag":null,"topics":["arduino","ccs","charging","electric-vehicles","homeplug","iso15118","pev","wt32-eth01"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uhi22.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-11T21:20:13.000Z","updated_at":"2024-12-22T11:52:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"c93f06d1-e78b-4292-a042-67b4af5fdb6d","html_url":"https://github.com/uhi22/ccs32","commit_stats":{"total_commits":38,"total_committers":1,"mean_commits":38.0,"dds":0.0,"last_synced_commit":"99856067460a3b7149e533ca27068e3aa93473aa"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uhi22/ccs32","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uhi22%2Fccs32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uhi22%2Fccs32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uhi22%2Fccs32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uhi22%2Fccs32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uhi22","download_url":"https://codeload.github.com/uhi22/ccs32/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uhi22%2Fccs32/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264537545,"owners_count":23624422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","ccs","charging","electric-vehicles","homeplug","iso15118","pev","wt32-eth01"],"created_at":"2024-10-10T13:45:45.335Z","updated_at":"2025-07-10T06:07:27.979Z","avatar_url":"https://github.com/uhi22.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CCS Charging Experiments with ESP32\n\n## Goal\nThis project intends to use the ESP32-based WT32-ETH01 board together\nwith a tpLink Homeplug modem containing an AR7420, to build the vehicle\nside of a CCS charging system for electrical cars.\n\nThe basis of this port is the python-variant in\nhttps://github.com/uhi22/pyPLC\n\n## News / Change history / functional status\n\n### 2023-04-05 Charging loop on Alpitronics works\n- After fixing several topics regarding the NeighborSolicitation, the SDP succeeds, and we come to the charging loop on alpitronics hypercharger.\n\n### 2023-03-25 LC Display works\n- The three-line-OLED display (see https://github.com/uhi22/SerialToOLED) shows the charging progress.\n- Simulated charging works with simulated EVSE (Win10, pyPlc).\n- The main crash reason was a heap leakage because receive buffer was not free'd. This is fixed.\n- Sporadically still crashes: `panic'ed (Unhandled debug exception). Debug exception reason: Stack canary watchpoint triggered (emac_rx)`\n\n### 2023-03-19 PEV state machine until Charging Loop\nWith simulated EVSE (Win10, pyPlc) on the opposite end, the WT32-ETH01 makes the SLAC, SDP, NeighborDiscovery, TCP\nand the charging state machine. It runs until the charging loop.\nUnfortunately, the controller is not really stable. Several ethernet issues are\nvisible:\n- Sometimes the eth raises `ETHERNET_EVENT_DISCONNECTED`.\n- Sporadically we get `emac_esp32_transmit(229): insufficient TX buffer size`\n- Often `esp.emac: no mem for receive buffer`\n- Sporadically a complete crash: `panic'ed (Unhandled debug exception). Debug exception reason: Stack canary watchpoint triggered (emac_rx)`\n\n### 2023-03-11 Reading the HomePlug software versions works\nInitial Arduino sketch, which is able to send and receive HomePlug\nmessages on the Ethernet port of the WT-ETH01. Debug console is\nthe Arduino IDE, via the RX0/TX0, which are also used for programming.\nAs test, the sketch sends GetSoftwareVersion requests and shows\nthe related responses on the debug console.\n\n\n## Benefits of this solution\n- much faster startup time (2s) compared to the Raspberry or Notebook\n- much less current consumption compared to the Raspberry or Notebook\n- more compact design\n\n## Drawbacks\n- no log file for offline analysis\n\n## Todos\n[x] porting of all required homeplug stuff from python to C.\n[x] porting the SLAC state machine\n[ ] porting the Syslog message transmission\n[x] porting the UDP and SDP\n[x] integrating TCP\n[x] integrating the EXI decoder/encoder\n[x] porting the pev state machine","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuhi22%2Fccs32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuhi22%2Fccs32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuhi22%2Fccs32/lists"}