{"id":19021935,"url":"https://github.com/chleba/esp32modbustestmicropython","last_synced_at":"2026-04-21T05:33:48.767Z","repository":{"id":141486416,"uuid":"593552687","full_name":"Chleba/esp32modbusTestMicropython","owner":"Chleba","description":"ESP32 TTGO T-Display example with micropython FW. Testing implementation of ModBus library, ST7789 display library with romfonts, WiFi \u0026 WebSocket connection and using few threads.","archived":false,"fork":false,"pushed_at":"2023-01-26T17:55:37.000Z","size":544,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-02T00:43:15.182Z","etag":null,"topics":["esp32","micropython","micropython-esp32","modbus","st7789-display","ttgo-t-display","websockets","wifi"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Chleba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-26T09:44:15.000Z","updated_at":"2024-02-23T01:07:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"13b8c746-bbbc-4420-8506-638ad8f61537","html_url":"https://github.com/Chleba/esp32modbusTestMicropython","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chleba%2Fesp32modbusTestMicropython","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chleba%2Fesp32modbusTestMicropython/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chleba%2Fesp32modbusTestMicropython/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chleba%2Fesp32modbusTestMicropython/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chleba","download_url":"https://codeload.github.com/Chleba/esp32modbusTestMicropython/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240066197,"owners_count":19742623,"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":["esp32","micropython","micropython-esp32","modbus","st7789-display","ttgo-t-display","websockets","wifi"],"created_at":"2024-11-08T20:24:19.802Z","updated_at":"2026-04-21T05:33:43.738Z","avatar_url":"https://github.com/Chleba.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp32modbusTestMicropython\nMicropython for ESP32 TTGO T-Display with micropython FW. \nTesting examples with implementation of\n- ModBus library\n- ST7789 display library with romfonts\n- WiFi \u0026amp; WebSocket connection\n- threads\n\n## Used libraries\n- WebSockets: https://github.com/danni/uwebsockets\n- ST7789: https://github.com/russhughes/st7789py_mpy\n- Modbus: https://github.com/brainelectronics/micropython-modbus\n\n## Micropython FW\n- v1.19.1 - https://micropython.org/download/esp32/\n\n## Used tools\n- rshell: https://github.com/dhylands/rshell\n- esp-idf: https://github.com/espressif/esp-idf\n- esptool: https://github.com/espressif/esptool\n\n#\n## First run / installations\n- connect ESP32 TTGO T-Display with USB to a PC\n- download Micropython FW (v1.19.1\u003e)\n- erase flash on ESP32\n    - `esptool.py --chip esp32 --port /dev/ttyACM0 erase_flash`\n- upload new FW onto ESP32\n    - `esptool.py --chip esp32 --port /dev/ttyACM0 --baud 460800 -z 0x1000 write_flash ./micropythonfw.bin`\n- hard reset ESP32 board\n- via rshell connect to the ESP32 \n    - `rshell -p /dev/ttyACM0 -b 115200`\n- board will mount after connecion it's flash disk into a `/pyboard/` directory\n- upload files into that directory via `cp ./files/* /pyboard/`\n- after all files is uploaded you may hard reset the ESP32 board\n- type `repl` in rshell to see serial outpur\n- type `python server.py` to run websocket testing server \n\n## Usage\n\u003cimg src=\"https://github.com/Chleba/esp32modbusTestMicropython/blob/main/example.jpg\" width=\"240\" /\u003e\n\nThis testing App is just trying to make some performance observations.\nIt will make two threads.\nOne with rendering scanned WiFi networks on st7789 display.\nSecond that will work with networking.\nBoard is doing:\n- create two threads\n- create station WiFi\n- every 2.seconds scan WiFi networks\n- every 2.seconds create WebSocket client \u0026 connect to WebSocket server to send \u0026 recieve message\n- outputing debug messages into a USB serial\n- rendering scaned WiFi's to display\n- creating text file with R/W on flash storage\n- !!! implemented umodbus library BUT *getting allocation memory fail error* - TODO (need more work with used memory on ESP32 board)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchleba%2Fesp32modbustestmicropython","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchleba%2Fesp32modbustestmicropython","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchleba%2Fesp32modbustestmicropython/lists"}