The Ramrod Tool Sorter is a machine that sorts and stores small tools for easy access and cataloging. Uses OpenCV and Open Hardware.

Similar projects worth following
The Ramrod Tool Sorter is a machine that should help make small tool storage and access much easier. Using OpenCV, an embedded computer, and a scanner, this machine will be able to store and recognize tools, as well as dispense them when needed. Eventually, Ramrod may offer support for barcodes and QR Codes as well as normal tools.

The very first part of the project involves use of a scanning device and/or a weight sensor to obtain an outline of the tool shape. The tool outline will be filled in, and the tool area will be used to calculate a rough estimate of the specific tool. Using the estimate and standard graph theory, Ramrod will attempt to identify the exact tool. The tool will be stored in a small case inside the machine, and the case will be emptied when needed on the top surface.

Tool withdrawal will occur through voice recognition and will support network access and use of the front panel screen as alternatives.

Ramrod will be using Open Hardware and OSS.

Prototype system design:

The specific scanning techniques that may be tested include:

  • Area-based
  • Fourier transform
  • Topographic
  • Canny edge detection
  • Hough transform
  • SIFT
  • SURF
  • Barcode-type scan

Libraries used:

For storage, the cases for tools will most likely come in 2 sizes, with one for small objects (e.g. sockets), and one for larger objects (e.g. pliers).

  • 8 × 3/4 inch Schedule 40 PVC corners
  • 6 × 3/4 inch Schedule 40 PVC tees
  • 3 × NEMA 17 size stepper motors
  • 3 × Universal Mounting Hubs
  • 3 × Big Easy Driver

View all 6 components

  • Prototype Build Update

    Blue Ice08/20/2014 at 04:10 0 comments

    Hello again!

    It's been a busy month so far, and I haven't had lots of time to work on Ramrod. Fortunately, I have made lots of progress either way, and it is documented in this update- but in a video form. Enjoy!

  • Building the Prototype

    Blue Ice07/19/2014 at 22:22 0 comments

    Hello again!

    All of the parts have shipped to my house, so it's time to get building the prototype. Mechanical work will come first, along with electrical work and lastly programming.

    As I go along, I will be adding more info to the BOM and build instructions for Ramrod. Also, I may be working on pushing things to the GitHub, but we'll see what actually happens. I hope to finish the construction soon, but I will be busy this next week and will not have much time to work on it. So here are some more pictures of the parts, and in the meantime I will be uploading more construction photos to the Flickr page!

  • Project Overview Video

    Blue Ice07/19/2014 at 06:30 0 comments

    Hello everyone!

    I just finished up the project description video for Ramrod. I know that the rules changed for the Hackaday Prize, but I thought that it would be a waste if I created the video and didn't share it with anyone!

    It really just goes over the basics of what I hope to see in the project, but if you are interested in hearing what my plans are for Ramrod, then this short video is for you.

    More updates coming very soon!

  • Renderings and Descriptions

    Blue Ice07/14/2014 at 06:18 0 comments

    Hello again!

    I've created some fantastic renderings (all on the Flickr album) of the prototype with Lagoa, a 3-D rendering service. Here's a peek:

    Unfortunately, FreeCAD hasn't been exporting STEP files very nicely lately, so you would be right in saying that you can see the mesh rendering (those are STLs). For a closer look at what I mean, see this:

    Anyway, I have made lots and lots of pretty renderings (some with layers stripped away) to explain what all of the different parts do. Hopefully you can get a better understanding of what is going on while the prototype gets built. Without further ado, I present Ramrod's prototype, explained!


    The frame is made of Schedule 40 3/4 in. PVC pipe. Why? PVC pipe is sturdy, very inexpensive, and great for building approximately sized structures. Most of all, it is simple to put together and modify- all that is needed is a little sawing and mallet-ing. As you can see in the far above image, the printer rests on top of the structure, and the interesting stuff sits down below.

    Part Insertion

    The final version of Ramrod should put the tool back on the in/out platter. This prototype will not do that, but it will retrieve the part from the scanner bed automagically. Simply enough, a NEMA 17 stepper will sweep the part off the scanner bed and into a chute. To protect the bed, a piece of 1/8 in. acrylic is laid over the glass to protect it- I still want to be able to use this scanner afterwards.

    Part Storage

    This prototype only has six storage spaces, which is definitely less than the final version. After all, this is but a demonstration, and a refined one at that. These storage spaces are cheap and cost-effective- they are ordinary cans from canned food. The principle is that the tool from the scanner bed will land in a can, which is attached to a rotating platform. The platform can spin (another stepper) to provide another empty can, lined up for a fresh tool to go into.

    Part Retrieval

    Wondering what the mysterious upper stepper motor with the spool on it is for? Attached to that spool are six lengths of fishing line that go around every can. Ordinarily, the spool has the lines spooled around it, keeping the cans taught and upright. The upper stepper rotates at the same speed as the lower one, and none of the cans spin downwards. But what happens when a part needs to be released?

    The upper stepper will not rotate in sync anymore, loosening the lines. This will cause all of the cans to tilt outwards, but only one can will spin in the MDF blocks and dump its contents. That can has no cardboard rack surrounding it (see the very topmost photo). All of the other cans will just rest on the rack until the line is respooled and they all become upright. The part will be unceremoniously dumped onto the table.

    That's it for the prototype. Pretty simple, but we'll see how it actually turns out! Anyway, in case you didn't understand, here are some more renderings (also on the Flickr album):

    I bet you are a bit tired of hearing about "rendering this, rendering that." Me too! I've started to order the parts for the prototype, and many parts are already here. I'll be posting the completed BOM soon, some build notes should get posted, and there should be a video with expectations for the final product coming as well.

    Thanks for staying tuned- there should be another update later this week!

  • Prototype CAD Completed

    Blue Ice07/12/2014 at 00:10 0 comments

    I am pleased to say that I have completed the CAD for the first (and only) prototype of Ramrod:

    The emphasis of this prototype is on software- although the software part of things will be similar between this prototype and the final version, the hardware should be quite different.

    I'm sorry about the delay in project updates, but as you can see by my commits on Ramrod's GitHub, I've been busy working hard for the past 2 weeks on getting everything for Ramrod's prototype together.

    For anyone interested, I have uploaded three 3-D files of this prototype to Ramrod's GitHub: p1-final.stl, p1-final.step, and p1-final.fcstd. (Careful, they're large!) The last file is the native file for my CAD editor, FreeCAD. This is where the real goodies are. If you open that file with FreeCAD, you can see all of the figures, cuts, and pockets that I've slaved away on!

    If you don't want to muck around with 3-D files, you're in luck; here are a couple better renderings that I did with POV-Ray:

    I'll be working on ordering parts, getting the BOM ready, and writing an explanation of how the prototype works, complete with fancier renderings. Another update should come in the next couple days!

  • Prototype Preparations

    Blue Ice06/27/2014 at 19:22 0 comments

    So far, a couple people have subscribed to my project, which is really cool. Thank you all for following my project updates- it's good to know that people are interested.

    I have recently been going through tutorials in OpenCV, as can be seen on Ramrod's Github, and I have also been planning the first prototype. One of the important parts of this project is that I need to make all of the separate pieces work together. This means that I must be able to test out the individual parts before I can work on the final product.

    For that reason, I have been working on coming up with a prototype to test out the software side of Ramrod. The actual mechanics of the prototype will be quite simple, consisting of only three stepper motors, assorted plastic and metal parts, cans, and a PVC frame, with the scanner on top. However, the value of the prototype will be that it will provide testing of Ramrod's software and that it will prove that Ramrod is a feasible project.

    After a couple iterations, I came up with a quick sketch of what the prototype will look like:

    Right now, I am measuring parts for the prototype, which will be low-cost due to my budget. I'm working on establishing a bill of materials and a CAD file, and I will get those out as soon as I can.

    Also, I just set up a Flickr album with ALL of Ramrod's pictures, not just the ones on the main project page. If you want, you can take a peek at all of the images on there- I just made it public.

View all 6 project logs

Enjoy this project?



RunnerPack wrote 07/24/2014 at 04:17 point
I love the concept of this project! It is definitely going in the ol' to-do list.

  Are you sure? yes | no

Blue Ice wrote 08/20/2014 at 04:14 point
Thanks! Hopefully you'll be able to make one once the project is finished!

  Are you sure? yes | no

Adam Fabio wrote 06/25/2014 at 06:07 point
Great project Blue Ice! Thanks for entering The Hackaday Prize! One question - once the tools are stored, how do you describe which tool you want to get it back? Voice recognition? Web interface?
Hope to see more updates on your Ramrod as you progress!

  Are you sure? yes | no

Blue Ice wrote 06/25/2014 at 18:47 point
Hi Adam! Thanks for asking about tool withdrawal- it seems that I didn't really explain this part at all. In the final version, the main option will be voice recognition, but Ramrod would also support some other interfaces, such as onscreen on the front panel or across a network. If the maker of this project decides to build Ramrod differently, the withdrawal option could also be modified if needed.

Mainly, I think that the project just needs something that is efficient to determine what tool is needed- scrolling through a list on a computer screen of which tool you want is too time-consuming if you just want a pair of pliers.

Thanks for asking about this, and if you have any other questions or comments, just drop another comment here!

  Are you sure? yes | no

Adam Fabio wrote 06/26/2014 at 06:35 point
Thanks for the quick update - The pile of tools on my workbench makes me think I need a ramrod in my life now!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates