Final Project Journal

''Eshtry m3ak wenta rage3''

Automatic Inventory Re-ordering System!

Project Ideation

1- Tell us about the idea of your project. Why do you care about this? What were you inspired by? Include images and videos of similar projects

Have YOU ever experienced the feeling of getting back to home, dreaming of a warm meal or your favorite snack, but... guess what? You open the refrigerator and it's empty 🤦‍♂️

Now you are whispering to yourself "If only I had remembered".... Well, No Worries! This device is here for your next scrumptious meal!

I'm thrilled to introduce you to .....'Drums beats' 🥁🥁 ...

''Eshtry m3ak wenta rage3'' Automatic Inventory Re-ordering System!



It's your personal assistance that guarantees you don't run out of stock of food, spare parts, and any other things you care about! It will remind You, the user, to buy and replenish your stock of given monitored item(s).

As a supply chain professional, I'm inspired by the concept of 'Reorder Point Planning' for inventory replenishment which is universal concept and can be applicable to any situation from a typical workshop to your grocery stock at home!


To know more about similar project idea, please visit this link and this paper.

Project Construction

2- Explain the CAD process of your project. How did you use the software to design your project? (List the softwares/tools/materials...etc that you used)

First, I started with pen and paper to illustrate the design concept of components enclosure, monitored items container, and how is load cell is being attached and fixed with the enclosure.

Second, I decided the dimensions of every part; thus, device can do its function properly with the best possible user experience.


I found that the cardboard box that I used for Weeks 5 and 7 assignments has suitable dimensions, so I used them as a preliminary guide for my design process.

Regarding tools, I used the following:

-Fusion 360 software.

-Paper and Pen for design conception/drafting.

-Cardboard for components layout demo before starting with drawing with dimensions.


I started to sketch parts in Fusion 360 as shown in the following photos. I used a combination of 'tabs' and 'tee slots with screws and nuts' for joining parts together.

Afterwards, I started to extrude the drawn sketches with 3 mm. thickness and started to assemble all parts.

Then, I imported CAD designs from GRABCAD website, and projected them (Arduino and LCD , switches, 5V adaptor connector and LED mounting) on the faces they are attached to; thus, fixation holes can be located precisely (with minor fabrication tolerance being added).

After completing assembly in Fusion 360, I inserted bolts and nuts for enclosure assembly using McMASTER-CARR add-in.

Final assembly for the enclosure is shown in Final Project Showcase section.

3- Explain the fabrication process of your project. How did you use the machine to fabricate your project? (List the softwares/tools/materials...etc that you used)

List of software/tools/materials used in fabrication:

-RD WORKS software

-Laser Cutter

-Ply Wood sheets (3 mm. thickness)-

- Set of screws and nuts (M3) for enclosure assembly - Two M4 and Two M5 screws with relevant nuts for load cell fixation to the enclosure.


I exported the design faces to DXF format files using the 'Save DXF for Laser Cutting' plugin.

Afterwards, I imported the DXF files to RD Works, and set cutting and engraving parameters.

Top and Front faces

Here, I reworked the 'front' face to get the right writing orientation.

Back-Bottom-Two sides-Load Cell attaches

Here, I have to rework the 'top' face to get more engraving to put the keypad - Right side (the old one broke during assembly) - Tray (items container) parts

I saved all the prepared DXF files in an .rd format in a flash disc, and turned to the Laser cutter to perform cutting processes with time preview and work progress shown in photos below. (I took a screen shots from fabrication videos as Google Drive is running out of space)

Project Electronics & Power Management

4- Describe your electronic circuit. What are the input and action components? What is the function of each? How do the components integrate together to form your smart system? (List the softwares/tools/components...etc that you used)

Before commencing on circuit function (input/output) explanation, components list is shown below:

1- Load Cell (5 kgs max. capacity).

2-HX711 (amplifier)

3- LCD 16x2 with I2C module.

4- Arduino UNO

5- Keypad (3x4)

6- Bluetooth module (HC-05)

7-Buzzer

8- 9V Adaptor

9- LEDs (three: green - yellow - red)

10- ON/OFF switch

11-Rocker switch (three terminals) as a slide switch

12- Push button switch

13- Power adaptor connector

14- 3x 220 ohm resistors

15- 1x 1000 ohm resistor

16- 1x 500 ohm resistor

17- Set of different wires (male-male / male-female / female-female)


The Code was written with Arduino C language and Arduino IDE was the software used.

Basically, it's a device that counts number of items present in its container by 'weight sensing using load cell wired to an amplifier. According to a 'pre-set' condition of items count in the code (Reorder level), an action is triggered (Buzzer and/or LED). User can input single item weight via Bluetooth (TX channel) and total weight and items count are displayed on an LCD. Besides, items count and a specific message upon inventory level are shown in serial monitor or RX channel in Bluetooth terminal app. There is a 'Taring' push button for scale taring (zero weight value).

A typical complete circuit wiring is shown below:



5- What is your power source? How did you select the suitable power source for your project? (List the softwares/tools/components...etc that you used)

Firstly, I was planning to use 5V adaptor as components don't need more than this. I connected the power source +Ve terminal to the (Vin) pin, and the 5V Arduino pin to the +Ve common rail in the breadboard. The LCD was very faint despite I tried to manipulate the potentiometer in the I2C module.

Instead, I used 9V adaptor due to the wiring setup I followed in the circuit. The circuit worked properly using the 9V adaptor and given the wiring shown above. If 5V adaptor was used, adaptor should be connected to Arduino power pin directly rather that (Vin) pin that regulates the 5V to a smaller voltage value , and the 5V Arduino pin would be connected to the circuit common +Ve rail (breadboard). A slight modification shall be added to the engraved (5V) on the enclosure, it's okay!😅

Project Programming

6- Describe the code of your project. How did you program each function of the project?

I broke code functions in the flow chart shown. It's based on three if conditions that turn set of LEDs and a single buzzer upon number of the present items in the tray of the device. User can insert single item weight via BT and this value is saved in the EEPROM function. Code calculates the number of items by dividing the total weight on single item weight (19.8 gm in this code - can be modified as desired) The result value (C) is compared to certain percentage intervals of the pre-set 'Reorder level' ( 6 Pcs in this code).

Project Integration & Testing

7- Demonstrate with text and visuals how did you integrate the project’s modules together? What are the testing results? (Include a Demo video separately, showing a proof of functionality)

First, I connected the load cell and the HX711 amplifier module with Arduino to calibrate and troubleshoot the sensor. I brought some small pieces of chocolate candies of known weight (each one weighs almost 19.8 gm). Calibration process shown in the video below. Weight value was displayed on serial monitor just to confirm that load cell is working properly before wiring with other components i.e. LCD.

Besides, I tested the load cell again after integrating all components in the enclosure using this code to check its readings Vs a known weight item as shown in the second video below.

Load Cell calibration.mp4
Project Load Cell Testing.mp4

Here are the assembly of the wooden enclosure and mounting of components:

I used the Vernier caliper and ruler to figure out the dimensions of the switches and LEDs mounting taking into consideration 0.2 mm. clearance. I didn't use projection method with switches as their dimensions vary frequently from vendor to another.

I used M5 and M4 screws to fix the load cell to the enclosure top. Besides, I fabricated some inserts of plywood that act like mounting for the load cell and the items tray. The M5 side plywood inserts provide a 'rigid' fixation for the loadcell; thus, only deflection caused by load (items) can be detected and not transferred to the enclosure top as it has less rigidity compared to Aluminum (load cell). Frankly, when I was assembling and troubleshooting the load cell, I found that the M5 side wooden inserts are very close to the glued strain gauges, and they were acting some force on them causing weight data deviation, so I didn't use them in the final assembly. Thankfully, enclosure top bears rigidly against load cell deflection and load are detected efficiently with out transfer to the enclosure structure.

Sharing & Collaboration

8- Did you ask for feedback? What are the ideas that others have contributed or suggested? What was someone else’s idea that you built upon? How did you help your peers? How did your peers help you?

It has been a fruitful journey, from Ideation to implementation! For my project, it started form the conception, when the instructor, Sherif, advised to use a 'load cell' as a tool to detect items count rather than ultrasonic sensor and/or IR sensor as the latter two are not quite accurate. In addition, I had to redesign the scenario that user will interact with the device using BT to insert input instead of the 3x4 keypad due to some technical issues. For my colleagues projects, there were a lot of fun and typical 'Eureka' moments when my suggestions/troubleshooting procedures work well with their projects; it's amazing! I almost helped my peers in getting things done in Fusion 360 and Laser cutting . For coding, I tried to help, but I wasn't that 'nerd' guy; however, I helped as I could.

Overcoming Challenges

9- When you got stuck, what/who did you turn to? At what point did you have to pause to research or learn more before moving on? What are some mistakes, pitfalls, or challenges that others can avoid if they were doing this project?

I had an informative Zoom call with one of my peers, Mohamed Tarek, he is really helpful and brilliant guy. We learnt how EEPROM function works and how to integrate it in the code. As the keypad didn't work properly, I had to rethink about alternative way user can use to insert input. I came with the idea that user can send input (item weight) using BT communication. The point was how to assign to assign the incoming data from Bluetooth (typically sent in Char or string form) to an integer variable in the code. We worked together on this point, and with his help, it worked!

Future Work

10- If you had more time, what is one thing you would change/ Do next in your project?

Well, I'm thinking about, first, to integrate the keypad and slide mode switch for multi input insertion. For user convenience, user can insert single item's weight via keypad attached to the device instead of Bluetooth. In addition, Reorder level value can be inserted using keypad also rather than modifying it throughout code lines. Moreover, and for nice-to-have features, user can switch between two modes using a slide switch.

Mode One (Set up Mode) >> Determining single item weight and the count of items, upon it, an action is triggered (Buzzer and/or LED) - Input via 3x4 keypad and displayed on an LCD. Set up mode is secured by a password.


Mode Two (Inventory Monitoring Mode) >> The device calculates the number of present items (c) by dividing the total weight (i - from load cell) by the single item weigh (user input) and compare it to the reorder level (user input). Actions are determined according to the value (c) and how much it is compared to the reorder level.

In addition, sending notifications using Wi-Fi / SMS will be a great advantage for distant users; it's more practical.

Final Project Design Files