Wants to Organize Your Junk Box

There are many ways to divide the hacker community into groups. Tubes vs transistors. Emacs vs VI, microcontroller vs discrete component designers. However, one of the more fundamental divisions in the community is how you organize your parts. We’ve seen giant warehouses with carefully organized bins and cabinets full of components, and we’ve seen storage crates with tangles of wires and bits of electron-bending components scattered among the wires.

dbIf you are in the former camp, you’d probably enjoy (see image, right). If you are in the latter group, you probably need to check it out even more than the other people. The idea is simple: an online place to keep an inventory of your electronic parts. The implementation is not as simple, though. The web application will work on a mobile device or just about anywhere. You can view your components by type, by location (the shoe box under the bed vs the parts bin in the closet), or by a project’s bill of materials. You can use “known” parts or create private parts for things no one else has (for example, your custom PC boards, or those 3D printed brackets you made to hold a microswitch). If you add data for a component you can make it available to other users.

We can hear two objections. First, of course, is that the government or your rival hackerspace, or some other evil entity will be able to get your data once it is on the cloud. Perhaps. We aren’t that worried about the inventory of our junk box landing in the wrong hands. If you have the more legitimate worry that the service might go away and take your data with it, you can export the entire database (in JSON format) any time you like to keep a backup.

The other objection is that you can use a spreadsheet for the same purpose. You could even use Google Sheets if you wanted it on the cloud for some reason. That’s true, but you won’t get the same level of functionality. For example, when you enter a common part number, the database knows details about the part and will add tags automatically for you. In many cases, the database will automatically add datasheet links.

The bill of materials (BOM) is especially interesting since you can answer the question: do I have enough parts on hand to build this? You can also remove all the parts for a project from inventory in one operation. We were disappointed to see, however, there didn’t seem to be an easy way to share a project bill of materials with someone else. While you can export a selected group of components to a CSV file (for a spreadsheet), there was no comparable option we could find for BOMs.

It looks like there are plans to create a commercial version, although it appears the plan is to keep the hobby version free. We could see the appeal to a multiuser version for hackerspaces, for example.

Of course, the real challenge is to get started with something like this when you have decades worth of junk accumulated. If you are just starting out, it is easier to start and stay organized than it is to get organized later.

This reminded us of ecDB, which we’ve talked about before. You might also check out PartKeepr if you want to host your own. Maybe [Brian] can use one of these to keep track of his infamous boxes that will be stolen.

Photo credit: [Lucky Louie] (GFDL).

42 thoughts on “ Wants to Organize Your Junk Box

  1. This looks great. I finally don’t have a reason to start cataloging the things. Well, I can probably still find a new reason… I look forward to giving this a whirl. Also, looking forward to the future API. Without that the hacks are limited…

  2. Some years ago I started a project to track all my parts. I even had working code and spent a considerable amount of time cataloguing stuff I had.

    Where the project failed, and where most projects like this fail, was the continued use. Every time I used a part it would need removing from inventory. If I then decided said part wasn’t needed it would need putting back into the inventory. This became a chore that got in the way of actual building and so the cataloguing project failed. :(

    You could have the best software in the world for this but it’s the human element (in my case) that prevents it from being any use. Instead I rely on memory (rapidly waning with age) and less than methodical searches.

      1. This is the perfect argument for voice control. That is, if we can get recognition of of part numbers working well. Simply being able to shout at a computer when putting a part back or removing it would probably make the hassle of cataloguing actually bearable.

  3. I believe the real issue is typing all the damned meta data into the app.. as stated above, it would take years for a lot of us just to do the data entry, making it all moot… but if you are young and really disciplined enough to enter all your crap as you get it, then not so bad.. the rest of us will have to rely on muddled memories and boxes labeled “electronics”.. :)

    1. This is what I do. Whenever I start a new project I fill my calc sheet with the components I have doubles of, or when a new order arrives. That way I don’t have to root through all the old stuff I don’t need, but have a relatively recent overview.

  4. I can vouch for partkeepr. I’ve been using it at work for about a year now and it works well. The creator of partkeepr actually helped me troubleshoot an issue I was having which turned out to be caused by my database host.

    I have to admit that I don’t keep the quantities up-to-date, but the ability to search a part and have it’s location listed has been tremendously helpful.

  5. Unless they use object recognition that continuously learns from part images uploaded and tagged by all users I don’t see the value in it. If I could scan parts with a phone and have them identified, or even just partly classified it would be very convenient, otherwise where is the gain in time saved when you can easily add an automated URL for a datasheet query in a spreadsheet.

  6. When we recently moved, we intentionally bought a smaller house (an empty nest sort of thing). My plan we to organize my parts in plastic or cardboard boxes in an organized way.

    To paraphrase someone else: “All plans go south on contact with reality”.

    Now the floor of our third bedroom is covered wall to wall with boxes (at least it is in the basement with my workshop), and I don’t have a clean horizontal surface yet (3 work benches in a “U” shape with a central table!!!).

    I have decided to get this workable by the end of the year, so I can resume actually doing stuff. At least for now I have a usable bench (actually two, but on is my intern’s desk for now) in my office.

  7. If I had to do something like this it would take me another year to list 40 years worth of electronics.
    I have over 600 small draws and 60 small bins and over 30 large bins and then there are the 18 large boxes of un sorted.
    as it stands I have been trying to organize for just under a year to get to this point. for getting about logging it all.
    I had to to this because of downsizing. my sister in law had to move in.

  8. Yaaaa. That’s gonna happen. Seperate by major catagory in boxes, plastic containers, mason jar, and divided parts bins for more useful items and active discrete. I usually scrap populated PCB right away. The concept of leaving populated boards whole consumes to much space and still requires a search methodolgy and then pulling. Way too slow. Tried the anal database way. Doesn’t work for me either. Rather use time constructing, hacking, and proofing. I guess I’m not alone in. My SPICE models and PDF datasheet collection is databased tho. Besides, isn’t mole through a pile of old projects part of ‘oh yeah’ inspirational design process?

  9. I’ve been using a combination of my own instance of ecdb ( and CollectiveAccess; ECDB for the more mundane ‘parts’, and CollectiveAccess for objects in my collection, which I’ve expanded to cover parts like tubes and analog meters. CollectiveAccess tugs at my museum roots, and is extremely configurable.
    This looks really interesting, but if I can’t run my own instance, I get skittish.

  10. Finding a good balance is key. I keep a log of ic’s as it’s hard to remember them all (and read tiny smd chips!) and you’ll end up buying stuff while you’ve already got it. But all the resistors, caps, transistors , diodes, potmeters, switches etc are kept in boxes, boxes are labeled and in drawers and shelves. I work best visually and by association. Parts can be grouped logically or intuitively, whichever works best. I have a mental map where things should be, if they’re not there I put some time in making sure they are. This often beats the time searching for parts not in the expected place.

    I’ve tried cataloging but at some point lost interrest. My interrest is in using, making and research and development, not catalogging, sorting and stock management, though I do the bare minimum as to keep things under some kind of control, and at that scale I can even enjoy sorting unsorted stuff now and then.
    It also depends on the breadth of types of parts, the amount per part and physical sizes. Most what I own is stored in a single room in about 50 transparent crates, sorting boxes of all sizes, shapes and colors, helping the visual part with finding the object in question. Some parts have been stored 30 years in the same box and drawer, which has been inextricably linked to the part in my mind :)

    It may be obvious, but I keep parts in sorting boxes that match the size of the comoponents. I used to store very small things in large crates. Looking for the right parts took hours. I used to tip smaller containers into larger ones to use them for other parts. Failure to sort it out later resulted in the smallest parts ending in the largest containers, you know how it works ;)

    Tip: if you’ve got photography film storage sheets that go into ordners, folders etc you can use them for smd strips as well. I keep the entire E12 series of resistors in one ordner. Just glue or tape one end shut so they don’t fall out.

  11. Organizing takes time away from making :) To confuse your enemies still further, place boxes labeled “old socks”, but actually containing dead caps in the refrigerator, vacuum tubes in sock drawers, germanium transistors in salt shakers and silicon ones in the furnace ducts (they sound better there). If you are still married after that you definitely need to join the Marines.

      1. Where else are caps and tubes to be placed? Tubes are fragile and need to be wrapped in socks. Big filter Capacitors and Motor start/run capacitors are to bulky for tiny bins. Most are round and roll off shelf. Thus need for drawers. DRESSER is acronym for Dynamically Reorderable Electronics Storage System for Easy Retrieval. It’s the women folk that put clothes in there. Poor beautiful confused. Same thing with CLOSET.

  12. I would love something like this self-hosted, since i dont like to put a lot of work in a cloud service that may dissapears sometime.
    Partkeepr seems the only thin around, for me the ui of it is not really intuitive, it takes too much time to create new parts.

  13. This is sounding vaguely familiar – I recall an online discussion I had where I was trying to persuade people to use a system like this and also be geo-tagged. My goal was to be able to get that part I desperately needed to complete my project early on a Saturday evening by checking to see if anyone near me had it in stock. I could then contact them, pop over to their place, some sort of value exchange and complete the project.

    Most people’s objection was they didn’t want to catalog their big boxes full of junk, but I really was after stuff that DK or Mouser had available but I needed right now.

    I would join such a collective – sort of distributed hackerspace.

  14. Hi everyone — just noticed the spike in traffic and traced it down to this article. Thanks for all the kind words. In general, I do agree with most commenters that entering all your parts is a pain — but then, you only have to do it once. Afterwards removing and adding stock has been made as easy and quick as possible (I really try to make it painless!).

    Some people mentioned that cloud services tend to disappear, which is true. While I can’t guarantee anything, PartsBox is *not* a VC-funded startup that will flame out. It’s a tool that I wrote for myself, and one that I specifically designed to be low-cost and low-maintenance. I hope I will be able to turn it into a business, but even if not, it doesn’t cost a lot to keep it running.

    A lot more is coming to PartsBox soon, along with commercial plans for small shops that need this sort of tool. And yes, the hacker/maker version is something I intend to keep free.

  15. I need this sort of thing, professionally and at home.

    But i gave partsbox a try af year or so ago, and i really did not like it. So often I would hit a part that was not known and have to put in a lot of detail or find a similar part.

    Most of all, I just hated the fact that it was not open source, could not host it myself, and thus the investment of time was not a safe one.

    1. Well, I’m sure PartsBox isn’t for everyone. If you are looking for open source solutions, these already exist, and have different tradeoffs. As for safety, I am actually making sure that you can *always* export anything you entered into PartsBox. I emphasize this often, because it’s important, and it’s something I always consider whenever signing up for a new service. I will never hold your data hostage.

      –Jan (PartsBox founder)

      1. What is needed is a sync tool so we always have our own copy. Whats happened in the past with cloud services is they just disappear so you can’t export your data. Or some way to schedule an automated local export/backup.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s