I'm still figuring out how to arrange my GIT account so it makes sense, but while at it, the idea about forking a hardware of my own began to grow.
However, there's quite a lot of components and managing such a number concerning suppliers, manufacturers and whatnot is not very fun part of the process. So, I started thinking if a PDM (Product data management) would be feasible here. Those having worked with corporate PDM systems might have their hair standing on their end thinking about implementing a PDM to a hobby, but I do think it deserves further thought. It's just a database with a specific name, and a little else. MySQL might be ideal for this sort of project, but since I've got NO experience on Müesli and some on OpenOffice Base, I'm going with OO. It's not going to be industrial size anyway. With those systems, *everything* is catalogued, if it's a tiny washer or a huge vat of washing agent, and that's not the only thing making them cumbersome and heavy. A small database for electronic components should be easy and quick to manage.
As the name suggests, it's a system to keep track of the product data. It's not a version control scheme like GIT nor a general part repository, but a way to keep track of the components used in the design. The idea to have a list to quickly check which components you've used, so you don't accidentally pick another similar components. It could also do BOM reports with different supplier numbers, cost calculations and so forth. It could show all the components used is a project, filter by supplier, manufacturer, component function or whatever. It could also show in which projects the selected component is used. If a component is flagged for EoL schedule, it could pop a warning on which projects to redesign.
What I'm going to do first is to create tables of hardware designs, components, suppliers, manufacturers and prices. At first I'd just need to set up the tables and relations so everything works okay, and worry about the polished user interface later.
Here's a quick sketch of the tables and relations I figured out first:
DESIGN table consists of:
- Internal ID number
- a project name
- Parts used (many-to-many relation to part ID's)
- GIT info, file locations etc
- Project description
- internal ID
- Part name (resistor, IGBT, and so on)
- Detailed description, e.g. precision resistor
- Part schematic annotation ID prefix
- Value (ohms, henrys, farads etc)/IC code
- Rating (watts, amps, volts etc)
- Tolerance
- Supplier (Linked many-to-many on supplier IDs)
- package
- Data sheet/other document
- EoL flag
- Manufacturer part code
- manufacturer (linked many-to-one to manufacturer ID)
- Internal ID
- Business name
- Contact information
- internal ID
- Business name
- Contact information
- Internal ID
- Part name (linked to part ID)
- Supplier name/ID
- (Manufacturer part code)
- supplier part code
- price threshold
- price per unit
How to link that last one is still a bit cloudy but I think I'll figure it out soon enough.
Right now it would be very easy to get parts listing for each project with suppliers, projects list for each part, parts list by function (all resistors, etc)
Building a PDM from ground up is a HUGE project, but I'm hopeful about it. I'm quite sure it would help out hobbyist just as it would do a business. There's a huge number of improvement and features I would like, but first I'll be happy just to get useful basic functionality. A bridge to cvPCB would certainly be nice. And WAY over my skill level.