{"id":50330280,"url":"https://github.com/themactep/esp32c3oled-uart-bridge","last_synced_at":"2026-05-29T09:02:30.899Z","repository":{"id":359848485,"uuid":"1221463962","full_name":"themactep/esp32c3oled-uart-bridge","owner":"themactep","description":"ESP32-C3 Wireless UART Bridge","archived":false,"fork":false,"pushed_at":"2026-04-26T08:41:33.000Z","size":14,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-23T19:31:11.740Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/themactep.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-26T08:40:43.000Z","updated_at":"2026-04-28T14:54:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/themactep/esp32c3oled-uart-bridge","commit_stats":null,"previous_names":["themactep/esp32c3oled-uart-bridge"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/themactep/esp32c3oled-uart-bridge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fesp32c3oled-uart-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fesp32c3oled-uart-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fesp32c3oled-uart-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fesp32c3oled-uart-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/themactep","download_url":"https://codeload.github.com/themactep/esp32c3oled-uart-bridge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fesp32c3oled-uart-bridge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33644313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"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":"2026-05-29T09:02:25.184Z","updated_at":"2026-05-29T09:02:30.895Z","avatar_url":"https://github.com/themactep.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32-C3 Wireless UART Bridge\n\nTurns the ESP32-C3 0.42\" OLED board into a TCP↔UART bridge. Connect to a remote device's serial port over WiFi using any telnet client.\n\n## Features\n\n- Bidirectional UART ↔ TCP bridge at 115200 baud\n- Telnet-compatible (port 23), single client\n- OLED shows IP address and connection state\n- Hardcoded WiFi credentials\n\n## Hardware\n\nSee [BOARD.md](BOARD.md) for full board details and pinout.\n\n| Signal | GPIO |\n|--------|------|\n| UART RX (← remote TX) | GPIO1 |\n| UART TX (→ remote RX) | GPIO3 |\n| I2C SDA (OLED) | GPIO8  |\n| I2C SCL (OLED) | GPIO9  |\n\n## Setup\n\n### 1. Dependencies\n\nInstall via Arduino IDE → Tools → Manage Libraries:\n\n- **U8g2** by olikraus\n\n### 2. Board configuration\n\n- Board: `ESP32C3 Dev Module`\n- USB CDC On Boot: `Enabled`\n- Flash Mode: `QIO`\n\n### 3. Configure credentials\n\nEdit `uart_bridge.ino`:\n\n```cpp\n#define WIFI_SSID  \"your_ssid\"\n#define WIFI_PASS  \"your_password\"\n```\n\n### 4. Flash\n\nHold **B** (boot), tap **R** (reset), keep holding **B**, trigger upload in Arduino IDE, release **B** once upload starts connecting.\n\n### 5. Connect\n\n**Recommended — netcat (clean, no CR/LF issues):**\n```bash\nnc \u003cip shown on OLED\u003e 23\n```\n\n\u003e Use `nc`, not `telnet`. Telnet sends `\\r\\n` on Enter which causes double prompts on the remote shell.\n\n**Full terminal (screen/minicom) via socat:**\n\n`socat` creates a virtual serial port that tunnels to the TCP bridge, giving you proper terminal behavior (arrow keys, backspace, Ctrl+C):\n\n```bash\n# Install socat if needed\nsudo apt install socat\n\n# In one terminal — create virtual serial port\nsocat PTY,link=/tmp/ttyCAM,rawer TCP:\u003cip\u003e:23\n\n# In another terminal — connect with screen or minicom\nscreen /tmp/ttyCAM 115200\n# or\nminicom -D /tmp/ttyCAM -b 115200\n```\n\n**USB (direct serial passthrough):**\n\nThe board also bridges via USB. Open `/dev/ttyACM0` at 115200 in any serial terminal — works simultaneously with the TCP connection.\n\n## Wiring to Remote Device\n\n```\nESP32-C3       Remote Device\nGPIO1 (RX) ←── TX\nGPIO3 (TX) ──→ RX\nGND        ─── GND\n```\n\n\u003e Do not use GPIO20/21 for the bridge — they are UART0 (bootloader/console) and will cause flashing issues.\n\n## OLED Display States\n\n| Display | Meaning |\n|---------|---------|\n| `Connecting / WiFi...` | Joining WiFi |\n| `\u003cip address\u003e / Waiting...` | Ready, no client |\n| `\u003cclient ip\u003e / Connected` | Client active |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemactep%2Fesp32c3oled-uart-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemactep%2Fesp32c3oled-uart-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemactep%2Fesp32c3oled-uart-bridge/lists"}