# Fab Electronics Library for KiCad

[![all tests](https://gitlab.fabcloud.org/pub/libraries/electronics/kicad/badges/master/pipeline.svg?key_text=all+tests&key_width=60)](https://gitlab.fabcloud.org/pub/libraries/electronics/kicad/-/commits/master)

> **What about KiCad 8?** Yes, it is KiCad 8 compatible.

> **It does not work on KiCad 7!** Yes, sorry, it is easier to maintain the library with latest KiCad. Please install KiCad 8.

This library includes all the electronics components listed in the official [Fab Inventory](http://inventory.fabcloud.io/).

> **Warning!** the library is under active development. Naming of components can change overnight. Make sure to `git pull` the latest version before doing work.

## Installation

> Make sure you have at least **KiCad 8** or greater installed.

1. Clone or download this repository. You **should** rename the directory to `fab`.
2. Store it in a safe place such as `~/kicad/libraries` or `C:/kicad/libraries`.
3. Run KiCad or open a KiCad `.pro` file.
4. Go to "Preferences / Configure Paths" and add new environment variable "FAB" that points to location of the fab library on your drive, e.g. `~/kicad/libraries/fab`. This is needed for the 3D models to load correctly.
5. Go to "Preferences / Manage Symbol Libraries" and add `fab.kicad_sym` as symbol library.
6. Go to "Preferences / Manage Footprint Libraries" and add `fab.pretty` as footprint library.

## Note on modules

Symbols and footprints of breakout boards (such as [DFRobot DFR0299](https://www.digikey.com/en/products/detail/dfrobot/DFR0299/6588463) or [Adafruit 3006](https://www.digikey.com/en/products/detail/adafruit-industries-llc/3006/6058477)) are not added to this library. Use plain pin-headers or pin-sockets for them in your design. Most of them have headers with 2.54mm (0.1inch) pitch and available drawings with dimensions available. As this library is made for teaching purposes, take this as an exercise.

## ToDo

- [x] Create a test script that checks if parts from fab inventory are included
- [x] Make sure all parts from the inventory are there
- [ ] Review symbol and footprint local (Fab Academy) naming conventions
- [ ] Fix symbols and footprints according to KLC tests using [KiCad Library Utilities](https://gitlab.com/kicad/libraries/kicad-library-utils)
- [ ] Add 3D models for all parts
- [ ] Move components to group-specific symbol and footprint libraries (like KiCad)

## Contributing

Please refer to the [CONTRIBUTING](CONTRIBUTING.md) document.

## License

Please refer to the [LICENSE](LICENSE) document located in this repository.
