I want to start a new hobby project with some things in mind:
- It’s going to span multiple sub projects (each functional on it’s own), each of which would be a simple PCB and sharing many of the same components between them
- I want it to optimize for easy of sourcing components and cost
- Sub projects will be added in the future and should ideally reuse components from the limited component list
- Will be a collaborative effort from multiple engineers
Main thing I’m going for is ease of buying components, and cost savings from component reuse. With that in mind I was thinking that the project could have a project specific library with all the components used for it and that new PCBs only use components from that project library, only adding new components if really needed.
I was thinking I could achieve this by creating this project specific library by copying components from the bigger library and editing by leaving a single alias for each component. Also associating a specific package to be used in the project. This way, if we use TL072 for the project, for example, there is no chance of someone building it with one of the many equivalent components and this have multiple equivalent but different components come up in the final BOMs.
I have a feeling thou that I may be shooting myself in the foot by doing this, and wanted to know from more experienced people if this is a terrible idea.
I want to avoid a problem that happened to me when building a project someone else built over time, where when I put all the BOMs together, I found that across all the boards there was a mix of smd and THT, different footprints for SMD and THT components, etc. And normalizing that for a minimum set was extremely time consuming.