{"id":22438535,"url":"https://github.com/araeubig/raspberry-pi-dashboard","last_synced_at":"2025-03-27T09:19:35.848Z","repository":{"id":265195748,"uuid":"895408753","full_name":"araeubig/Raspberry-Pi-Dashboard","owner":"araeubig","description":"A configurable LCD dashboard with touch functionality for headless Raspberry Pi servers. (Optional without touch)","archived":false,"fork":false,"pushed_at":"2024-12-22T16:12:47.000Z","size":4003,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T09:19:32.609Z","etag":null,"topics":["dashboard","dashboards","grafana","headless","homeassistant","influxdb","iotstack","lcd","lcd-display","openhab","raspberry-pi","systeminformation","temperature-monitoring","touchscreen"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/araeubig.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}},"created_at":"2024-11-28T06:42:49.000Z","updated_at":"2024-12-22T16:12:50.000Z","dependencies_parsed_at":"2024-12-13T09:18:08.987Z","dependency_job_id":"aa523a9e-8845-4f13-b3ba-3e968e65c573","html_url":"https://github.com/araeubig/Raspberry-Pi-Dashboard","commit_stats":null,"previous_names":["araeubig/raspberry-pi-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/araeubig%2FRaspberry-Pi-Dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/araeubig%2FRaspberry-Pi-Dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/araeubig%2FRaspberry-Pi-Dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/araeubig%2FRaspberry-Pi-Dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/araeubig","download_url":"https://codeload.github.com/araeubig/Raspberry-Pi-Dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245814746,"owners_count":20676808,"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":["dashboard","dashboards","grafana","headless","homeassistant","influxdb","iotstack","lcd","lcd-display","openhab","raspberry-pi","systeminformation","temperature-monitoring","touchscreen"],"created_at":"2024-12-06T01:10:28.191Z","updated_at":"2025-03-27T09:19:35.829Z","avatar_url":"https://github.com/araeubig.png","language":"Python","readme":"# Raspberry-Pi-Dashboard\nA configurable LCD dashboard with touch functionality for headless Raspberry Pi servers.\n\n\u003ca href=\"https://hits.seeyoufarm.com\"\u003e\u003cimg src=\"https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Faraeubig%2FRaspberry-Pi-Dashboard\u0026count_bg=%2379C83D\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false\"/\u003e\u003c/a\u003e\n\u003ca href=\"/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-GPL-blue.svg\" alt=\"license\" /\u003e\u003c/a\u003e\n\n\u003e This repository is in progress for the first running and documented version. The current version works perfectly, but there are still a few fine adjustments to make the configuration easier - please be patient and visit again in some days. By searching for a solution to fulfill all important steps i found a repository as a very good starting point. I didn't create a fork because there are to many changes and enhancements. Therefore i started with this new repository. In the final README you will find all informations about the original repo, this repo and the changed parts.\n\n![First display test](/files/examples/display_test_first.jpg)\n## About the project\nAs the Raspberry is to be operated as a server in the distribution cabinet, it not only needs a DIN housing, but also a display to show the most important system information. A solution with various green and red LEDs seemed more complex to me than simply connecting a display. Another requirement was to be able to restart and shut down the Raspberry using buttons or a touch display. Last but not least, the Raspberry should not only be supplied with power via PoE, but also offer an M.2 slot for an NVMe SSD - because this is the only way to ensure long-term operation without possible SD card failures. In addition, the space required for operation via PoE is reduced as there is no need for an additional power supply unit.\n\nThe search for the necessary components turned out to be more difficult than expected. The market offers only a few DIN housings for the Raspberry Pi - espacially for the model 5, and there are only a few displays with a touch option that are small enough to fit into the housing. The range of combined PoE-M.2 HAT's is manageable, but more than sufficient.\n\nWhile testing the possible components, I decided to document two variants for mounting on a DIN rail and another variant for desktop use:\n\n1. Configuration with 4M wide housing for exclusive power supply via PoE\n2. Configuration with 6M wide housing for power supply via PoE, 24V or 220V\n3. Configuration with standard housing for power supply via USB plug-in power supply unit without touch functionality\n## Use cases\nAs already mentioned in the introduction, the aim is to use the Raspberry as a headless server (i.e. without a screen) and to place it in a DIN-compliant distribution board. There it should perform its service, installed with any system according to the user's requirements.\n\nIn my case, I only need a 'lightweight' system to record data from the KNX system with:\n- InfluxDB\n- Grafana\n\nIn most cases, however, the Raspberry will certainly run as a server for\n- NodeRed,\n- HomeAssistant,\n- OpenHAB or\n- IOTStack (with the desired containers)\n\nIn the end, however, this is irrelevant, as it is all about DIN-compliant installation and the working dashboard.\n## Dashboard features\n### Upcoming version 0.1:\n- Record system data native in InfluxDB (without extra tools like Telegraf)\n### Current version beta 0.1:\n- Use with ST7789V2-based displays\n  - portrait or landscape orientation\n  - automatic resizing of text and fields based on display\n- Use with CST816T-based touch panels\n  - control dashboard menu with gestures and buttons\n- Values\n  - used RAM in percent\n  - used CPU in percent\n  - used SSD in percent\n  - used SWAP in percent\n  - current CPU temperature\n  - current SSD temperature\n  - current check if Influx is alive\n  - Influx measurements of the last x-hours/days\n  - current check if Grafana is alive\n  - current upload/download transfer rate\n- Value visualisation\n  - entire value range from 0 to 100 in text color\n  - Set threshold for each value to switch from text color to 'alert' color. Alert color makes a fading from green to red based on the real value.\n- Switch with touch panel between\n  - Dashboard\n    - with configurated values\n  - System information\n    - IP adress\n    - hostname\n    - Raspberry Pi version\n  - Reboot system\n  - Shutdown system \n## Example screenshots\n### Waveshare 1.69\" 240x280 display (landscape orientation)\n#### Startup\n![Startup](/files/examples/startup.jpg)\n#### Dashboard\n![Dashboard](/files/examples/dashboard.jpg)\n#### System information\n![System information](/files/examples/system_information.jpg)\n#### Reboot\n![Reboot](/files/examples/reboot.jpg)\n#### Shutdown\n![Shutdown](/files/examples/shutdown.jpg)\n### Waveshare 1.69\" 240x280 display (portrait orientation)\nUpcoming\n### Phoenix Contact 2.4\" 320x240 display\nUpcoming\n\n\u003e The text is much brighter on the small displays (based on the backlight and pixel-pitch)\n## Requirements\n- Raspberry Pi 4/5\n- Touch display that fits into the DIN housing / desktop case (preferably with ST7789V2 driver)\n- DIN case / standard case\n- 3D printed model of DIN Case top / desktop case cover\n- Python \u003e= 3.9\n- NVMe-CLI Tool (if using Raspberry Pi with installed NVMe-SSD)\n## Recommended Hardware\n### Cases\n#### DIN mount\n- [Waveshare DIN RAIL CASE Pi 5](https://www.waveshare.com/pi5-case-din-rail-b.htm)\n  - State: Tested\n  - SKU: 26682 / PI5-CASE-DIN-RAIL-B\n  - Use with: Raspberry Pi 5\n  - Size: 4M\n- [Italtronic MODULBOX XTS](https://eng.italtronic.com/accessori/25.0410000.RP5/) !!!CURRENTLY NO AIR VENTS \n    - State: Untested\n    - SKU: 25.0410000.RP5\n    - Use with: Raspberry Pi 5\n    - Size: 4M\n- [Phoenix Contact BC Series](https://www.phoenixcontact.com/en-pc/products/electronics-housings/electronics-housings-for-raspberry-pi-applications) CURRENTLY NOT OPTIMIZED FOR RPi 5\n  - State: Currently Untested / Upcoming\n  - SKU: 2202874\n  - Use with: Raspberry Pi 5\n  - Size: 6M\n#### Standard case\n- [Argon Neo 5 M.2 NVME](https://argon40.com/products/argon-neo-5-m-2-nvme-for-raspberry-pi-5)\n  - State: Untested\n  - SKU: N/A\n  - Use with: Raspberry Pi 5\n  - Size: standard\n### Displays\n- [Waveshare - 1.69inch LCD Touch Display Module, 240×280](https://www.waveshare.com/product/1.69inch-touch-lcd-module.htm)\n    - State: Tested\n    - SKU: 27057 - 1.69inch Touch LCD Module\n    - Resolution: 240x280\n    - Use with: DIN case\n- [Waveshare - 1.69inch LCD Display Module, 240×280](https://www.waveshare.com/1.69inch-lcd-module.htm) WITHOUT TOUCH\n    - State: Tested\n    - SKU: 24382 - 1.69inch LCD Module\n    - Resolution: 240x280\n    - Use with: DIN case, standard case\n- [Phoenix Contact - BC DKL 2.4\" Touch Display](https://www.phoenixcontact.com/en-pc/products/electronics-housings/bc-modular-electronics-housings?f=NobwRAZglgNgLgUwE4EkAmYBcYAOSD2aArgMZwD6EAhgLaxQLkDmSOYANJAzBtgAoFiZAATU6MAJ4cu8ZABUJOBFjABZAKpyAggCEAMgFFp0WUgBqVGEQQBnLMDA6AwsICMABgDs7AGwA6PzAAXU4AO1plfkFSOFFaWCkAX3ZwE0RUXlxosnI4RWVOaAQeFQFCGOE8pWNYdIVq7A1tfSNC2uQLK1t7MCd8ADdkYLCI0uzYquVEoKA)\n  - State: Currently untested / Upcoming\n  - SKU: 2202874\n  - Use with: Phoenix Contact DIN case 6M\n### HAT's\n- [Raspberry Pi M.2 HAT+](https://www.raspberrypi.com/products/m2-hat-plus/)\n    - State: Tested\n    - SKU: N/A\n    - Use with: Raspberry Pi 5 with standard USB power supply\n    - Supported form factors: 2230, 2242\n- [Waveshare PoE M.2 HAT+](https://www.waveshare.com/pi5-case-din-rail-b.htm)\n    - State: Tested\n    - SKU: 28411\n    - Use with: Raspberry Pi 5, DIN case\n    - Supported form factors: 2230, 2242\n- [52Pi P33 M.2 PoE+ HAT](https://52pi.com/products/p33-m-2-nvme-2280-poe-hat-extension-board-with-official-cooler-for-raspberry-pi-5?variant=45156837818520)\n    - State: Tested\n    - SKU: EP-0241\n    - Use with: Raspberry Pi 5, DIN case 6M (Doesn't fit in 4M case)\n    - Supported form factors: 2230, 2242, 2260, 2280\n- [52Pi M.2 NVME PoE+ HAT](https://52pi.com/products/m-2-nvme-m-key-poe-hat-with-official-pi-5-active-cooler-for-raspberry-pi-5-support-m-2-nvme-ssd-2230-2242?variant=44972209012888)\n    - State: Currently untested / Upcoming\n    - SKU: EP-0240\n    - Use with: Raspberry Pi 5, DIN case\n    - Supported form factors: 2230, 2242\n\nA review about combined HATs was made by Jeff Geerling [GitHub](https://github.com/geerlingguy) / [Blog](https://www.jeffgeerling.com) on YouTube:\n\n[![PoE+ NVMe beats Raspberry Pi to the punch](http://img.youtube.com/vi/x9ceI0_r_Kg/0.jpg)](http://www.youtube.com/watch?v=x9ceI0_r_Kg \"PoE+ NVMe beats Raspberry Pi to the punch\")\n### Accessory\n- [Waveshare Micro HDMI to HDMI Multifunctional Adapter](https://www.waveshare.com/pi5-connector-adapter.htm)\n    - State: Currently untested / Upcoming\n    - SKU: 28411\n    - Use with: Raspberry Pi 4, Raspberry Pi 5, DIN case 6M\n- [DeskPi KL-P24 Micro HDMI to HDMI Adapter Board](https://deskpi.com/products/deskpi-kl-p24-raspberry-pi-adapter-board)\n    - State: Currently untested / Upcoming\n    - SKU: DP-0036-2pcs\n    - Use with: Raspberry Pi 4, Raspberry Pi 5, DIN case 6M\n- [Argon THRML 30mm Active Cooler](https://argon40.com/products/argon-thrml-30mm-active-cooler?variant=47734223077649)\n    - State: Currently untested / Upcoming\n    - SKU: N/A\n    - Use with: Raspberry Pi 5, DIN case, standard case\n- [Raspberry Pi Active Cooler](https://www.raspberrypi.com/products/active-cooler/)\n    - State: Tested\n    - SKU: N/A\n    - Use with: Raspberry Pi 5, DIN case, standard case\n### Specials (with Raspberry CM4/5 module)\n- [Oratek TOFU Board](https://tofu.oratek.com/#/?id=tofu-board)\n    - State: Tested without case / case test upcoming\n    - SKU: N/A\n    - Use with: Raspberry CM4, perhaps DIN case 6M\n    - Special features: M.2 Slot, Raspberry CM4, flexible power supply\n    \n    A review about TOFU Board was made too by Jeff Geerling on YouTube:\n\n    [![Native M.2 NVMe on a Raspberry Pi - CM4 TOFU](http://img.youtube.com/vi/m-QSQ24_8LY/0.jpg)](https://www.youtube.com/watch?v=m-QSQ24_8LY \"Native M.2 NVMe on a Raspberry Pi - CM4 TOFU\")\n### Suitable configurations\n#### DIN case, 4M\nUpcoming\n#### DIN case, 6M\nUpcoming\n#### Standard case\nUpcoming\n## Assembly\nUpcoming\n### Connecting the display\nUpcoming\n#### Waveshare 1.69\" touch display\nUpcoming\n#### Waveshare 1.69\" display\nUpcoming\n#### Phoenix Contact\nUpcoming\n## Installation\n### Use with NVMe-SSD\nIf the Raspberry Pi is used with an M.2 HAT with an NVMe-SSD installed, the NVMe-CLI tool should be installed beforehand with this command:\n```shell\nsudo apt install nvme-cli\n```\n### Download\nDownload this respository in your user folder with:\n```shell\nsudo apt-get install git\ngit clone https://github.com/araeubig/Raspberry-Pi-Dashboard\n```\nYou could run the dashboard 'one-time' or as 'service'. For customizing and testing the one-time run makes sense. After customizing / configuring the service is the preffered option.\n### Run one-time\nStart the dashboard with:\n```shell\ncd Raspberry-Pi-Dashboard\nsudo ./run.sh\n```\nStop the running dashboard with \u003ckbd\u003e⌃ Control\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e\n### Run dashboard as service\nStart the dashboard and run as service on boot with:\n```shell\ncd Raspberry-Pi-Dashboard\nsudo ./create_service.sh\n```\n### Stop dashboard service\nStop the dashboard service with:\n```shell\nsudo systemctl stop rpidashboard.service\n```\n### Remove dashboard service\nRemove the dashboard service with:\n```shell\ncd Raspberry-Pi-Dashboard\nsudo ./remove_service.sh\n```\n### Customizing\nUpcoming\n## 3D Models\nUpcoming\n### Printing services\nUpcoming\n### Print yourself\nUpcoming\n## To Do's\nUpcoming\n## Contribution\nUpcoming\n## Credits\nUpcoming\n## Disclaimer\nUpcoming","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faraeubig%2Fraspberry-pi-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faraeubig%2Fraspberry-pi-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faraeubig%2Fraspberry-pi-dashboard/lists"}