We are triying to make a battery switch for the Sofle Keyboard, or properly said, the nRFMicro or Pro Micro compatible board used by the Sofle Keyboard.
Our goal is to have a PCB that could short and open the baterry supply via a switch, keeping as low profile as possible and doing it as integrated as possible. Also, the device should change the battery in any of the positions, because the nRFMicro
has a battery charge monitor.
In order to use this repo you should add a KICAD_3RD_PARTY
variable with ${KIPRJMOD}/3rdparty/
value. If you had installed Kicad for all users, the variable shall be a system variable. Otherwise it can be a user variable.
Also, to commit the messages we use https://github.com/marketplace/actions/github-actions-create-tag, so your commit messages need to follow a certain format. In order to do so, you need to install some git hooks. You can do that by running the following command:
./scripts/setup-hooks.sh
- For download parts from Component Search Engine: Import-LIB-KiCad-Plugin
See the documentation.
See Github releases.
Each release has:
- User guide in
user-guide.html
, with a lot of information to build the PCB. - iBOM in
ibom.html
, with all the PCB parts. - Another BOM in
out-of-bom.html
, with parts not used by the PCB, but needed in some cases. - Schematic in
schematic.pdf
, with the diagram of the PCB. - PCB images:
- top view in
top.png
. - bottom view in
bottom.png
.
- top view in
Another attach has:
- Gerber files and drill files in
manufacturing.zip
- 3D model in
3D.step
To generate a release you will need to create a new release/*
branch and make a PR from that branch to main. In that scenario, when the PR is closed a job will be launched. That job will generate a tag and a release with all the change information from the previous tag until now, using the commit contents as specified in https://github.com/marketplace/actions/github-tag.
In order to auto-generate the changelog, the commits shall use this rules:
Keyword | Example | Increases |
---|---|---|
fix(something) |
fix(pencil): stop graphite breaking when too much pressure applied | Patch |
feat(something) |
feat(pencil): add 'graphiteWidth' option | Minor |
perf(something) |
perf(pencil): remove graphiteWidth option | Major |