diff --git a/README.md b/README.md index 52d43e9..f7b983b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,107 @@ -# b4l-project-template +# B4L Open Hardware Project Template +Welcome to the **Build4Life (B4L)** Open Hardware Project Template! +This repository provides a standardized structure for developing and sharing high-quality open hardware designs. + +Use this template to kickstart your own B4L-compatible project. + +--- + +## 📁 Folder Structure + +``` +hardware/ # Schematics, PCB layout, BOM, manufacturing files +mechanical/ # Mechanical designs and 3D printable enclosures +firmware/ # Microcontroller firmware +software/ # PC-side tools or GUIs +docs/ # User guides, images, datasheets +tests/ # Test plans and reports +ci/ # Continuous Integration config +tools/ # Development and debug tools +certs/ # Certification and compliance documentation +manufacturing/ # Production-level data for fab and assembly +meta/ # Project metadata and changelog +``` + +--- + +## 📂 Folder Descriptions + +### `/hardware/` +Contains all electrical design files: +- `schematics/`: KiCad or EDA schematic files +- `pcb/`: PCB layout files +- `bom/`: Bill of Materials +- `manufacturing/`: Gerbers, pick-and-place, drill files +- `simulations/`: Simulation circuits (e.g. SPICE) + +### `/mechanical/` +Mechanical or enclosure design: +- `enclosure/`: STL/STEP files for 3D-printable parts +- `cad/`: Editable CAD models (FreeCAD, Fusion360) +- `drawings/`: 2D drawings for fabrication or documentation +- `stl/`: Final 3D-printable export files + +### `/firmware/` +Firmware source code: +- `src/`, `include/`, `lib/`: Microcontroller code and dependencies +- Example: PlatformIO, STM32Cube, Arduino, Zephyr + +### `/software/` +Optional software tools, GUI, or helper scripts: +- `gui/`: Any frontend or desktop apps +- `scripts/`: CLI or backend support tools + +### `/docs/` +Project documentation: +- `overview.md`, `quickstart.md`, photos, diagrams +- `datasheets/`: PDFs of important components + +### `/tests/` +Hardware and firmware testing: +- `hardware/`: Test jigs, test instructions +- `firmware/`: Unit and integration test code +- `reports/`: Test results, logs, and photos + +### `/ci/` +Automation and CI pipelines: +- GitHub Actions, GitLab CI, etc. + +### `/tools/` +Developer tools, flashing utilities, debug helpers + +### `/certs/` +Regulatory and certification documents (e.g., CE, FCC) + +### `/manufacturing/` +Everything needed for production: +- `assembly/`: Instructions for assembly/test stations +- `fab/`: Files needed by PCB fab houses + +### `/meta/` +Project metadata: +- `b4l_manifest.json`: Name, version, tags, license +- `authors.md`, `changelog.md` + +--- + +## 📝 License + +This template is open source. Choose a license appropriate for your project. +Recommended: [CERN-OHL-W](https://gitlab.com/ohwr/project/cernohl/) for open hardware. + +--- + +## 🤝 Contributing + +If you’re creating a new B4L-compatible project, click “Use this template” or clone this repository. + +You’re encouraged to submit improvements to this template! + +--- + +## 📡 About Build4Life + +**Build4Life** is a community-driven initiative designing durable, open, and maintainable electronics. + +Website: [https://b4l.co.th](https://b4l.co.th) diff --git a/certs/README.md b/certs/README.md new file mode 100644 index 0000000..4697593 --- /dev/null +++ b/certs/README.md @@ -0,0 +1,3 @@ +# /certs + +Certification and regulatory documents (e.g., CE, FCC). \ No newline at end of file diff --git a/ci/.github/README.md b/ci/.github/README.md new file mode 100644 index 0000000..6d4a05c --- /dev/null +++ b/ci/.github/README.md @@ -0,0 +1,3 @@ +# /ci/.github + +GitHub Actions or CI workflows. \ No newline at end of file diff --git a/ci/README.md b/ci/README.md new file mode 100644 index 0000000..d0b010a --- /dev/null +++ b/ci/README.md @@ -0,0 +1,3 @@ +# /ci + +Continuous Integration configurations and automation scripts. \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..bda76a9 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,3 @@ +# /docs + +Documentation files for users and developers. \ No newline at end of file diff --git a/docs/datasheets/README.md b/docs/datasheets/README.md new file mode 100644 index 0000000..03a12c1 --- /dev/null +++ b/docs/datasheets/README.md @@ -0,0 +1,3 @@ +# /docs/datasheets + +Datasheets for key components. \ No newline at end of file diff --git a/docs/images/README.md b/docs/images/README.md new file mode 100644 index 0000000..eccfdd0 --- /dev/null +++ b/docs/images/README.md @@ -0,0 +1,3 @@ +# /docs/images + +Diagrams, photos, and figures. \ No newline at end of file diff --git a/firmware/README.md b/firmware/README.md new file mode 100644 index 0000000..8d91673 --- /dev/null +++ b/firmware/README.md @@ -0,0 +1,3 @@ +# /firmware + +Microcontroller firmware source code and libraries. \ No newline at end of file diff --git a/firmware/include/README.md b/firmware/include/README.md new file mode 100644 index 0000000..c275922 --- /dev/null +++ b/firmware/include/README.md @@ -0,0 +1,3 @@ +# /firmware/include + +Header files for the firmware. \ No newline at end of file diff --git a/firmware/lib/README.md b/firmware/lib/README.md new file mode 100644 index 0000000..e384ac5 --- /dev/null +++ b/firmware/lib/README.md @@ -0,0 +1,3 @@ +# /firmware/lib + +External libraries used in firmware. \ No newline at end of file diff --git a/firmware/src/README.md b/firmware/src/README.md new file mode 100644 index 0000000..624657c --- /dev/null +++ b/firmware/src/README.md @@ -0,0 +1,3 @@ +# /firmware/src + +Main firmware source code. \ No newline at end of file diff --git a/hardware/README.md b/hardware/README.md new file mode 100644 index 0000000..5f8fd70 --- /dev/null +++ b/hardware/README.md @@ -0,0 +1,3 @@ +# /hardware + +Electrical design files including schematics, PCB layout, BOM, and simulations. \ No newline at end of file diff --git a/hardware/bom/README.md b/hardware/bom/README.md new file mode 100644 index 0000000..46f8bb1 --- /dev/null +++ b/hardware/bom/README.md @@ -0,0 +1,3 @@ +# /hardware/bom + +Bill of Materials in CSV or spreadsheet format. \ No newline at end of file diff --git a/hardware/manufacturing/README.md b/hardware/manufacturing/README.md new file mode 100644 index 0000000..2f8a863 --- /dev/null +++ b/hardware/manufacturing/README.md @@ -0,0 +1,3 @@ +# /hardware/manufacturing + +Gerbers, pick-and-place files, and drill files. \ No newline at end of file diff --git a/hardware/pcb/README.md b/hardware/pcb/README.md new file mode 100644 index 0000000..d6dbf02 --- /dev/null +++ b/hardware/pcb/README.md @@ -0,0 +1,3 @@ +# /hardware/pcb + +PCB layout design files. \ No newline at end of file diff --git a/hardware/schematics/README.md b/hardware/schematics/README.md new file mode 100644 index 0000000..6375c36 --- /dev/null +++ b/hardware/schematics/README.md @@ -0,0 +1,3 @@ +# /hardware/schematics + +KiCad or other EDA schematic files. \ No newline at end of file diff --git a/hardware/simulations/README.md b/hardware/simulations/README.md new file mode 100644 index 0000000..f6c825c --- /dev/null +++ b/hardware/simulations/README.md @@ -0,0 +1,3 @@ +# /hardware/simulations + +Simulation files for circuit behavior (e.g., SPICE). \ No newline at end of file diff --git a/manufacturing/README.md b/manufacturing/README.md new file mode 100644 index 0000000..f4a7c93 --- /dev/null +++ b/manufacturing/README.md @@ -0,0 +1,3 @@ +# /manufacturing + +Production and assembly files. \ No newline at end of file diff --git a/manufacturing/assembly/README.md b/manufacturing/assembly/README.md new file mode 100644 index 0000000..451b2e4 --- /dev/null +++ b/manufacturing/assembly/README.md @@ -0,0 +1,3 @@ +# /manufacturing/assembly + +Assembly instructions and test jigs. \ No newline at end of file diff --git a/manufacturing/fab/README.md b/manufacturing/fab/README.md new file mode 100644 index 0000000..ade84b9 --- /dev/null +++ b/manufacturing/fab/README.md @@ -0,0 +1,3 @@ +# /manufacturing/fab + +Files for PCB fabrication houses. \ No newline at end of file diff --git a/mechanical/README.md b/mechanical/README.md new file mode 100644 index 0000000..c3be4f3 --- /dev/null +++ b/mechanical/README.md @@ -0,0 +1,3 @@ +# /mechanical + +Mechanical design including enclosures and 3D files. \ No newline at end of file diff --git a/mechanical/cad/README.md b/mechanical/cad/README.md new file mode 100644 index 0000000..b8cfc64 --- /dev/null +++ b/mechanical/cad/README.md @@ -0,0 +1,3 @@ +# /mechanical/cad + +Editable CAD files (e.g., FreeCAD, Fusion360). \ No newline at end of file diff --git a/mechanical/drawings/README.md b/mechanical/drawings/README.md new file mode 100644 index 0000000..0615562 --- /dev/null +++ b/mechanical/drawings/README.md @@ -0,0 +1,3 @@ +# /mechanical/drawings + +2D mechanical drawings (e.g., DXF, PDF). \ No newline at end of file diff --git a/mechanical/enclosure/README.md b/mechanical/enclosure/README.md new file mode 100644 index 0000000..d3a83c1 --- /dev/null +++ b/mechanical/enclosure/README.md @@ -0,0 +1,3 @@ +# /mechanical/enclosure + +STL/STEP files for 3D-printable enclosures. \ No newline at end of file diff --git a/mechanical/stl/README.md b/mechanical/stl/README.md new file mode 100644 index 0000000..a61f137 --- /dev/null +++ b/mechanical/stl/README.md @@ -0,0 +1,3 @@ +# /mechanical/stl + +Exported STL files ready for printing. \ No newline at end of file diff --git a/meta/README.md b/meta/README.md new file mode 100644 index 0000000..490080b --- /dev/null +++ b/meta/README.md @@ -0,0 +1,3 @@ +# /meta + +Project metadata, changelog, and contributor info. \ No newline at end of file diff --git a/software/README.md b/software/README.md new file mode 100644 index 0000000..5cc4e71 --- /dev/null +++ b/software/README.md @@ -0,0 +1,3 @@ +# /software + +Optional PC-side applications and scripts. \ No newline at end of file diff --git a/software/gui/README.md b/software/gui/README.md new file mode 100644 index 0000000..315f223 --- /dev/null +++ b/software/gui/README.md @@ -0,0 +1,3 @@ +# /software/gui + +Graphical user interface applications. \ No newline at end of file diff --git a/software/scripts/README.md b/software/scripts/README.md new file mode 100644 index 0000000..b797a3e --- /dev/null +++ b/software/scripts/README.md @@ -0,0 +1,3 @@ +# /software/scripts + +Command-line tools or automation scripts. \ No newline at end of file diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..102a02b --- /dev/null +++ b/tests/README.md @@ -0,0 +1,3 @@ +# /tests + +Test plans and validation reports. \ No newline at end of file diff --git a/tests/firmware/README.md b/tests/firmware/README.md new file mode 100644 index 0000000..9f1c2a8 --- /dev/null +++ b/tests/firmware/README.md @@ -0,0 +1,3 @@ +# /tests/firmware + +Firmware unit and integration tests. \ No newline at end of file diff --git a/tests/hardware/README.md b/tests/hardware/README.md new file mode 100644 index 0000000..7d50a77 --- /dev/null +++ b/tests/hardware/README.md @@ -0,0 +1,3 @@ +# /tests/hardware + +Hardware test setups and instructions. \ No newline at end of file diff --git a/tests/reports/README.md b/tests/reports/README.md new file mode 100644 index 0000000..ab3be47 --- /dev/null +++ b/tests/reports/README.md @@ -0,0 +1,3 @@ +# /tests/reports + +Test logs, CSVs, and validation photos. \ No newline at end of file diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 0000000..4bddf14 --- /dev/null +++ b/tools/README.md @@ -0,0 +1,3 @@ +# /tools + +Developer tools, flashing utilities, and debug helpers. \ No newline at end of file