Smart Storage - Howest MCT

by DanielVolosevich in Circuits > Raspberry Pi

6 Views, 0 Favorites, 0 Comments

Smart Storage - Howest MCT

20250619_140654.jpg

Do you ever forget what's in your storage bins, drawers, or containers until it’s too late? Smart Storage solves that problem by keeping track of how full each compartment is and showing it all in real time on a simple, easy to use dashboard.

This project is perfect for workshops, electronics enthusiasts or even small businesses that manage lots of small materials. Whether it’s tracking screws in a bin or little plastic bags, Smart Storage gives you insight at a glance.


Features:

  1. Monitors how full your storage is
  2. Displays this data on a website
  3. Can be operated with the numpad and display or the website

Supplies

Raspberry PI 5: used to control the hardware and host the website (96.42 EUR)

LCD display: displays information so you can operate the device without the website (5.99 EUR)

RFID scanner: used to authenticate when using the device (7.20 EUR)

Stepper motor: used to turn the wheel the boxes are on (7.99 EUR)

3 x Ultrasonic sensor: used to measure how full every box is (7.99 EUR)

Magnetic sensor: used to calibrate the wheel (4.99 EUR)

Breadboards: used to connect all the components (12.99 EUR)

A soldering iron and solder wire: to solder some components

Jumper wires: used to connect all the components (12.99 EUR)

Numpad: used when the user wants to input which box he wants to open (7.95 EUR)

Lasercut parts: used to build a housing for the device (15 EUR)

Level shifter: used to connect the ultrasonic sensors to the Raspberry PI (7.99 EUR)

PCF8574: used to connect the LCD display to the Raspberry PI through I2C (8.07 EUR)

Breadboard power supply: used to power the electronics (5.99 EUR)

As you can see, the total cost of this project is just under 200 EUR.

Setting Up the Database

SmartStorageERD.png

You can find a dump of the database in the repository. To explain the database schema, I've atached a picture of the ERD. Let's take a look at it.

We need a user table that keeps track of badgeID to make access control possible.

We also have an access log table to link boxes to users, this way we actually see when a box is opened or closed.

The box is just a location in the DB.

A measurements table to keep measurements.

And finally a components table to links the measurements to.

Import the database dump that you can find in data/SmartStorageDump.sql in my repository

Asembling the Electronics

20250615_171826.jpg

Connect all the components by following the provided breadboard and electrical diagrams. Make sure to use the level shifter when connecting the data pins of the ultrasonic sensors to the Raspberry PI. The Raspberry PI might not like receiving 5V pulses. Other than that, the assembly of the electronics should be pretty straight forward.

Lasercutting a Housing

20250615_172602.jpg
20250615_201218.jpg
20250617_191015.jpg
20250617_184227.jpg
20250617_190448.jpg

Lasercutting a housing is pretty easy. If you don't have a lasercutter, you can go search for the closest workshops that have one in your area.

You'll need to cut off 2cm from the top of the vertical walls of the wheel, otherwise the electronics won't fit.

You'll also need to make a hole in the center of the square part to fit the stepper motor through it. After doing this, you'll need to find some flexible material t wrap arounf the wheel. I used some sheets of plastic I found laying around. I then atached these sheets to the wheel with a glue gun.

Installing the Required Packages

Start by pulling the code from my repository to your Raspberry PI. After this, activate the venv by running this command:

source venv/bin/Activate

Run the following command to install the required packages:

pip install requirements.txt

To check if everything is right, you can try starting the backend by running this command:

python backend/app.py

If you don't see any errors, you've probably done everything right.

Putting the Electronics Into the Housing

20250618_150339.jpg

Putting the electronics into the housing isn't easy, they barely fit. I raised the platform that the stepper motor is attached to by 2cm to create some more space for the wires. The 3 breadboards i used fit pretty well and prevent themselves from moving around too much. I also used a glue gun to secure a lot of parts.

To glue the lasercut parts together I used wood glue.

Final Asembly

20250618_150327.jpg
20250619_140654 (1).jpg
20250618_150617.jpg
20250618_150656 (1).jpg

The hardest sensors to attach to the housing are definetly the ultrasonic sensors. As you can see, I used a glue gun to glue them to the top of the housing. They need to be looking down on the wheel to measure how full the boxes are.

I also use a glue gun to attach the rfid reader to the outside of the housing.

I also attached a magnet to the inside of the wheel, otherwise the wheel wouldn't know where to start.