Skip to content

Latest commit

 

History

History
60 lines (37 loc) · 3.21 KB

README.md

File metadata and controls

60 lines (37 loc) · 3.21 KB

Sofle Battery Switcher

CI pipeline list link to latest version

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.

Setup

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

Used plugins

Documentation

See the documentation.

Releases

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.

Another attach has:

  • Gerber files and drill files in manufacturing.zip
  • 3D model in 3D.step

Generate release

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.

Release changelog management

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