{"id":19392284,"url":"https://github.com/unsignedarduino/uno-lcd-terminal-daemon","last_synced_at":"2026-05-09T03:33:57.709Z","repository":{"id":110638896,"uuid":"476869789","full_name":"UnsignedArduino/Uno-LCD-Terminal-Daemon","owner":"UnsignedArduino","description":"A daemon for the Uno LCD Terminal!","archived":false,"fork":false,"pushed_at":"2023-09-25T21:39:00.000Z","size":50,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-11T14:56:05.956Z","etag":null,"topics":["arduino","arduino-uno","daemon","display","lcd","output","terminal"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UnsignedArduino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-04-01T21:11:47.000Z","updated_at":"2022-04-02T00:03:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"5b9b5351-f3f7-47ec-a614-b300baecae24","html_url":"https://github.com/UnsignedArduino/Uno-LCD-Terminal-Daemon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/UnsignedArduino/Uno-LCD-Terminal-Daemon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FUno-LCD-Terminal-Daemon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FUno-LCD-Terminal-Daemon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FUno-LCD-Terminal-Daemon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FUno-LCD-Terminal-Daemon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UnsignedArduino","download_url":"https://codeload.github.com/UnsignedArduino/Uno-LCD-Terminal-Daemon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FUno-LCD-Terminal-Daemon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32805982,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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":["arduino","arduino-uno","daemon","display","lcd","output","terminal"],"created_at":"2024-11-10T10:31:54.253Z","updated_at":"2026-05-09T03:33:57.693Z","avatar_url":"https://github.com/UnsignedArduino.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uno-LCD-Terminal-Daemon\nA daemon for the [Uno LCD Terminal](https://github.com/UnsignedArduino/Uno-LCD-Terminal)!\n\nThe daemon will create an icon in the notification area ([incorrectly known as the \"system tray\"](https://www.howtogeek.com/685748/did-you-know-windows-has-never-had-a-system-tray/)) and will show the status and allow you to quit the program!\n\n![Picture of the Uno LCD Terminal Daemon icon in the notification area](https://user-images.githubusercontent.com/38868705/161360910-2c7c82f6-b802-463b-b5a3-602af09a5d1e.png)\n\nIt is hot pluggable, so you can unplug and replug your Uno LCD Terminal back in all you want! (As long as the serial port name stays the same) It's also happy being started on system startup.\n\n![The Uno LCD Terminal with the daemon running](https://user-images.githubusercontent.com/38868705/161362976-7f61f7ba-11e2-4924-9e02-678ab5eecd12.gif)\n\n## Hardware \n\nSee the [`README.md`](https://github.com/UnsignedArduino/Uno-LCD-Terminal/blob/main/README.m) for the Uno LCD Terminal for instructions and details.\n\n## Software\n\n### Installation\n\n1. Clone this repo.\n2. Create virtual environment if desired.\n3. Install dependencies in [`requirements.txt`](https://github.com/UnsignedArduino/Uno-LCD-Terminal-Daemon/blob/main/requirements.txt).\n\n### Running\n\nRun [`main.py`](https://github.com/UnsignedArduino/Uno-LCD-Terminal-Daemon/blob/main/main.py). \n\nThis is my batch file (`.bat` file on Windows) which I set to auto start on Windows:\n\n```commandline\nREM Go to the E: drive\nE:\n\nREM Change directories to the \"Uno LCD Terminal Daemon\" directory\ncd \"Uno LCD Terminal Daemon\"\n\nREM Run main.py with pythonw (the binary in venv\\Scripts\\ will respect the virtual environment) \n\"venv\\Scripts\\pythonw\" main.py -c -p COM8 -o \"time\" -o \"cpu\" -o \"memory\" -o \"disk\" -o \"network\"\n```\n\n### Command line arguments\n\n#### Help\nRun with `-h` or `--help` to view the help:\n```commandline\nusage: main.py [-h] [-lp] [-lo] [-c] [-p PORT] [-u INTERVAL] [-r INTERVAL]\n               [-o NAME] [-d]\n\nDaemon for the Uno LCD Terminal.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -lp, --list-ports     List serial ports and exit.\n  -lo, --list-outputs   List function outputs and exit.\n  -c, --connect         Connect to an Uno LCD Terminal.\n  -p PORT, --port PORT  A port to connect to. Required if connecting with -c\n                        or --connect. Can be a path or an index from -l or\n                        --list-ports.\n  -u INTERVAL, --update-interval INTERVAL\n                        The update interval for the Uno LCD Terminal in float\n                        seconds. Required if connecting with -c or --connect.\n                        Defaults to 1.0.\n  -r INTERVAL, --change-interval INTERVAL\n                        The change interval for the Uno LCD Terminal in\n                        integer seconds. Required if connecting with -c or\n                        --connect. Defaults to 1.\n  -o NAME, --output NAME\n                        The outputs you want to use. At least one is required\n                        if connecting with -c or --connect. Can be specified\n                        multiple times.\n  -d, --debug           Whether to show debug output or not.\n```\n\n#### Example commands:\n\nList all serial ports:\n```commandline\nmain.py -lp\n```\nExample output on Windows:\n```commandline\n2022-04-01 21:42:27,946 - __main__ - INFO - Listing connected serial ports\n2022-04-01 21:42:27,956 - __main__ - INFO - 1/6: COM1 - Communications Port (COM1)\n2022-04-01 21:42:27,957 - __main__ - INFO - 2/6: COM14 - Standard Serial over Bluetooth link (COM14)      \n2022-04-01 21:42:27,957 - __main__ - INFO - 3/6: COM15 - Standard Serial over Bluetooth link (COM15)      \n2022-04-01 21:42:27,957 - __main__ - INFO - 4/6: COM18 - USB Serial Device (COM18)\n2022-04-01 21:42:27,957 - __main__ - INFO - 5/6: COM3 - Intel(R) Active Management Technology - SOL (COM3)\n2022-04-01 21:42:27,957 - __main__ - INFO - 6/6: COM8 - Arduino Uno (COM8)\n```\n\nList all output functions: (they generate text to send to the Terminal)\n```commandline\nmain.py -lo\n```\nExample output on Windows:\n```commandline\n2022-04-01 21:43:22,217 - __main__ - INFO - Listing output functions\n2022-04-01 21:43:22,217 - __main__ - INFO - 1 / 5: time - Shows the date and time.\n2022-04-01 21:43:22,217 - __main__ - INFO - 2 / 5: cpu - Shows the CPU utilization\n2022-04-01 21:43:22,217 - __main__ - INFO - 3 / 5: memory - Shows the memory utilization\n2022-04-01 21:43:22,217 - __main__ - INFO - 4 / 5: disk - Shows the disk IO counters\n2022-04-01 21:43:22,217 - __main__ - INFO - 5 / 5: network - Shows the network IO counters\n```\n\nConnect to `COM8` and use the output functions `time`, `cpu`, `memory`, `disk`, and `network`:\n```commandline\nmain.py -c -p COM8 -o \"time\" -o \"cpu\" -o \"memory\" -o \"disk\" -o \"network\"\n```\nNote that doing this needs a [supported desktop](https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/QSystemTrayIcon.html#detailed-description). (sorry hardcore command line users - you can go back [earlier in time to use an older version that does not use an icon](https://github.com/UnsignedArduino/Uno-LCD-Terminal-Daemon/tree/72daaa94cdf53d8a4c3adfc83c4ee9840ae5664c))\n\nAccording to the [Qt 5 docs](https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/QSystemTrayIcon.html#detailed-description):\n\u003e The `QSystemTrayIcon` class can be used on the following platforms:\n\u003e \n\u003e - All supported versions of Windows.\n\u003e \n\u003e - All window managers and independent tray implementations for X11 that implement the http://standards.freedesktop.org/systemtray-spec/systemtray-spec-0.2.html freedesktop.org XEmbed system tray specification.\n\u003e \n\u003e - All X11 desktop environments that implement the D-Bus http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem specification, including recent versions of KDE and Unity.\n\u003e \n\u003e - All supported versions of macOS.\n\nExample output on Windows:\n```commandline\n2022-04-01 21:43:41,550 - __main__ - INFO - Connecting to COM8\n2022-04-01 21:43:41,663 - uno_lcd_terminal - INFO - Connected!\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funsignedarduino%2Funo-lcd-terminal-daemon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funsignedarduino%2Funo-lcd-terminal-daemon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funsignedarduino%2Funo-lcd-terminal-daemon/lists"}