We wanted to create an innovative way to organize and store items specifically for people with limited mobility, such as the elderly. We also wanted it to be compact, able to be stored in a closet, and controllable via an iPad or Google Assistant. None of us had experience in website development and took it as a challenge to make a user friendly web interface.

What it does

Magic Shelves is an inventory system that allows potentially impaired persons to store items. It moves the shelf to the user in order to make all stored items easily accessible. This system allows the user to make full use of previously inaccessible space. The accompanying website and database make it easy for a user to store, manage, and retrieve items on the shelves without needing to physically reach for anything.

How we built it

Bicycle chains were the first choice in getting the shelves to move. However, there were multiple iterations of the interface between the basket and the chains; "A" arms were designed and chosen to stop any clearance issues with any of the other components. Sprockets were also designed for the chain to run on, with a small motor driving the system. While most of the parts and supporting structure were constructed from wood, the gears, bearing sleeves and other small parts were 3D printed in PLA. The website was written using HTML and CSS that interacted with JavaScript code. This website was written to interact with a firestore database configured to keep track of what items where on which shelves. The final product was a website that allowed the user to add new items, retrieve previously stored items, and generally see what was on each shelf. A separate python script was written to tell the ESP32 what shelf to present based on user input and to enable Google Assistant functionality.

Challenges we ran into

Initially, finding bike chains in stores. Walmart was the only place that had bike chains for some reason? So we bought 4. Also, fitting a bunch of wood from Home Depot into a rather small car. As for our device itself, one of the first issues was how the "A" arms were going to connect to the chain - we slotted rods through the chain which the arms would hold from. The arms also needed to articulate when going around the sprocket, and we needed to reduce the space between the arm legs, both due to clearance issues with the chain. These were some of the notable challenges we faced with our design; we also overcame several difficulties with manufacturing/assembly - tolerances, parts not being strong enough, etc.

Accomplishments that we're proud of

We are proud that the software and hardware were integrated very well, and that we were able to control when a shelf would be accessible to a user using only the website and the firebase database. This was our first time attempting web development using html5 / CSS and using a database to actively manage items. We are also proud of the python script that was written to send information from the database to the ESP32 and to manage the integrated Google Assistant support. We are also very proud of pushing the 3D printer to work 3x faster than normal (with surprisingly un-janky results). Our project was ambitious in scope, but we managed to build our product and get it to work.

What we learned

On the software side, we learned a surprising amount about website creation and styling. Writing code to enable functionality was no easy feat, but making everything look presentable was easily the most time consuming part of the website creation process. Determining how things should look and then how to make that happen took quite a bit of research and quite a bit more trial and error. By the end though, we had it down to a science!

Built With

Share this project: