Good IC / Electronic Component Inventory Software?
Smerky writes "As I've been getting more and more into hobby electronics I have been finding it difficult to keep track of all the different ICs and other electronics that I have (resistors, capacitors, etc.). What are Slashdotters' recommendations for some inventory software? Certain qualifications that I'd be looking for personally are that it has to run on Linux/OSX well or be web-based (to run well on an Apache2 server)."
This is a simple database problem.
You could throw something together, or just make a nice organized list in a spreadsheet. With appropriate filters it can be quite useable.
For only a few hundred/thousand items spreadsheets make nice databases.
The big problem is keeping it up to date, that's where you'll likely run into trouble.
Why do you need something like that when you can just buy some plastic compartments?
I don't mean this in an arrogant fashion or anything, but do you have any programming experience? Inventory Systems are really the easiest kinds of systems to set up, since you generally only have to track what goes in, what goes out, and sometimes what works together.
You can grab a Java for dummies book, maybe SQuirreL, and Eclipse, and have some fun developing an inventory system yourself, the only limits being how much you want to put into it. I mean you didn't mention any special features so its hard to recommend anything I might have heard of.
But yeah, my recommendation, since its all about hobbies, perhaps you could tackle it yourself.
Forget the software. I purchased a set of storage racks from a hardware store - the kind with 30 little drawers of varying sizes. They're stackable, so you can combine them into a fairly impressive wall of drawers on the back of your workbench. The drawers are somewhat transparent, so it's possible to see when they're empty. I use a label maker to run off stickers for the drawers that say things like "5.6K res" and "10 uF cap."
The reality of electronics is that there are some pieces (dip sockets, 0.1uF caps, 220 ohm resistors, 1N4148 diodes, 7805 voltage regulators) that get used over and over again, so it makes sense just to build a well stocked physical rack. Checking inventory levels periodically is simply a matter of peeking into the drawers and seeing what needs re-ordering. I tend to order resistors, caps and diodes in quantities of at least 100 anyway, just to get more reasonable pricing.
A good place to ask this question is on usenet newsgroup sci.electronics.design
I think a classification and storage system would be more useful than software, but maybe you are talking about a very large number of components. If you want to roll you own, I started a very basic asset tracker using based on PHP. It's maybe slightly more useful than a spreadsheet. You can find it at http://tamb.sf.net/
Save the receipts from your component purchases in electronic form so you can search them. This is handy not just for reordering but also if you want the exact part number (to look up the specs) which might not be easily determined by looking at the part.
Finally if you are collecting SMT chip caps/resistors, diodes and transistors, you can use these flip-top cases which let you store 128 different values in a small space. http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_164267_-1 There isn't much room for labeling so these are best for resistors and caps where you just need to indicate a value for each item, and the other details for the family can be labeled on the outside of the case.
Do you see yourself sitting at your computer changing your database every time you used a couple of components?
Here's how many do it: get a couple of these racks. Buy resistors, capacitors and small semiconductors in bulk and don't worry about running out. When the bottom of the storage container gets visible, order more.
For the larger (and/or more expensive parts) order online when you need them, and just order a few more than you need. You build a nice inventory that way and you'll only stock what you actually use.
Label each container, group them in logical groups. That's all.
I've been faced with a similar problem, and I have multiple storage compartments, but they really don't help as much as real software would.
With hundreds of different possible combinations of component values, tolerances and sizes, physical organizational storage solutions only goes so far.
I can only assume that the OP already has decent storage, because any electronic hobbyist who doesn't will be batshit insane within a few years.
...a piece of highly-specific software capable of keeping inventory of all my electronic components. It needs to be able to track resistance of my resistors, capacitance of my capacitors, and I want it to remind me when my wife's birthday is.
Certain qualifications that I'd be looking for personally are that it has to run on Linux/OSX, specifically kernel series 2.6.27, versions 32 through 43 non-inclusive, but only the odd numbered releases. If it's OSX, then it must support the 64-bit XNU kernels on PowerPC hardware. Or it can be web-based, in which case I need it to run on Apache2, specifically PHP4 so it's compatible with Worker-MPM. I'd also prefer that it prefers Informix servers over MySQL or PostgreSQL. Lighttpd and nginx are completely out of the question, even though they all do the same goddamn thing.
Oh, and for legal reasons it has to be licensed under the Death and Repudiation License (DPL)!
That's why I have 1000 each of 100 and 220 ohm resistors. I needed 50 or so of each, but the price breaks were such that:
50 would have been $2.50 (5 cents each)
200 would have been $3.40 (1.7 cents each)
1000 was $8.00 (0.8 cents each)
Got a recommended source for a multivalue resistor kit? I could use one of those for initial stock.
I think for almost any hobbyist, it will be difficult for any software based solution to match the simple approach of physical organization with transparent labeled bins. Lowes sells some good ones at reasonable prices with slide-out drawers, other people use compartmented boxes designed for fishing lures/bait/flies/etc. These are more economical for "lots of small stuff" but a little harder to access since the compartments are top-access.
retrorocket.o not found, launch anyway?
Places like Mouser and Digikey sell decent multi-packs of resistors. However, it may make financial sense to just order 10 of your favorite four or five values (unless you're doing extensive analog work, you don't need a broad range of weird values). Don't forget an assortment of caps as well.
I have used this program to store information on my electronics and has done what I have asked of it. It is cross platform and open source also. http://sourceforge.net/projects/zparts/
While I agree for the most part I think you may be missing an important facet of a software based inventory system.
With a software based system that is kept up to date you can know without having to count physical items if you have enough parts for a particular project.
Just my quick $0.02 on the subject.
I think you'll come to find that aside from every-day components (caps, resistors, voltage regulators, etc), most of your projects will end up using *some* sort of specialized part.
Unless you are running a small business, you're wasting your time with any database.
My reccomendation - sure, combine caps, resistors, LEDs, etc, into either those 50-drawer wall-mount storage bins (for leaded), or 'bug' cases with the little flip-top lids (as mentioned above) for SMT parts.
Otherwise, organize specialized parts via 'project' boxes - keep all of the unique parts with the project. You'll remember "hey, I used a nice D/A converter on that retro-redbox", go to the box, dig out the original pkg, blamo, the part number you need to lookup specs.
Keep a small dry-erase board near your 'warehouse' to jot down part #'s as they become low - when you've accumulated enough parts to justify an order, they're all there in one place.
*-PGP Please!-*
http://www.bgmicro.com/RESKRESE3.aspx Not a super price (480 @ 1.5c/ea) or assortment. But happened to see it yesterday.
Parts&Vendors is a good program geared toward what you're wanting, but it's Windows only. You might see if the trial version will run under WINE.
"Prefiero morir de pie que vivir siempre arrodillado!"
No matter which software you find, buy or build, inventory is always difficult.
You have a virtual "inventory" in the database, and a real inventory of actual parts. Keeping the two synchronized takes a lot of discipline.
It's really easy to grab a part when you are in a hurry, and forget to update the database.
Or, grab 11 parts, and enter 10 in the database.
Even the professionals find it difficult.
Database software, for inventory tracking or for anything else, only becomes a desirable solution when dealing with HUGE quantities (that is hundreds of thousands or millions) of individual items. For personal collections of various sorts, involving at most several hundred different articles, database software becomes far more trouble than it ever could be worth.
Yet people continue to be beguiled by the power of their PCs and apply them to personal address books, calendars, CD collections, etc. Such things are far more efficiently maintained using traditional methods like books and ledgers.
Get realistic. Forget the inventory software and use a pencil and paper.
It takes me less time to check my storage rack for oddball parts that I might be short on (Atmega MCUs, for example) than it would to open a database app and query three or four different parts.
If you're in the UK, http://www.bitsbox.co.uk/ is excellent, good passive component packs, although a lot of time if you're doing analogue design you'll need 1% accurate resistors, preferably in the E196 series, and if you're doing digital you can probably get away with keeping 1ks, 10ks and some resistors for LEDs in stock. Useful for prototyping though
Might I recommend that you first develop the circuit fabrication AI software, and mechanical fab environment that would necessitate you needing software tracking of component organization in physical compartments?
Once you get that done, and well documented, post to either hackaday or instructables so that we can both praise and chastise you for your endeavors. Use of an Atmega is optional, but recommended.
This is unrelated to your software request, but get vertical organizers rather than flat organizers. Desk space is at a premium.
Also, make an automatic inventory system with a force sensor on each compartment to give a rough-guess of the remaining quantity of components. You just need to program in the component average weight and type.
Everyone does it this way.
So you want to build 100 doodads using 10 sub-assembly widgets you've already built plus 90 more identical widget sub-assemblies you have to make but you only want to have to purchase enough parts to build the 90 taking into account the 10 you've already built, and you have to comparison shop between 10 different vendors who all have different names for the same part, and half of whom have changed the part number for the part since the last time you've bought it, and the doodad you're trying to build has a bill-of-materials hierarchy 10 levels deep. Add vendor traceability just for kicks so you know who sells you bad capacitors for only the other 90 you have to build.
Simple spreadsheet/plastic boxes ain't gonna cut it at this level.
Well, I'm embarrassed. I started out keeping my inventory in a spreadsheet. Then I got lazy and quit doing that. Finally, whenever I would pull a component from one of those plastic drawers a previous poster had mentioned, I'd peer inside and think to myself "I'm running a little low on 10k resisters, I'd better get more."
...
I'd never thought to have an inventory program
I works as an electronic engineer and I have a lot of parts I use for my different projects. When I start a new project, I have to use the same components, where it is necessary to have a database. I already used the phpinventory : http://www.phpwares.com/ And if you need something better, there is openbravo http://www.openbravo.com/ which is a real ERP ( based on Compiere ) which I plan to use for my new company. But as said before by someone else, it takes a lot of time and discipline to maintain such database, but it is very powerfull. If you create pcb, EAGLE ( http://www.cadsoftusa.com/ ) you can use a database when you create BOM and the software populate directly the BOM with the good components, which help you to keep your standard components.
I'd set up stock locations and use SAP to keep track of and consume stock.
I cobbled together a quickie in MySQL. I had a parts table that defined the parts, a category table to classify (E.g. resistor, capacitor, mylar-cap, etc.) and then an inventory table to capture on hand quantities. Tied it up in an MS Access front end and it works for my needs.
Wow, this is really bad: Most comments completely ignore the possibility (fact that is) that there actually is a need for such a software.
A simple software for inventory (including location), simple order gathering (multi-account so group orders are possible), order processing, tracking and delivery checking with superb usability (we actually want to build something - not massage data into a half-assed DB frontend) is really missing from the landscape! At least in the open source area where I looked.
So please, think twice before you turn down the question!
yes, good physical organisation is all you need for a basic system, but I can also see a great application which is more than a mere catalog. How about a db that not only tracks what you have, but has knowledge of what the parts are (maybe interrogating an online source(s) ?) So lets say you need a multiplexor....it would be nice to type in 'multiplexor' and then have your db tell you if you already have one or not, and show you the datasheet for what you have. Now that would be a real time saver unless you're completely proficient at remembering what IC number does what. Maybe go mad.....type in the parameters of a transistor you need, or even look for substitutes (Towers book?)
I take the pantry approach, and always keep commonly used components in stock. When place orders online I do a quick glance over what I have in my little plastic boxes and restock on things that I'm be running low on. My problem isn't inventory management. Its finding a good local source for various components in Atlanta. Fry's is limited and some of the mom & pop stores are hit or miss.
Though it would be cool to put some QRcode stickers all over the place and create an inventory management app for android that updates a database sitting on the LAN or something.
I have to agree with some people here that for a typical tinkerer, a database management system is unwieldy due to the massive amount of specialty parts that I only have 1 of, anyway. So, I tend to have to search through parts every time unfortunately, but keeping parts organized in proper bins make it much easier to search through. I do keep text file "databases" of some parts but mostly due to translation of part number to characteristics (transistors). IC's, resistors, capacitors, etc. don't really have substitutes anyway so they get all tossed into a sorted bin... sorted by function or value. (As I get more op amps into the collection, they may end up having to be sorted similar to the transistors as they too can potentially be swapped out for one another.)
Since I'm not actually manufacturing something, this is OK in my opinion... I don't have to worry about something out of stock, since it's sorted I can potentially find a substitute nearby as they tend to be sorted into the same bin. If I end up needing something that I don't have, I'll know fairly quickly and it's time to order/locate one. Not like I really have to do predictive purchasing to make sure manufacturing assembly doesn't hiccup due to being out of a particular component...
(I would really hate to have to update my database every time I swipe a component for a temporary experiment... and forget to update it if the temp experiment turned out to be a permanent solution...)
Not so much for standard parts, but more for oddball stuff that I "think I have some", design something around it, and then can't find it.
The bins are necessary, for sure. But they're not the end all. I hate looking through a thousand bins for a part you may or may not have (memory ain't as hot as it used to be). I must have a thousand+ different vacuum tubes, FFS. I don't know how many different ICs I have, but it's pretty ridiculous.
Of course, even if I had the thing, I probably wouldn't be too good about marking things as used, but... at least I could.
Sent from my PDP-11
I use plain osCommerce. Has good features to track what needs buying in an inventory. Also, it's good, though not necessary, to reference which drawer gets what. If not using drawer references, just keeping stuff categorized on the drawers works too. As noted by other commenters, the problem is keeping it up-to-date. Don't even bother tracking resistor/capacitor usage. Just buy a lot of them to have stock... you'll notice when one of them runs too low. The best reason to keep such inventory is for those parts that are not that common, which you may have few but want to keep control.
Seriously, a text file with one line per component. To find one, use your editor's find command.
Hi,
I have a bigger and bigger inventory of electronic parts (thank you eBay !) and the solution that I have found is ... a wiki.
One page per type of part, little tables, links to the datasheets, buying dates, prices, number of units bought, drawer location, whatever properties, values and characteristics...
Unlike a classic database, I can thus manage type-specific characteristics : I don't need to define a "capacity" field for non-capacitor parts for example.
It is also easily dumped and a search engine is available in my wiki flavor.
Now that I think about it : I could even fork the wiki codebase or add a plugin that adds inventory features, let's call it "inventowiki" :-)
but as it is now it works so i'm happy, however one must not forget to update the data often ! outdated data are useless data, it requires some discipline :-/
have fun,
anon
Unless you are on a production line you will, as said above, only need a set of small plastic draws to organise your work. In any one day if you do not have component X you can order it and get on with other bits of the work or go out and replenish your stores. If you really need to track it a note book is usefull (paper one). Write down what you think you will need in the near future. Then order it or go out and buy it (order is cheaper if you can get above a certain cost which depends on the suppliers)).
For IC's go to the manufactures web site as many will send you free samples if you check the correct box. Free delivery, free chips. And when you come up with something cool they will like you for it.
Side note: I did have fun once watching the UPS traker for 2 sample chips bounce thier way across the USA (in random directions; sometimes backwards) then across the Atlantic just to arrive with me in a 1' by 1' by 2' box. The two chips were about 5 mm x 5 mm.
Matfud
Thank you for the suggestions everyone. I've got to say that I know physical storage can be very nice. But when I'm limited to storage space because I'm a college student then I need something to keep track of what I have. I've got my parts semi-organized in a fishing tackle box but it's not a very precise organization, which is why I'm looking for some sort of software to keep track of what I've got. I'm not look for any DIY setup because I honestly don't have the time commitment to put into something like that. From what I've seen of the suggestions I think that zparts ( http://sourceforge.net/projects/zparts/ ) is probably best suiting to what I'm looking for. Thanks everyone
I bought this when I was an undergrad, great deal: http://cgi.ebay.com/50-Value-1-4W-Metal-Film-Resistors-1R-10MR-1-2000x-/300373016446?cmd=ViewItem&pt=LH_DefaultDomain_0&hash=item45efa07f7e#ht_926wt_1085
Cool, man. I like electronics, too.
I have set up a MYSQL database with all the components I use. This database also connects into the CAD tool (Altium). Then in the database I store everything about the component from company part numbers to vendor and datasheet links. Since I mainly use digikey for parts I also wrote a script which periodically will go through my database and update with digikey price and availability. The net result is that I know everything and I am not locked into any software and as such I can make it all work together.
The PHP is used for all the scripting and user interfacing, for example I have a script which prints out the Avery labels for the storage bins from the database.
I should have thought of ebay - that's a great link. 2000 1% metal film resistors for about the same price as Digikey/Mouser want for 240 5% resistors and that other link wanted for about 1000. ($7 for 480 -> $15/1000)
Free shipping too. Thanks for the link!
retrorocket.o not found, launch anyway?
I just keep a pad on my bench and make a note of anything I am running out of as I work.
More and more places are going to free shipping now so as long as you order 3-4 days before you need the part there is no real need to keep a large stock around. Farnell do free shipping, I think the cut-off being about £15/order. Rapid are minimum £35/order. Bitsbox in the UK charge £1.50 flat rate for any order and their prices are actually considerably better than Rapid and Farnell on some stuff, especially if you want quantities 50.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
http://www.gcstar.org/index.en.php
User defined collections are easy to set up and you can freely access and edit the source code should you be so compelled.