{"id":29223596,"url":"https://github.com/marcoplatino/externalsysteminforpi","last_synced_at":"2026-04-21T16:06:31.710Z","repository":{"id":302159018,"uuid":"1011440860","full_name":"MarcoPlatino/externalsysteminfoRPI","owner":"MarcoPlatino","description":"Python application to have a i2c LCD as a peripheral to display system information on raspberry pi","archived":false,"fork":false,"pushed_at":"2025-06-30T21:54:54.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-30T22:32:02.299Z","etag":null,"topics":["pi","python","raspberry-pi","raspberry-pi-5","system-info","system-information"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarcoPlatino.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-06-30T20:27:13.000Z","updated_at":"2025-06-30T21:54:58.000Z","dependencies_parsed_at":"2025-06-30T22:42:07.905Z","dependency_job_id":null,"html_url":"https://github.com/MarcoPlatino/externalsysteminfoRPI","commit_stats":null,"previous_names":["marcoplatino/externalsysteminforpi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MarcoPlatino/externalsysteminfoRPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcoPlatino%2FexternalsysteminfoRPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcoPlatino%2FexternalsysteminfoRPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcoPlatino%2FexternalsysteminfoRPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcoPlatino%2FexternalsysteminfoRPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarcoPlatino","download_url":"https://codeload.github.com/MarcoPlatino/externalsysteminfoRPI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcoPlatino%2FexternalsysteminfoRPI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263264650,"owners_count":23439257,"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","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":["pi","python","raspberry-pi","raspberry-pi-5","system-info","system-information"],"created_at":"2025-07-03T05:05:32.436Z","updated_at":"2026-04-21T16:06:31.704Z","avatar_url":"https://github.com/MarcoPlatino.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# External System Information for Raspberry Pi 5\n![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)\n![Python](https://img.shields.io/badge/python-3.x-blue.svg)\n![Last Commit](https://img.shields.io/github/last-commit/MarcoPlatino/externalsysteminfoRPI)\n![Issues](https://img.shields.io/github/issues/MarcoPlatino/externalsysteminfoRPI)\n\nThis is an external system information display for the Raspberry Pi 5. I took inspiration from Conky, and Conky Rings, and thought noticed how convenient it was to have that kind of information, but the one drawback to Conky is that it is only on the homescreen -- This becomes one of your peripherals and is always active.\n\n---\n## Table of Contents\n- [Features](#features)\n- [Requirements](#stuff-you-will-need)\n- [Setup](#setup)\n- [Common Issues](#common-issues)\n- [Stand](#stand)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n---\n## Features:\nThe display shows the following:\n- CPU temperature (in degrees Celcius)\n- CPU load (in percent)\n- RAM usage (as a percentage)\n- Disk Space (As a fraction showing the current used space versus the total space)\n---\n\n## Stuff you will need:\n### Hardware\n  1. You need 4 female-to-female jumper wires to wire the LCD to the Pi\n  2. A Raspberry Pi (I have only tested this on the pi5)\n  3. An LCD screen. I used [this one](https://www.amazon.com/GeeekPi-Interface-Backlight-Raspberry-Electrical/dp/B0BCWJWKG2/141-8914070-5124150?pd_rd_w=aiDfA\u0026content-id=amzn1.sym.751acc83-5c05-42d0-a15e-303622651e1e\u0026pf_rd_p=751acc83-5c05-42d0-a15e-303622651e1e\u0026pf_rd_r=FDYZRA57ETS49SXH0ZRA\u0026pd_rd_wg=FOuh7\u0026pd_rd_r=ce61adae-9817-4b25-9350-e5aa9f382d58\u0026pd_rd_i=B0BCWJWKG2\u0026psc=1)\n  \n  OPTIONAL THINGS (that will improve your experience):\n  1. A 3D printer\n  2. Filament (I used BambuLab Matte PLA)\n  3. 4 (or 2) M3 screws.\n\n### Python Requirements\nInstall all of the dependencies by just running this command:\n\n`pip install -r requirements.txt`\n\nIf you have it in a different directory, you should run this command instead, putting the actual path to your `requirements.txt`.\n\n`pip install -r /path/to/your/requirements.txt`\n\n\u003e [!Tip]\n\u003e Depending on how you have your Pi configured, it may request that you create a .venv\n\n\nIf you already have all of the necessary stuff to run your pi and everything in the list, you should be set!\n\n---\n## Setup:\n### i2c\nFirst of all, you have to make sure that you have the i2c interface on your pi enabled correctly. You have to first go to the main menu, going to preferences, and then clicking on Raspberry Pi Configuration.\n![20250630_17h52m55s_grim](https://github.com/user-attachments/assets/cc184b76-221e-4f67-a1a0-6f18fe17f528)\n\nThen, click on the Interfaces tab, and enable i2c!\n![20250630_17h53m05s_grim](https://github.com/user-attachments/assets/ec01cef7-98cd-4863-a37a-0a141431b74c)\n\n### Wiring the LCD to the Pi\nFollow this very convenient wiring chart that I have made:\n![RPI_LCD_connections_bb](https://github.com/user-attachments/assets/ff390d91-f48f-4f4b-8de8-7ec5ee3dde17)\n\nMake sure that you have 4 female-to-female connectors so that you can wire everything together properly. If you did it right and your pi is powered on, the screen should light up. There may be a potentiometer on the back that you will have to adjust for contrast. You won't really be able to tell how it needs to be adjusted until you actually have the program running, so leave that alone for now...\n\n### Setting up the code\nStart by cloning the repository onto your machine, and configuring the `externalsystemdisplay.sh` file to direct the python run command to the location of your `ExternalSystemMonitor.py` file. \nIt will look something like this:\n```\n#!/bin/bash\nsleep 20\npython /home/(username)/externalsysteminfoRPI/ExternalSystemMonitor.py\n```\nYou should replace the `(username)` with your actual username and modify it to actually be the location of the file. If you have cloned it properly, all the libraries will be configured correctly.\n\nOnce you have done that, make the file executable by running this command:\n\n`sudo chmod +x externalsystemdisplay.sh`\n\nThis will allow the file to run.\n\n\u003e [!NOTE]\n\u003e It is probably a good idea to just run `ExternalSystemMonitor.py` file to be sure that you have everything wired correctly and it works...\n\n### Configuring it to run on start\nThis code was testing by addind it to the crontab file. Here is the steplist to follow:\n- Start by opening a terminal\n- Type `crontab -e`.\nYou will be presented with a menu asking what editor you would like to open the file with. I *highly* recomend opening it with nano because it is the easiest option (As indicated on the menu).\n\nOnce you have it open, it should look something like this:\n![20250703_19h24m52s_grim](https://github.com/user-attachments/assets/3ee27baa-2f42-4c40-9d6f-1027a9985dcd)\n\nYou are going to have to scroll all the way down to the end of the comments and add this line:\n\n`@reboot /home/(your name)/externalsystemdisplay.sh`\n\nYou should replace `(your name)` with the actual name of the account on the pi. If you do not move the `externalsystemdisplay.sh` file to the home directory on your pi, you may have to modify the command to reflect that.\n\nOnce you are done you should press `CTRL + X` to exit and confirm any requests to save your changes.\n\n### Finishing Up\nIf you have followed the instructions correctly, you should be able to reboot your pi (by running `sudo reboot`) or rebooting it from the power menu, and the program should successfully boot and update the LCD once a second with your system information. \n\n---\n## Common Issues\n### *\"I configured everything correctly, but it does not turn on when I boot the pi!\"*\nIf when you ran the `ExternalSystemMonitor.py` file, it did work, then there is likely a very simple fix. What is probably happening is that the program is trying to run before the i2c protocol is activated on your pi. What you should do is open `externalsystemdisplay.sh` and increase the value of the line that has `sleep 20` to a larger number. This means that the pi will not run the program until later, and by that point, the i2c protocol will have been turned on already.\n\nIf you have any other issues than these submit an issue I guess...\n\n---\n## Stand\nYou can find the `3mf` files in the 3D files folder. They have some settings modified that I think will improve the print quality, such as enabling supports, and also adding a brim. On my Bambu Labs H2D, it prints in about 2.5 hours using the 0.2 mm layer height. \n\n### Assembly\n\u003e [!Important]\n\u003e When assembling the stand, I *highly* recomend first attaching all of your jumper wires to the LCD screen, passing them through the hole, screwing everything in, and only then connect \u003e them to the pi. If you do not do that, you will have a very tough time. \n\nTo attach the screen to the stand, you will need 4 M3 screws. Just use the holes on the back of the stand to pass the screwdriver in.\n\n### Photos\n![462935674-c68daf85-abc6-4d0c-8a1c-371d4e4fbe4b](https://github.com/user-attachments/assets/71c4c71f-c36b-4e7a-9762-9473f3c86634)\n![IMG_20250706_113348169_HDR](https://github.com/user-attachments/assets/6ba8c85c-82ec-407c-a361-bb7def9c9d89)\n![ahaphtot](https://github.com/user-attachments/assets/2eee3f99-adee-4e8d-81c4-42f2bd3c6792)\n\n\n\n---\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n\n## Acknowledgments\n\nPortions of this project are adapted from [rpi-lcd](https://github.com/bogdal/rpi-lcd) by Adam Bogdał, used under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcoplatino%2Fexternalsysteminforpi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcoplatino%2Fexternalsysteminforpi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcoplatino%2Fexternalsysteminforpi/lists"}