Skip to content
"

"Smart" Small Parts Organizer

A small-parts organizer with 7 ARGB LEDs per tray, a 4.3'' TFT display, and web connectivity (not yet implemented).

Created on 21st February 2021

"

"Smart" Small Parts Organizer

A small-parts organizer with 7 ARGB LEDs per tray, a 4.3'' TFT display, and web connectivity (not yet implemented).

The problem "Smart" Small Parts Organizer solves

Do you have a small parts organizer? If you do, you know how much of a pain it is to know what you have, don't have, keep track of what's in what drawer, and do any reasonable amount of management in organization. The "Smart" Small Parts Organizer provides an integrated solution to all those problems: through a touchscreen console on top of the organizer, it's able to keep track of any parts you deposit, withdraw, or otherwise, and sync it with a SQL database where you can view its supposed contents from the web. With integrated LED instructions assisting the user in finding parts, knowing how many 470uF Electrolytic Capacitors you have is a breeze; in the click of a few buttons you can find out the name, quantity, user color, and project that these items belong to, without having to dig through cabinets to find it. At least this is what we aimed to accomplish.

Challenges we ran into

The biggest challenge that prevented us from completing more features was, of all things, a mechanical problem; some of the 3.5mm TRS connectors that we used to connect each cabinet to the backboard were defective. We had gotten them while the hardware mall was open on Friday afternoon, but weren't able to replenish them. We're actually primarily mechanical/electrical engineers, but we ended up still having to fix 7 of them, which took an absurd amount of time away from our first day, meaning we weren't entirely done with the hardware by the 16-hour mark. This delay caused almost all the issues that we faced in terms of time.

While I'm (Jefferson) not a beginner coder by any means, everyone else in my team was relatively beginner; another problem that we faced was the inability to coordinate our software efforts. The concensus was that I (Jefferson) would work on backend and hardware interfacing (like I typically do) and that everyone else would focus on frontend (we had decided on using Python and Qt5/6). While I finished everything I needed to do by the 36-hour mark, the frontend team had spent hours arguing, messing around, to program just a bare interface without any method connections. Due to this lack of communication, with most of us being beginner programmers, we had to make compromises and program in a rather odd way that allows beginners and more experienced programmers to understand it, and use mechanisms that weren't as effective. (see the LEDs' code (main.py line 180ish))

One more problem we faced towards the end of the hackathon was actually deploying it on the Raspberry Pi. For some reason my RPi 4 just could not install Qt6 or PySide6 at all no matter how we troubleshooted, or alternatively required a lengthy recompilation on the platform. As we only had a few more work hours, we were forced to move back to Python 3.7 and PyQt5, which meant more time wasted on compatibility fixes (yay!)

Discussion

Builders also viewed

See more projects on Devfolio