Description as a Tweet:

This project guides people to find shelved items. You indicate the parts you are trying to find through the website and LEDs will light up, illuminating the containers that the parts are in. Guiding you to the right parts in very little time.

Inspiration:

As hardware hackers and UMass students, we’ve all had the experience of staring at a gigantic wall of parts, lined with shelves, frantically scanning for the one component that we actually need amongst the sea of shelves. We wanted something that would help solve that problem. In addition, as some of our team members are tasked with helping to maintain parts walls, we also wanted something that would be easy to implement and use.

What it does:

This project guides people to find shelved items. After indicating the parts you are trying to find through the website, LEDs will light up the containers that the parts are in. Guiding you to the right parts in very little time. This aims to reduce headaches and lost time caused by being unable to find specific parts.

How we built it:

We started by laying out what we had wanted the project to look like, different features, constraints, etc. We followed this with a smaller prototype, utilizing 12 LEDs hooked up in a similar fashion to the real thing. We used this to test both our wiring set up and the code that we had at the time. Throughout the earlier stages of the project, we were coming up with names for the project, writing down whatever came to mind while we were working on specific aspects of the project. After proving that our wiring setup worked, we started on the main chunk of the build.
Hardware took a back seat for a second, as all hands were on deck to get the software side working. The engine of productivity (fueled by willpower, determination, and a frankly unhealthy dose of energy drinks) was pushing our project forward, hour by hour. Tears we almost shed as we entered into integration hell. Exhaustion makes theater kids of us all it seems.
Concurrent to the later stages of software, we worked on completing the hardware aspect. This included creating an expanded LED board with 20 LEDs and making a test bed, with a breadboard, that would be compatible with the expanded board. After showing that the software parts would interact well with the hardware, we moved to a more permanent circuit solution. We soldered all the LED parts and re wired everything up.
Throughout the hours spent, everyone put their all into the project. Together we all learned new things, from learning to use FLASK, increasing knowledge around Javascript, to learning more about ICs and I2C protocols. In the end, we ended up with a semi-finished product, with as much stuff as we could pull off within 36 hrs.

Technologies we used:

  • HTML/CSS
  • Javascript
  • C/C++/C#
  • Python
  • Flask
  • Arduino
  • Other Hardware

Challenges we ran into:

An immediate issue was parts availability. Some of our preferred components were not readily available and we had to find alternatives, or in the case of our preferred I2C connectors, accept that our prototype would simply be less robust in certain ways (that ultimately are acceptable for a hackathon prototype). In addition, the prototype wouldn’t have as much capability as we had hoped due to the use of alternatives.
A longer term issue was time management. With this competition being 36 hrs straight, juggling eating, sleeping, and getting work done can be challenging. Each day we made sure to check up on each other, both to see each other's progress and to make sure we were all taking care of ourselves (not pushing too hard for too long). We made sure that everyone was taking breaks away from the workspace, getting up and doing laps around the ILC.
On a more technical note, another challenge that we faced during our build process is getting all of the different pieces to talk to each other. Getting our website to interact with the database and the arduino, the “Terrible Trifecta” if you will, was one of the hardest parts of the build process. Each of these pieces was coded in different languages by people of varying skill levels in said languages; from learning as you’re coding to being very comfortable with the languages. In the end, it all worked out.
Throughout this experience, we took on many challenges and made mistakes. Through these challenges we were able to learn more and expand our skillset. In addition, we created a cool system that can be used in a variety of different environments. All-in-all, we persevered through the toughest of challenges, and made it out all the better for it.

Accomplishments we're proud of:

We are proud of getting through the Hackathon with a completed project, showcasing our original idea (with a few tweaks). In addition, we are proud of everything we learned along the way.

What we've learned:

We learned the importance of time management in a shorter term project. While we won't be doing 36 hour projects too often, this skill is highly transferable, being helpful almost any time we embark on a project. In addition, we learned some more technical skills; like utilization of Flask, using JSON files to create a database, what I2C protocols are/how to use them, and how to use 595 shift registers. By expanding our skillsets, we become more flexible with designs and problem-solving. This allows us to have a wider range of possible solutions to more efficiently solve future problems.

What's next:

Our current I2C interface does not readily support many devices connected over longer distances of several meters. In the context of a parts wall with many shelves (each with their own controller), this is obviously unacceptable. There are several systems that can be used to solve this problem and let us connect more modules. We also want to make the modules more error proof, specifically to guarantee that it is always safe to connect or disconnect shelves. Another feature that we would want to implement in the future is the ability for drawers to be reassigned when it is physically moved to a different location on the shelf. This would allow for great error-proofing, as well, it would increase the ease of use and maintenance of the system.

Built with:

Arduinos, LEDs, Parts Shelves, 74595 shift registers, Cardboard, Black Paper, (Hope, sweat, and tears), Breadboards

Prizes we're going for:

  • Best Software Hack
  • Best Web Hack
  • Best Hardware Hack
  • Best Beginner Software Hack
  • Best Beginner Hardware
  • Best Hardware Hack

Prizes Won

2nd Place
Best Hardware Hack

Team Members

John Boesen
Jonah Yolles-Murphy
Andrew Stadnicki
Joshua Barrett

Table Number

Table 38 (TBL)