How do you manage your parts?

Anything not related to a specific project.

How do you manage your parts?

Postby nabilt » Mon Dec 26, 2011 11:58 am

Seems like this question comes up a lot, but I've never seen a good solution for this. I currently use Google Spreadsheets to keep track of all my parts, but searching through it sucks. It is difficult to know what parts I need to restock when I start a new project. Usually takes me an hour or more to go through my BOM and spreadsheet to find out what I need.

So, I create a utility to do this for me, which has turned into a web app using the Octopart (http://octopart.com/) API. The idea is you upload your BOM from Eagle and the app tries to find the cheapest distributor for the parts you don't have. It also keeps an inventory of your existing parts.

It looks like this. Would anyone find this useful?
Image
nabilt
Newbie
Newbie
 
Posts: 45
Joined: Wed Jan 12, 2011 4:01 am
Location: Toronto

Re: How do you manage your parts?

Postby nabilt » Mon Dec 26, 2011 2:17 pm

Looks nice. I'd use it if it was not Eagle-centric (I use Altium Designer).

Actually the site takes a CSV file so it could potentially support other CAD tools, but that is something I will defiantly try and make easier for non Eagle users.

Since I am using the Octopart search engine API the site will support the ~12 or so distributors they work with. That includes the major ones like Digikey, Mouser, Newark, Future, etc... Did a google search, but couldn't find a complete list.

And it would be nice to have an option to eliminate certain distributors from the search as well, as some of them do not ship to certain destinations or have other issues which may preclude some people from choosing them.


Good point. Right now it is sorted by number of parts found then price, but it should be easy enough to add a preferred list of distributors. Thanks for the feedback.
nabilt
Newbie
Newbie
 
Posts: 45
Joined: Wed Jan 12, 2011 4:01 am
Location: Toronto

Re: How do you manage your parts?

Postby spanner888 » Mon Dec 26, 2011 7:45 pm

Hi

This is a great idea, I am interested in it as it stands.

This project from a German hackerspace is also developing well [url]partkeepr.org[/url], but it is more of an inventory only system.

I am also interested in your idea from a different angle, as one of my many projects is to do something similar with all the DP project BOM to extend the current BOMs and Shopping carts http://dangerousprototypes.com/docs/Shopping_carts.

Ian published one view of my idea above, but it needs something like Octopart to keep at least the prices and availability up to date.

Implementing this effectively allows users to purchase any project as a "kit" of all the major components from their preferred supplier(s). Exclusions would be mainly be the PCB and of course out of stock items.

The guys at Upverter, which people here love and hate, are already doing something similar where they presumably use Octopart to purchase the parts for Upverter projects for you.

Also have you looked into including delivery costs?

Are you interested in extending in this direction or releasing your code, so others can?

Spanner888
spanner888
Developer
Developer
 
Posts: 87
Joined: Mon Oct 11, 2010 8:08 pm

Re: How do you manage your parts?

Postby nabilt » Mon Dec 26, 2011 8:47 pm

This project from a German hackerspace is also developing well [url]partkeepr.org[/url], but it is more of an inventory only system.

Partkeepr looks cool. Seems like a robust inventory system.

I am also interested in your idea from a different angle, as one of my many projects is to do something similar with all the DP project BOM to extend the current BOMs and Shopping carts http://dangerousprototypes.com/docs/Shopping_carts.

This is a great idea. One of my goals was to have API that would let people embed their parts and projects on their own sites, but I never thought about using it in a shopping cart. Seems like the perfect use case. Currently, the website generates a CSV that the user would copy and paste into the various BOM importers like this one https://ordering.digikey.com/registered ... eader=link

The guys at Upverter, which people here love and hate, are already doing something similar where they presumably use Octopart to purchase the parts for Upverter projects for you.

Haha, I like these guys plus they're based in Toronto! I figured they would add some kind of BOM manager eventually, but I think there would still be people that want a stand alone product that does inventory, ordering and collaboration. Seems like you agree.

Also have you looked into including delivery costs?

On the backlog. Not sure how I would do it. Maybe just hard code the values for each distributor?

Are you interested in extending in this direction or releasing your code, so others can?

I'm unsure if I will release all of the source. I am planning to releasing the parts the would be useful to the community like the octopart scripts, related tools and inventory system, but probably not the collaboration features. It depends on how/if I plan to monetize it.
nabilt
Newbie
Newbie
 
Posts: 45
Joined: Wed Jan 12, 2011 4:01 am
Location: Toronto

Re: How do you manage your parts?

Postby brian » Mon Dec 26, 2011 11:42 pm

I am writing a program that directly searches: Mouser, Digikey and Arrow, tells me the build cost of a board (and withdrawals the needed inventory), makes CSVs to cut and paste to make orders at places, imports order invoices to keep part counts up to date (from PDFs Digikey/Mouser and HTML: arrow).

If parts are needed it calculates the lowest cost order to meet a build need list trying to account for shipping. It also looks at part price breaks to try to reduce running costs (IE it will not order 49 of something if 50 will cost less, and if you give it the percentage overhead it might order 50 of something you only need 40 of today; If you can source the part list from two places or a single place is the single place is less than the shipping overhead it goes to the single place, if the two (three, N) places are less it uses multiple sources).

The data is stored in CSV, and the program is in Java. My code will be MIT licensed when a functional version is complete. Its primary goal is minimization of running costs of building small batches of known designs.
brian
Sr. Member
Sr. Member
 
Posts: 493
Joined: Sun Nov 14, 2010 12:27 am

Re: How do you manage your parts?

Postby nabilt » Tue Dec 27, 2011 12:13 am

Wow! That's amazing brian! Any reason you didn't use a part search engine like Octopart or Findchips? Also, how difficult has it been parsing the distributors websites? I find my self doing this for different projects and I'm always worried their website will change.
nabilt
Newbie
Newbie
 
Posts: 45
Joined: Wed Jan 12, 2011 4:01 am
Location: Toronto

Re: How do you manage your parts?

Postby ian » Tue Dec 27, 2011 3:46 am

I would really like to see an open source, online inventory and project BOM manager. I have tried the german hackerspace package, and written a few scripts of my own.

We have had discussions with the octopart people about a BOM uploader, or using their API for preparing BOMs for our projects. Not much has come from it though. One issue is its hard to get fuzzy descriptions to give good part suggestions. We tend to write descriptive BOMs because parts are interchangeable: "1uF 16v+ 0805", not manufacturer part numbers like "MDF-517-63409-1016A". Complete part numbers on parts like LCRs, in most cases, increases the price of our stuff because Seeed presumes they have to import that specific part.

Internally, we have a zygote of an ERP system that tracks the inventory of parts we have, but does not have any ability to remove parts for projects or work with eg Eagle BOMs. I would like to release our ERP and management system under MIT license, but at this point a ton of internal data, passwords, and a few things we don't share about DP are hard-coded into (not to mention the mess of php).
User avatar
ian
Crew
Crew
 
Posts: 10803
Joined: Mon Jul 06, 2009 6:14 am

Re: How do you manage your parts?

Postby nabilt » Tue Dec 27, 2011 3:58 pm

Internally, we have a zygote of an ERP system that tracks the inventory of parts we have, but does not have any ability to remove parts for projects or work with eg Eagle BOMs.

Is this custom built and is this what most companies do? I would like to know how small to medium size business deal with this. I'm sure large companies have custom build tools.

We really do need something like github for electronics with features like
- wiki, issue tracker, maybe revision control (basically what github provides)
- Visual diffs for PCBs
- Smart inventory manager that can price check across distributors
- eCommerce integration for people that sell kits (what spanner888 was talking about)
- Social features like user project portfolios or public part lists [ my dev board is better than yours :) ]

Funny, this looks like what Upverter is trying to achieve except from a different angle.
nabilt
Newbie
Newbie
 
Posts: 45
Joined: Wed Jan 12, 2011 4:01 am
Location: Toronto

Re: How do you manage your parts?

Postby BrentBXR » Tue Dec 27, 2011 4:04 pm

User avatar
BrentBXR
Hero Member
Hero Member
 
Posts: 567
Joined: Sat Nov 19, 2011 5:09 pm
Location: Cleveland, Ohio

Re: How do you manage your parts?

Postby nabilt » Tue Dec 27, 2011 4:54 pm

http://demo.aligni.com

Interesting. They import your parts into their online database which tracks projects through the different stages of its lifetime. You can keep track of your distributors and keep records of quotes for different parts. They store digital assets like datasheets in your Amazon S3 account if you have one. They also seem to do purchasing, but I'm not sure if they have relationships with the manufactures or if that is up to the user to deal with. From their doc:

Email a private ticket to view the RFQ to each contact.
Receive completed quotes from vendors and discuss them within Aligni.
Convert quotes from vendors directly to quotes within your database.


Sounds like they act as the middle man.

Overall, looks like a very solid inventory system. A bit confusing for me cause I'm probably not their typical user, but still impressive. Do you have experience with this BrentBXR?
nabilt
Newbie
Newbie
 
Posts: 45
Joined: Wed Jan 12, 2011 4:01 am
Location: Toronto

Re: How do you manage your parts?

Postby BrentBXR » Tue Dec 27, 2011 4:56 pm

Overall, looks like a very solid inventory system. A bit confusing for me cause I'm probably not their typical user, but still impressive. Do you have experience with this BrentBXR?

no I ahve seen it used and was very impressed by all its features. for my personal use i simply use:


I use a simple program called zparts. Google it; its on source forge. its no longer activly developed but it works.

It just simply allows you to make catagorys/sub catagorys and then differnt parameters for each sub catagory. So for example I have:

Microcontrollers:
- > ATMEL
- > Microchip
- > TI

And for each part you can include all your own custom parameters (like flash size, pin count, quantity, and so on..) but it also allows you to link a picture and datasheet.
User avatar
BrentBXR
Hero Member
Hero Member
 
Posts: 567
Joined: Sat Nov 19, 2011 5:09 pm
Location: Cleveland, Ohio

Re: How do you manage your parts?

Postby spanner888 » Tue Dec 27, 2011 10:08 pm

Looks like the Use cases discussed are:
1. inventory of parts on hand
2. parts required for project BOM (complete, or minus parts on hand) including cost of parts and shipping
3. shopping cart(s) of project BOM optimised for cost, delivery speed, completeness (eg all/most/critical/some parts available)

Ian said:
One issue is its hard to get fuzzy descriptions to give good part suggestions. We tend to write descriptive BOMs because parts are interchangeable: "1uF 16v+ 0805", not manufacturer part numbers like "MDF-517-63409-1016A". Complete part numbers on parts like LCRs, in most cases, increases the price of our stuff because Seeed presumes they have to import that specific part.


This highlights the big challenge in sourcing parts - getting from a specification to a part you can order at the "right price".

The "right price" is the purchase$ and also the cost of ensuring availability, supplier/batch quality, correct footprint, total number of orders for a project is not excessive, as having to order a project BOM from several suppliers gets expensive as the shipping fees accumulate etc.

This is hard, it requires manual effort for every order, often a lot of effort because items are often out of stock or price / price break change, or your purchase goals are different to last time, or your goals different to other people (eg shipping costs to your location often dictates the supplier, or quantity one off purchase/bulk, or fast delivery/cost no key factor....).

But once a BOM based on specs is published, the community can spread the effort and pool knowledge to source parts and keep the BOM + specs + supplier info up to date. Tools like those discussed here can really help that find part/substitute at the right $ sourcing process and the publishing of that info - Ian said:
really like to see an open source, online inventory and project BOM manager
.

It seems highly unlikely that the commercial services are available to help the community at community pricing, so I would love to contribute to something like this. Are other people interested?
spanner888
Developer
Developer
 
Posts: 87
Joined: Mon Oct 11, 2010 8:08 pm

Re: How do you manage your parts?

Postby arhi » Tue Dec 27, 2011 11:07 pm

nabilt wrote:I would like to know how small to medium size business deal with this.


The size of the company does not matter too much, it's most the "amount of different stuff they build".

Bigger the company, more then tend to make "one thing" or they tend to don't build anything - they just send the schematic (often even without pcb layout) to be fabbed, they test and debug the prototype and then in few iterations get it done, without purchasing parts at all ...

I seen 4 different small companies that build a lot of small stuff (they make custom electronics for clients). And all four companies use exactly the same principle.

1. have a single cad app that everyone has to use (irrelevant what app they use, but 2 used altium, one used eagle and one used orcad) - noone is allowed to draw anything in any other cad.

2. they have a library of parts allowed to be used for design. Same library with sch and footprint details, datasheet etc etc on all instances of the cad tool they use (iirc altium can use shared libraries). ONLY parts in the library are allowed for projects. Parts are also labeled with priority "so you use 0805 if you can, then if you can't you can put 0603 and if that don't work you are allowed to use 1206 resistor... for example". If you need a part for your project that's not in the library it has to go trough "approval process". Person who's job is (among other things) that, check with all suppliers what "type" of that part they have so they check the availability options (how many is minimum order, how many usually available, on stock or not, how fast can it be delivered if off stock, money issues...) then they check EOL (how long device exist, is there a new generation available, what manufacturers are making it ...) and finally when they have all the data they add the part into library so from that moment anyone can use it.
User avatar
arhi
Hero Member
Hero Member
 
Posts: 2160
Joined: Thu Jun 24, 2010 11:41 am
Location: Belgrade, Serbia

Re: How do you manage your parts?

Postby ian » Wed Dec 28, 2011 3:09 am

I would like to know how small to medium size business deal with this.


Our ERP/management system is based on the slides SparkFun showed of their custom system called Sparkle at the sketching conference.

Also, we use an inventory management idea that Adafruit posted on their blog, a simple script addition to Zencart that adds all sales for each week for 90 days and recommends when to restock.
User avatar
ian
Crew
Crew
 
Posts: 10803
Joined: Mon Jul 06, 2009 6:14 am

Re: How do you manage your parts?

Postby nabilt » Wed Dec 28, 2011 1:56 pm

spanner888:
It seems highly unlikely that the commercial services are available to help the community at community pricing, so I would love to contribute to something like this.

I guess it depends on the business model. For example, github has done a great job of hosting open source projects for free and releasing parts of their backend like the wiki https://github.com/github. They convert a small percentage of their users into paying customers and we get better tools and hosting for git repos. Not a bad deal if you ask me.

spanner888:
Are other people interested?

I am. Like I said I'm planing to release the components that would be useful like inventory management, price checking etc, but I do plan on providing a hosted solution similar to github. So if someone else wants to put the components together to provide a similar hosted solution they would have to roll their own user authentication system and other stuff related to users. That said people might want to go a different way than I am planning. I'll help out either way.

Some background info. The app is currently built using the Pyramid framework AKA Pylons, MongoDB for storage, and dojo for the front end. It is fairly basic in terms of features at this point. You can make a project with parts and find the cheapest distributor. Right now I'm adding a search feature so the user can change the part if the system finds the wrong one.

arhi:
I seen 4 different small companies that build a lot of small stuff (they make custom electronics for clients). And all four companies use exactly the same principle.

Fascinating. It seems like it would be a pain to work with all of these restrictions, but that's life in the corporate world I guess. This also reinforces the need for a better online collaboration tools for hobbyists and companies like DP since it would be difficult to implement these policies on the internet.

ian:
Our ERP/management system is based on the slides SparkFun showed of their custom system called Sparkle at the sketching conference.

Cool. I didn't know Sparkfun open sourced this kind of stuff. Adafruit also does a great job in this area like you've mentioned. Cool to see you guys are all working together.
nabilt
Newbie
Newbie
 
Posts: 45
Joined: Wed Jan 12, 2011 4:01 am
Location: Toronto

Next

Return to General discussion