As electronic hobbyists who occasionally love soldering PCBs, we're confronted with a multitude of bags containing tiny seemingly identical electronic components such as surface mount resistors or capacitors. We normally store the hundreds of bags in a box, and to find a specific component we'd sift through the box until we find the piece, a process which usually takes up to 10 minutes. With Carousel, we're able to efficiently store the bags with the components in a system that allows for extremely quick component retrieval!

What it does

Using the web application on a phone or computer, scan/upload the barcode of the bag which is used to identify the official part number, manufacturer, and description of the component. The carousel disc spins such that an empty slot is presented in front of you, with a bright red LED to guide you in the right direction. Clip the bag to the binder clip at that slot, and let it hang!

To retrieve a component, use the application UI to search for a component in the carousel. The carousel will spin until that bag slot is at the front, and an LED will light up indicating which binder clip contains the bag. Remove the bag, but keep the binder clip in the slot.

How we built it

We use the ZBar bar code reader library to decode barcodes from the bag, and with our custom written parsers we're able to identify the part store (Arrow, Digikey, Mouser, etc), the part number, the part manufacturer, and the part description.

This is information is displayed in a web application built with nodejs, and when the user selects to continue, the carousel spins to an empty slot, lights up an LED to indicate the slot, and stores the information of the part along with the position of the part in a MongoDB database.

We use a Dynamixel servo to spin the disc, and control it with ROS.

The LEDs are controlled with an Arduino reading serial input from the web application.

The body and disc of the device is laser cut out of MDF plywood, and the Dynamixel mount to the disc was 3D printed.

Challenges we ran into

We didn't have a Dynamixel cable, so we begged a friend to go to a lab thirty minutes away to get one, only to find out later in the evening that we had one attached to the Dynamixel power supply cable, which for some reason didn't work so we had to find a new power supply. And then the USB to dynamixel cable wasn't long enough so we soldered our own USB extender.

What's next for Carousel

Larger component capacity, more dynamic look, improved UI with advanced searching, improved barcode scanning and parsing, universal disc for not-just-electronic-component-bags, etc.

Built With

Share this project: