{"id":25111888,"url":"https://github.com/karshprime/smonitor","last_synced_at":"2026-05-17T17:45:19.599Z","repository":{"id":274392820,"uuid":"922389408","full_name":"karshPrime/smonitor","owner":"karshPrime","description":"terminal serial monitor with timestamps and direct file save","archived":false,"fork":false,"pushed_at":"2025-04-02T01:40:02.000Z","size":1053,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T20:12:43.222Z","etag":null,"topics":["arduino","serial-communication"],"latest_commit_sha":null,"homepage":"","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/karshPrime.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}},"created_at":"2025-01-26T04:04:38.000Z","updated_at":"2025-04-02T01:40:06.000Z","dependencies_parsed_at":"2025-04-02T02:28:10.408Z","dependency_job_id":"169649e5-21bd-4a88-acd5-8fa20461b205","html_url":"https://github.com/karshPrime/smonitor","commit_stats":null,"previous_names":["karshprime/smonitor"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/karshPrime/smonitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karshPrime%2Fsmonitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karshPrime%2Fsmonitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karshPrime%2Fsmonitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karshPrime%2Fsmonitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karshPrime","download_url":"https://codeload.github.com/karshPrime/smonitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karshPrime%2Fsmonitor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266312178,"owners_count":23909744,"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","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["arduino","serial-communication"],"created_at":"2025-02-08T01:28:26.609Z","updated_at":"2026-05-17T17:45:14.569Z","avatar_url":"https://github.com/karshPrime.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SerialMonitor\n\nSerialMonitor is a continuation and fork of a custom tool I developed for\n[Haemograph Pyt. Ltd.](https://github.com/Haemograph-Rheometer/) to monitor the firmware I worked\non. It has now been improved to serve as a more general tool for reading from the Serial Monitor and\nrecording logs.\n\n\n\n## Usage\n\n![screenshot](./.screenshot.png)\n\n```\nUsage:\n  $ smonitor [port] [baud rate] {file.txt} -d {duration} --human-time\n\nOptions:\n  port              Port to connect to (required)\n  baud              Baud rate for serial communication (e.g., 9600, 19200)\n  duration          Time in seconds for serial read. 0 for forever. (default 60)\n  file              Path to the file.txt where logs will be saved\n\nFlags:\n  --human-time      Instead of µs, get time in hh:mm:ss.SSS\n\nExample:\n  $ monitor /dev/tty.usbmodem101 115200 -d 600 -o ./data.txt\n  This command saves logs for 10 minutes in data.txt\n\n  $ monitor /dev/tty.usbmodem101 9600 -d 0 --human-time\n  This command prints serial data indefinitely with time in hh:mm:ss.SSS.\n\nNotes:\n  - Ensure the specified port is correct and accessible.\n  - The duration is specified in seconds; use 0 for continuous logging, but it\n    cannot be set to 0 when writing to a file.\n  - The output file will be created if it does not exist, or overwritten if it does.\n  - Logs are written to the file whenever a filename is specified.\n  - Use the --ignore-values flag if you only want to log the timestamps.\n```\n\n\n\n## Installation Instructions\n\n### macOS - Apple Silicon\n\n#### 1. Download the Latest Binary\nObtain the latest binary from the [releases](https://github.com/karshPrime/smonitor/releases).\n\n#### 2. Add to Local Path\nMove the binary to your local path:\n```sh\n$ mv ~/Downloads/smonitor_macOS_arm64 /usr/local/bin/smonitor\n```\n\n#### 3. Reload Your Shell\nTo ensure the changes take effect, reload your shell.\n\n\n\n### Other Platforms ( Windows / GNU/Linux / Intel macOS )\n\n#### 1. Prerequisites\nEnsure you have the following installed:\n* [cmake](https://cmake.org/download/)\n* C compiler (e.g., GCC, Clang)\n\n#### 2. Compile the Source Code\nRun the following command to compile the source:\n\n```sh\n$ cmake -S . -B build \u0026\u0026 cmake --build build\n```\n\n#### 3. Add to Local Path\n```sh\n$ mv ./build/bin/smonitor /usr/local/bin/smonitor\n```\n\n#### 4. Reload Your Shell\nTo ensure the changes take effect, reload your shell.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarshprime%2Fsmonitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarshprime%2Fsmonitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarshprime%2Fsmonitor/lists"}