Add hardware models and bring README in line with the shipping product - #4
Conversation
- Add hardware/ with STEP placeholder models of each board (cad/pcb-placeholders) and the printable Starter Kit Stand (3d-prints), plus a hardware README - Remove leftover AIR-1 ESP Web Tools installer (index.html); the Starter Kit is a DIY board with no default flashable firmware to host - Rename License.md to LICENSE.md so GitHub detects the CC BY-NC-SA 4.0 license - Add CONTRIBUTING.md inviting community case designs - Add .gitattributes so CAD/STL/PNG assets are treated as binary - Link the hardware folder from the main README Generated with Claude Code
WalkthroughThe changes add hardware asset handling, documentation, contribution guidance, licensing text, and a printable STL model. The README links to the hardware resources, while the existing static installer page is removed. ChangesHardware repository setup
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@LICENSE.md`:
- Around line 37-45: Update the definition labels in Section 1 of LICENSE.md so
the entries for Licensor, NonCommercial, Share, Sui Generis Database Rights, and
You use sequential letters j through n, respectively, matching the CC BY-NC-SA
4.0 legal code.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8d7a5e7d-f720-4d44-a56f-102de6579ec6
📒 Files selected for processing (13)
.gitattributesCONTRIBUTING.mdLICENSE.mdREADME.mdhardware/3d-prints/Starter Kit Stand.stlhardware/README.mdhardware/cad/pcb-placeholders/Breakout Module.stephardware/cad/pcb-placeholders/Button Module.stephardware/cad/pcb-placeholders/ESP32-C6 Mainboard.stephardware/cad/pcb-placeholders/LED and Buzzer Module.stephardware/cad/pcb-placeholders/PIR Module.stephardware/cad/pcb-placeholders/Temperature and Humidity Module.stepindex.html
💤 Files with no reviewable changes (1)
- index.html
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@LICENSE.md`:
- Around line 37-45: Update the definition labels in Section 1 of LICENSE.md so
the entries for Licensor, NonCommercial, Share, Sui Generis Database Rights, and
You use sequential letters j through n, respectively, matching the CC BY-NC-SA
4.0 legal code.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8d7a5e7d-f720-4d44-a56f-102de6579ec6
📒 Files selected for processing (13)
.gitattributesCONTRIBUTING.mdLICENSE.mdREADME.mdhardware/3d-prints/Starter Kit Stand.stlhardware/README.mdhardware/cad/pcb-placeholders/Breakout Module.stephardware/cad/pcb-placeholders/Button Module.stephardware/cad/pcb-placeholders/ESP32-C6 Mainboard.stephardware/cad/pcb-placeholders/LED and Buzzer Module.stephardware/cad/pcb-placeholders/PIR Module.stephardware/cad/pcb-placeholders/Temperature and Humidity Module.stepindex.html
💤 Files with no reviewable changes (1)
- index.html
🛑 Comments failed to post (1)
LICENSE.md (1)
37-45: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
sed -n '1,60p' LICENSE.md | cat -nRepository: ApolloAutomation/ESPHome-Starter-Kit
Length of output: 1995
🌐 Web query:
Creative Commons BY-NC-SA 4.0 legal code Section 1 definitions Licensor NonCommercial Share Sui Generis Database Rights You letters j k l m n💡 Result:
In Section 1 (Definitions) of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) public license, the definitions for subsections j, k, l, m, and n are as follows: j. Licensor means the individual(s) or entity(ies) granting rights under this Public License [1][2][3]. k. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation [1][4][5]. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange [1][2][5]. l. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them [1][2][6]. m. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world [1][2][6]. n. You means the individual or entity exercising the Licensed Rights under this Public License [1][2][6]. Your has a corresponding meaning [1][6].
Citations:
- 1: https://github.com/creativecommons/creativecommons.org/blob/master/docroot/legalcode/by-nc-sa_4.0.html
- 2: https://spdx.github.io/license-list-data/CC-BY-NC-SA-4.0.html
- 3: https://github.com/spdx/license-list-data/blob/main/text/CC-BY-NC-SA-4.0.txt
- 4: https://stage.creativecommons.org/licenses/by-nc-sa/4.0/legalcode.en
- 5: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt
- 6: https://wiki.creativecommons.org/images/b/b2/4.0d4_BY-NC-SA.pdf
🏁 Script executed:
python3 - <<'PY' from pathlib import Path text = Path('LICENSE.md').read_text(encoding='utf-8').splitlines() for i in range(30, 47): if i < len(text): print(f"{i+1}: {text[i]}") PYRepository: ApolloAutomation/ESPHome-Starter-Kit
Length of output: 1995
Duplicate definition letters in Section 1
These entries should be
jthroughn, noththroughl, to match the CC BY-NC-SA 4.0 legal code:
j. Licensork. NonCommerciall. Sharem. Sui Generis Database Rightsn. You🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@LICENSE.md` around lines 37 - 45, Update the definition labels in Section 1 of LICENSE.md so the entries for Licensor, NonCommercial, Share, Sui Generis Database Rights, and You use sequential letters j through n, respectively, matching the CC BY-NC-SA 4.0 legal code.
…tures - Rename README title to "ESPHome Starter Kit (ESK-1)" to match the official product name - Replace bare-PCB render with the store hero photo (ESPHome-Starter-Kit.jpg) - Add "buy" and "start here" wiki links to the README - Remove RGB status LED battery-color logic and the Prevent Sleep Toggle from Key Features (neither is implemented) Generated with Claude Code
- Rework the Links section into a bullet list (one per line) and add the product page, the start-here wiki page, and the community forum - Correct the pinout: I2C is GPIO0/1 (not 20/21, which are commented out), and add the motion, button, LED & buzzer module, and boot-button pins per the device-builder manifest and ESK-1.yaml Generated with Claude Code
Document the optional Breakout Module's connectors (I2C ports, 1-Wire, 3-pin STEMMA, and the 2x6 GPIO header) and note that GPIO6 is shared, per the wiki. These re-expose existing board GPIOs rather than adding new ones. Generated with Claude Code
- Add a Specifications table (MCU, flash, radios, framework, power, expansion) sourced from the device-builder manifest - Note that the ESK-1 is a featured board in the ESPHome Device Builder and link the board definition, since there is no default YAML to flash manually Generated with Claude Code
Adds hardware models for community case design and brings the README in line with the shipping product, while removing leftover AIR-1 scaffolding.
Hardware
hardware/with STEP placeholder models of every board undercad/pcb-placeholders/(mainboard, motion, temp/humidity, LED & buzzer, button, and the optional Breakout Module), plus the printable Starter Kit Stand under3d-prints/, with ahardware/README.mdexplaining placeholders vs. printables..gitattributesso CAD/STL/PNG assets are treated as binary.Repo cleanup
index.html— a verbatim copy of the AIR-1 ESP Web Tools installer (wrong product, dead footer link, referenced a non-existentmanifest.json). The Starter Kit is a DIY board installed via the ESPHome Device Builder, so there is nothing to host.License.md→LICENSE.mdso GitHub detects the CC BY-NC-SA 4.0 license.CONTRIBUTING.mdinviting community case designs.README
ESK-1.yaml), and add the motion, button, LED & buzzer module, and boot-button pins per the device-builder manifest andESK-1.yaml.🤖 Generated with Claude Code