{"id":51631945,"url":"https://github.com/ajsb85/esp-chip-analyzer","last_synced_at":"2026-07-13T08:31:07.675Z","repository":{"id":359703060,"uuid":"1247184749","full_name":"ajsb85/esp-chip-analyzer","owner":"ajsb85","description":"Enterprise ESP32 Chip \u0026 USB Bridge Diagnostic Platform (Web Serial + WebUSB AN978 Spec)","archived":false,"fork":false,"pushed_at":"2026-05-23T04:11:16.000Z","size":1828,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-23T04:11:27.640Z","etag":null,"topics":["cp210x","diagnostics","esp32","esptool","hardware","pwa","web-serial","webusb"],"latest_commit_sha":null,"homepage":"https://ajsb85.github.io/esp-chip-analyzer/","language":"TypeScript","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/ajsb85.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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-05-23T02:06:01.000Z","updated_at":"2026-05-23T04:11:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ajsb85/esp-chip-analyzer","commit_stats":null,"previous_names":["ajsb85/esp-chip-analyzer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ajsb85/esp-chip-analyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajsb85%2Fesp-chip-analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajsb85%2Fesp-chip-analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajsb85%2Fesp-chip-analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajsb85%2Fesp-chip-analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ajsb85","download_url":"https://codeload.github.com/ajsb85/esp-chip-analyzer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajsb85%2Fesp-chip-analyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35416386,"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-07-13T02:00:06.543Z","response_time":119,"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":["cp210x","diagnostics","esp32","esptool","hardware","pwa","web-serial","webusb"],"created_at":"2026-07-13T08:31:07.041Z","updated_at":"2026-07-13T08:31:07.656Z","avatar_url":"https://github.com/ajsb85.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔬 ESP32 Chip \u0026 USB Converter Analyzer\n\nAn enterprise-grade, browser-based Progressive Web App (PWA) designed to analyze, diagnose, and monitor connected Espressif (ESP8266, ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2, ESP32-P4) microchips and USB-to-UART serial bridges (Silicon Labs CP210x, FTDI, CH340, Prolific).\n\nDesigned with a sleek dark glassmorphism aesthetic, the application provides engineers, developers, and hardware hackers with real-time signal diagnostics, eFuse registers auditing, and serial terminal capabilities completely client-side.\n\n---\n\n## ⚡ Key Technical Capabilities\n\n### 1. Silicon Labs CP210x Customs Inspector (AN978 Spec)\nWhen a Silicon Labs bridge is attached, the app prompts for **WebUSB** access. It performs device-level vendor control transfers (Endpoint 0, Request Type `0xC0`, Request Code `0xFF`) to read configuration latch parameters directly from the chip's internal EEPROM:\n* **Decoded Model:** Reads `ITEM_MODEL` (`0x370B`) to identify the exact variant: CP2101, CP2102, CP2103, CP2104, CP2105, CP2108, or CP2102N.\n* **Dual COM Mode:** Reads `ITEM_MODE` (`0x3711`) on CP2105 bridges to decode SCI/ECI pin configurations.\n* **Buffer Flush:** Reads `ITEM_FLUSH` (`0x370D`) buffer control parameters.\n* **Fallback Database:** Full identification profiles for FTDI (`FT232R`), WCH (`CH340`/`CH341`), Prolific (`PL2303`), and Native CDC interfaces.\n\n### 2. Espressif Chip Diagnostic Suite (`esptool-js`)\nInterfaces with the Espressif bootstrap ROM bootloader over Web Serial to extract crucial hardware properties:\n* **MAC Address:** Decodes MAC address bytes retrieved from eFuse registers.\n* **Crystal Frequency:** Identifies crystal speed (e.g. 40MHz).\n* **Chip Features:** Maps active hardware capabilities (Dual-Core, WiFi, Bluetooth Low Energy, Flash Encryption, Secure Boot).\n* **SPI Flash Auto-Detect:** Queries connected SPI Flash memory size.\n* **Hard Reset Control:** Issue classic RTS/DTR toggles to reset the board into standard program execution.\n\n### 3. Interactive DB9 RS232 Signal Monitor\n* **Output Toggles:** Drive output lines **DTR (Data Terminal Ready)**, **RTS (Request To Send)**, and **BREAK** manually.\n* **Polled Input LEDs:** Visualizes incoming handshake pins **CTS (Clear To Send)**, **DSR (Data Set Ready)**, **DCD (Data Carrier Detect)**, and **RI (Ring Indicator)** using a 150ms periodic query.\n\n### 4. Bidirectional Terminal \u0026 Espressif Log Parser\n* **Log Level Colorizer:** Automated regex tags that colorize standard Espressif IDF log outputs (green for Info, yellow for Warning, red for Error, gray for Debug).\n* **Flexible EOL:** Select `\\n`, `\\r\\n`, `\\r` or none for terminal inputs.\n* **Log Exporter:** Single-click utility to export styled terminal buffer as standard `.txt` files with timestamps.\n\n### 5. Offline PWA Operation\nFully compliant Progressive Web App with service worker pre-caching. The app works **100% offline** in remote laboratories, RF-shielded chambers, or factory floors without internet access.\n\n---\n\n## 🛠️ Developer Setup \u0026 Build Instructions\n\n### Prerequisites\n* **Node.js** (v18 or higher recommended)\n* **npm** (v9 or higher)\n* A modern browser with Web Serial and WebUSB enabled (Google Chrome, MS Edge, Opera).\n\n### Quickstart\n1. Clone the repository and navigate into it:\n   ```bash\n   git clone https://github.com/ajsb85/esp-chip-analyzer.git\n   cd esp-chip-analyzer\n   ```\n2. Build the local `esptool-js` library:\n   ```bash\n   cd ../esptool-js\n   npm install\n   npm run build\n   cd ../esp-chip-analyzer\n   ```\n3. Install dependencies and start the Vite dev server:\n   ```bash\n   npm install\n   npm run dev\n   ```\n4. Build the PWA static bundle:\n   ```bash\n   npm run build\n   ```\n\n---\n\n## 🔒 Permission \u0026 Safety Standards\n* **Permissions Revocation:** Built-in \"Revoke Access\" button calling `port.forget()` to allow users to immediately discard active port permissions.\n* **No Cloud Connections:** 100% client-side operation. No serial data, unique MACs, or metadata ever leaves your browser.\n* **Read-Only Safeties:** All control transfers target device-level read parameters, preventing any accidental bricking of CP210x EEPROMs.\n\n---\n\n## 📄 License\nThis project is licensed under the Apache License 2.0. See the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajsb85%2Fesp-chip-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajsb85%2Fesp-chip-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajsb85%2Fesp-chip-analyzer/lists"}