{"id":24264694,"url":"https://github.com/nrwiersma/homelabio","last_synced_at":"2026-01-30T16:53:22.642Z","repository":{"id":271971381,"uuid":"896330266","full_name":"nrwiersma/homelabio","owner":"nrwiersma","description":"Rack mountable CM4 carrier board","archived":false,"fork":false,"pushed_at":"2025-11-22T07:36:09.000Z","size":34851,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-22T09:14:20.559Z","etag":null,"topics":["cm4","pcb"],"latest_commit_sha":null,"homepage":"","language":null,"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/nrwiersma.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-30T04:26:29.000Z","updated_at":"2025-04-14T20:37:37.000Z","dependencies_parsed_at":"2025-07-20T22:24:14.115Z","dependency_job_id":null,"html_url":"https://github.com/nrwiersma/homelabio","commit_stats":null,"previous_names":["nrwiersma/homelabio"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/nrwiersma/homelabio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrwiersma%2Fhomelabio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrwiersma%2Fhomelabio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrwiersma%2Fhomelabio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrwiersma%2Fhomelabio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nrwiersma","download_url":"https://codeload.github.com/nrwiersma/homelabio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrwiersma%2Fhomelabio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28915938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T16:37:38.804Z","status":"ssl_error","status_checked_at":"2026-01-30T16:37:37.878Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cm4","pcb"],"created_at":"2025-01-15T09:48:05.445Z","updated_at":"2026-01-30T16:53:22.631Z","avatar_url":"https://github.com/nrwiersma.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"http://svg.wiersma.co.za/github/project.v2?title=homelabio\u0026tag=rack%20mount%20carrier%20board\u0026mode=dark\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"http://svg.wiersma.co.za/github/project.v2?title=homelabio\u0026tag=rack%20mount%20carrier%20board\"\u003e\n  \u003cimg alt=\"Logo\" src=\"http://svg.wiersma.co.za/github/project.v2?title=homelabio\u0026tag=rack%20mount%20carrier%20board\"\u003e\n\u003c/picture\u003e\n\n![board image](assets/assembled.png)\n\n[![GitHub release](https://img.shields.io/github/release/nrwiersma/homelabio.svg)](https://github.com/nrwiersma/homelabio/releases)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/nrwiersma/homelabio/master/LICENSE)\n\n`HomeLabIO` is a Compute Module 4/5 carrier board designed to fit in a 19\" rack using 1U of space.\n\nFeatures:\n\n* Power over Ethernet 802.3at (PoE+)\n* TPM 2.0 (SLB9670)\n* NVMe SSD up to 2280\n* HDMI\n* USB-C UART communication on the front\n* PWM fan\n\n## Why\n\nThis is my first attempt at making a PCB and was largely a practical learning experience.\n\nThe schematic is heavily inspired by the [Raspberry Pi CM4IO](https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf)\nand the [HomeAssistant Yellow](https://github.com/NabuCasa/yellow). \n\n## Config\n\n### Fan\n\nTo configure the fan to run based on the core temperature, change the `/boot/firmware/config.txt` as follows:\n\n#### CM4\n\nAdd the following under the `[all]` section:\n```ini\ndtoverlay=i2c-fan,emc2301,i2c_csi_dsi\n```\n\n#### CM5\n\nUncomment the following line:\n```ini\ndtparam=i2c_arm=on\n```\n\nAdd the following under the `[all]` section:\n```ini\ndtoverlay=i2c-fan,emc2301,i2c_csi_dsi0\n```\n\n### TPM2\n\nThe TPM2 can be enabled by adding the following line to `/boot/firmware/config.txt` under the `[all]` section:\n```ini\ndtoverlay=tpm-slb9670\n```\n\n### GPIO\n\nThe following GPIOs are exposed on the board:\n\n![pinout](assets/pinout.svg)\n\n\u003e [!WARNING]\n\u003e These SPI GPIOs are shared with other peripherals on the board. Make sure to check for conflicts before using them.\n\n\u003e [!TIP]\n\u003e The left hand pins are Raspberry Pi 4 compatible. It is possible to use some Raspberry Pi HATs with this board,\n\u003e for instance, the DS3231 Real Time Clock Module.\n\n#### User Programmable Button\n\nThe user programmable button is connected to GPIO 20. It can be used for various purposes, such as triggering a shutdown or reset.\n\nFor example, to configure the button to trigger a shutdown when pressed, you can use the following configuration in your `/boot/firmware/config.txt`:\n```ini\ndtoverlay=gpio-shutdown,gpio_pin=20,active_low=1,gpio_pull=off\n```\n\n## BOM\n\nSee the [Interactive BOM](https://htmlpreview.github.io/?https://github.com/nrwiersma/homelabio/blob/main/bom/ibom.html) [(provided by InteractiveHtmlBom)\n](https://github.com/openscopeproject/InteractiveHtmlBom).\n\n## PCB Fabrication and Assembly by PCBWay\n\nI am proudly sponsored by [PCBWay](https://www.pcbway.com/), a leading manufacturer specializing in PCB prototyping, \nlow-volume production, and PCB Assembly services. Thanks to PCBWay’s sponsorship, I was able to fabricate and assemble \nmy PCBs with high precision and quality. Their advanced manufacturing capabilities ensured that our design was \ntranslated into a robust and functional product.\n\n![board image](assets/pcb.png)\n\n### Why PCBWay?\n\nPCBWay offers:\n\n* **High-quality PCB fabrication** with multiple layer options, surface finishes, and material choices.\n* **Fast turnaround times** to meet project deadlines efficiently.\n* **Affordable pricing** for both prototyping and mass production.\n* **Reliable PCB assembly services**, including SMT, through-hole, and mixed assembly.\n* **Exceptional customer support** and a user-friendly ordering platform.\n\n### Get Your Own PCBs from PCBWay\n\nI highly recommend PCBWay for all your PCB fabrication and assembly needs. Their dedication to quality and customer \nsatisfaction makes them an ideal partner for your projects. If you're looking for a trusted partner for PCB fabrication \nand assembly, check out PCBWay for your next project.\n\nSpecial thanks to PCBWay for their generous support!\n\n## Changelog\n\n#### v0.1.0\n\n* Initial schematic and board\n\n#### v0.1.1\n\n* Fix issue with FTDI USB connection\n* Fix issue with BOM that specifies a generic fuse\n\n#### v0.2.0\n\n* Move fan port closer to board edge\n* Switch UART chipset\n* Add UART activity LEDs\n* Switch PCIe power management\n* Add NVMe LED\n* Switch HDMI port for cheaper alternative\n\n#### v0.3.0\n\n* Add TPM2 support\n* Add GPIO breakout header\n* Add user programmable button\n* Moved some components to allow for better manufacturability\n* Various silkscreen improvements\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrwiersma%2Fhomelabio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnrwiersma%2Fhomelabio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrwiersma%2Fhomelabio/lists"}