{"id":19230652,"url":"https://github.com/ctron/embedded-serial-bridge","last_synced_at":"2026-02-28T02:06:59.704Z","repository":{"id":140052912,"uuid":"296633897","full_name":"ctron/embedded-serial-bridge","owner":"ctron","description":null,"archived":false,"fork":false,"pushed_at":"2020-10-08T09:43:51.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-23T11:17:37.241Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctron.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":"2020-09-18T13:48:25.000Z","updated_at":"2021-03-04T02:01:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"a1f62bcd-d2e3-4b80-b860-7ae7c1c9a247","html_url":"https://github.com/ctron/embedded-serial-bridge","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ctron/embedded-serial-bridge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fembedded-serial-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fembedded-serial-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fembedded-serial-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fembedded-serial-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctron","download_url":"https://codeload.github.com/ctron/embedded-serial-bridge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fembedded-serial-bridge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29922846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-09T15:40:00.773Z","updated_at":"2026-02-28T02:06:59.687Z","avatar_url":"https://github.com/ctron.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Serial bridge for embedded devices\n\nThe main goal of this project is to provide an embedded application, which can be uploaded to a microcontroller,\nbridging two serial ports. Originally for connecting a virtual COM port (connected via USB to a host machine) to\nan ESP-8622 (ESP-01) connected to the microcontroller.\n\nThis allows you connect from the host machine, via some terminal application (like `minicom`) to the ESP on the\ndevelopment board.\n\nIt also contains some logic, to enable the programming mode of the ESP, which allows you to flash a new firmware,\nfrom your host machine, to the ESP on the microcontroller board.\n\n## Programming mode\n\nThe programming mode is enabled by holding the *user button* while resetting the board.\n\n## LEDs\n\nThe setup currently supports two LEDs (if the board supports it):\n\n* An LED indicating that serial traffic is being processed\n* An LED indicating that the programming mode is active\n\n## Flashing\n\nThe project uses `cargo-embed` from [probe.rs](https://probe.rs/) for flashing:\n\n    cargo embed --release --feature \u003cconfig\u003e\n\nWhere `\u003cconfig\u003e` is one of the following:\n\n* `stm32f411` – [STM32F7411RE Nucleo 64](#stm32f411)\n* `stm32f723` – [STM32F723-DISCOVERY](#stm32f723)\n\n## Configurations\n\nThe following configurations are currently supported out of the box:\n\n### STM32F7411RE Nucleo 64\n\u003ca id=\"stm32f411\"\u003e\u003c/a\u003e\n\n| Type         | Port     |\n| ------------ | -------- |\n| Virtual/Host | `USART2` |\n| ESP          | `USART1` |\n\nThe STM32F7411RE with the Nucleo 64 board doesn't provide a specialized ESP-01 socket. You need\nto manually wire up the ESP with `USART1`:\n\n| STM32 PIN | Nucleo          | Arduino Name | ESP PIN   | Function     |\n| --------- | --------------- | ------------ | --------- | ------------ |\n| PA9       | CN5.1 / CN10.21 | D8           | RX        | Serial RX/TX |\n| PA10      | CN9.3 / CN10.33 | D2           | TX        | Serial TX/RX |\n| PC0       | CN8.6 / CN7.38  | A5           | CH_PD /EN | Chip enable  |\n| PC1       | CN8.5 / CN7.36  | A4           | RST       | Reset ESP    |\n| PB0       | CN8.4 / CN7.34  | A3           | (GP)IO0   | ESP Mode Selector (Normal/Programming) |\n| PA4       | CN8.3 / CN7.32  | A2           | (GP)IO2   | ESP Debug TX |\n|           | CN6.4 / CN7.16  | +3V3         | 3V3       | VCC          |\n|           | CN6.6 / CN7.20  | GND          | GND       | Ground       |\n\nThe virtual COM (`USART2`) is routed through the STLINK connection to the host computer, connected via USB.\n\nNote:\n\n  * The GPIO2 port of the ESP is actually a second UART of the ESP, used for sending debug information.\n    However, this setup doesn't wire it up as an input, and only ensures that the pin is set to *high*\n    during startup, as required by the ESP.\n\nSee also:\n\n  * [Product Page](https://www.st.com/en/evaluation-tools/nucleo-f411re.html)\n\n### STM32F723-DISCOVERY\n\u003ca id=\"stm32f723\"\u003e\u003c/a\u003e\n\n| Type         | Port     |\n| ------------ | -------- |\n| Virtual/Host | `USART6` |\n| ESP          | `UART5` |\n\nThe STM32F723 discovery board has two sockets for the ESP-01. One on the main board, and a second one\non the extension board. This setup uses the one on the main board, which is mapped to `UART5`. The\ninstallation is rather simple, as you only need to plug in the ESP-01 into the socket.\n\nThe virtual COM (`USART6`) is routed through the STLINK connection to the host computer, connected via USB.\n\nNote:\n\n  * Currently, the `stm32f7xx-hal` crate lacks support for the `UART5` port. It has been added on the `master`\n    branch. However, a release of that is still pending. That is why the cargo file uses a patch of that crate\n    directly from GitHub.\n\nAlso see:\n\n  * [Product Page](https://www.st.com/en/evaluation-tools/32f723ediscovery.html) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctron%2Fembedded-serial-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctron%2Fembedded-serial-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctron%2Fembedded-serial-bridge/lists"}