Spice Box That Helps You Cook Faster

by Aarav G in Circuits > Arduino

6063 Views, 33 Favorites, 0 Comments

Spice Box That Helps You Cook Faster

Smart Spice Box That Helps You Cook Faster (Indian Edition)
IMG_1736.jpeg
IMG_1725.jpeg
IMG_1708.jpeg
IMG_1769.jpeg
IMG_1777.jpeg
IMG_1726.jpeg
IMG_1721.jpeg
IMG_1722.jpeg
IMG_1723.jpeg

Indian dishes are renowned for their rich and complex flavors, achieved through the use of a myriad of spices. Have you ever struggled to replicate the delicious Indian dishes your mom makes, simply because the recipes call for so many spices that are difficult to remember? If so, we have the perfect solution for you: a smart spice box that simplifies the cooking process by telling you exactly which spices to use for each dish. Now, you can recreate your mom's recipes with ease and confidence.

Our innovative spice box is designed to make cooking traditional Indian dishes straightforward and enjoyable. Utilizing Autodesk Fusion software, we crafted each spice box part to ensure functionality and durability. The design includes individual compartments for different spices, and a control panel housing all the electronics.

To further enhance the user experience, our spice box features RGB LEDs that light up to indicate which spices are needed for a particular recipe. This intelligent lighting system ensures that you use the right spices in the correct amounts, as long as you’ve initially placed them in the correct compartments. The green light system is intuitive and easy to follow, taking the guesswork out of cooking.

The spice box also comes with a lid that keeps your spices clean and free from dust. This means you only need to open the lid when adding spices to your dish, maintaining both cleanliness and convenience.

Central to the functionality of our spice box is a sophisticated control panel that houses all the necessary electronics. The panel includes an Arduino microcontroller connected to the LED strips, making the system both efficient and reliable. Four buttons on the control panel allow you to store and access up to 999 different recipes, making it an incredibly versatile tool for any home cook.

In summary, our smart spice box is an elegant and practical solution for anyone looking to master the art of Indian cooking. With its user-friendly design, advanced lighting system, and comprehensive recipe storage, you can recreate your mom's beloved dishes with ease and precision. Say goodbye to the confusion of managing multiple spices and hello to delicious, home-cooked meals every time.

This project was created by Riddhi Gupta and Aarav Garg, students at Purdue University.

Story + Problem

Modern Brown Indian Spices and Food Vlog YouTube Thumbnail.png

1.1 The Vital Role of Spices in Indian Cuisine

Spices are the heart and soul of Indian cuisine, essential for creating the taste, aroma, and flavor that define authentic Indian dishes. Initially, spices were used to retain the freshness of cooked food and as preservatives. Over time, they became integral to adding taste and flavor. It’s hard to imagine a day in an Indian household without the use of spices.

The Crucial Role of Indian Spices in Every Dish:

  1. Health Benefits - Spices do more than tantalize taste buds and satisfy hunger; they offer numerous health benefits. For instance, ginger and turmeric are renowned for their powerful anti-inflammatory and antioxidant properties, aiding in the fight against cancer and heart diseases. Almost every spice has medicinal properties that contribute to overall health and wellness.
  2. Preservation - Spices have historically been used as preservatives. They stabilize food from microbial deterioration and maintain freshness and aroma due to their antioxidant properties. Although spices were primarily used for flavoring and coloring, they have always played a crucial role in food preservation, ensuring the longevity and safety of our meals.
  3. Taste and Flavor - Spices can transform a meal by adding a spectrum of flavors, from subtle sweetness to intense heat. They impart a beautiful aroma that often determines our desire to eat a dish. The right combination of taste and flavor can elevate a dish from good to extraordinary.

Food is universally loved, especially when it is enriched with exotic spices and aromatic flavors. Spices are integral to our lives, promoting wellness and meeting dietary needs. They allow every Indian household to serve rich, flavorful dishes to their loved ones.

1.2 Common Challenges Beginners Face with Spices

Indian cuisine is known for its complexity, involving around 40 different spices, with about 24 commonly used in various dishes, and 6 essential ones. For beginners, managing these spices can be a daunting task. Each dish requires a specific blend of spices, and getting the wrong combination can ruin the taste entirely. This often leads to wasted time and money as beginners struggle to replicate their mom's delicious handmade food.

Our smart spice box is designed to address these challenges. It removes the guesswork from spice management, allowing beginners to focus on perfecting their cooking skills. With this tool, you can confidently recreate your mom's recipes and enjoy delicious, authentic Indian dishes from the very beginning.

Features

IMG_1780.jpeg
IMG_1786.jpeg

Our innovative spice box is designed to address the challenges that beginners face in spice management, enabling them to create delicious homemade meals effortlessly, no matter where they are. With our smart spice box, you can ensure a seamless cooking experience thanks to its variety of features:

2.1 Advanced Lighting System

The spice box is equipped with LED lights along its edges, which illuminate in green to indicate the specific spices required for your selected recipe. This intuitive light system ensures you always know which spices to use, eliminating guesswork and making the cooking process smoother.

2.2 Intuitive Button System

Our spice box features a user-friendly button system with four buttons. Three of these buttons allow you to input the recipe number, while the fourth button functions as an "okay" button to confirm your selection. Once a recipe number is entered, the corresponding LED lights illuminate, guiding you to the correct spices needed for the dish. This system simplifies spice selection, making it easy for even novice cooks to follow complex recipes.

2.3 Fixed Hexagonal Design

Unlike traditional spice boxes that contain unattached circular bowls which can be placed in any order, leading to potential mix-ups and a disrupted muscle memory, our spice box features a fixed hexagonal shape with six compartments. This design allows you to consistently place your essential spices in the same spot every time. Over time, your muscle memory will help you quickly and accurately select the right spices, enhancing both convenience and efficiency.

2.4 Lid and LED Combination

Traditional spice boxes require you to keep the lid open to see all the spices, which can be cumbersome and unhygienic. Our spice box, however, uses its LED lights to indicate the required spices without needing to keep the lid open. You can see all the spices you need at a glance, add them to your dish, and then close the lid, ensuring both cleanliness and convenience.

2.5 Optimal Size

Our spice box is larger than most traditional spice boxes, reducing the frequency of refilling. While many spice boxes have numerous small compartments that need constant refilling, our design focuses on the six essential spices, providing ample space to store larger quantities. This means less frequent refilling and more time enjoying the cooking process.

2.6 Smart and Unique Look

Most spice boxes are circular, which often wastes space and gives a dated appearance. Our hexagonal spice box is not only modern and aesthetically pleasing, but it also maximizes space efficiency. The hexagonal shape ensures no wasted space, allowing you to store a significant amount of spices in a compact, stylish container that stands out in any kitchen environment.

Design the Box in Autodesk Fusion

1.png
Spice Box.png
3.png
4.png
5.png
6.png
7.png
8.png

To design the CAD model for the spice box, follow these detailed steps:

3.1 Creating the Main Model

  1. Start by sketching a regular hexagon with each side measuring 100mm.
  2. Extrude the hexagonal sketch to a height of 70 mm to form the 3D model of the spice box.
  3. Select the top face of the hexagon and apply a shell operation, maintaining an inside thickness of 16 mm. This creates ample space within the walls to house the LED lights.
  4. After shelling, select the new top face created by the shell operation. Perform a thin extrusion on this face, extending it to a height of 10 mm and keeping the wall thickness at 2 mm. This forms a thin-walled upper section for the spice box.
  5. On the base of the hexagon, sketch three long intersecting lines by connecting opposite corners of the hexagon. This will divide the hexagon into six equal sections.
  6. Extrude these lines to a height of 62 mm, creating internal dividers within the spice box for each of the spices.
  7. Choose any side of the hexagon and sketch a two-point rectangle on it. Place the first point at the top corner of the side and the second point along the opposite edge of the face.
  8. Edit the rectangle to have a breadth of 10 mm, with the length equal to the side length of the hexagon (100 mm).
  9. Extrude this rectangle inward by -2 mm, removing a portion of the outer wall. This gap will be used for wiring the control panel.

3.2 Preparing for Control Panel Attachment

  1. On the face with the wiring gap, sketch a circle with a 3 mm diameter near one of the corners. Place the center of the circle 6 mm from both adjacent edges.
  2. Using the rectangular pattern feature, create two holes horizontally spaced 88 mm apart and two holes vertically spaced 54 mm apart. This creates a total of four screw holes.
  3. Extrude these circles inward by -12 mm to create recesses for the screws.

With these steps completed, your CAD model for the spice box is ready!

Design the Control Panel in Autodesk Fusion

9.png
10.png
11.png
12.png
13.png
14.png
15.png
16.png
17.png
18.png
19.png
20.png
21.png
22.png
23.png

To design the control panel, follow these steps:

4.1 Designing the Base Structure

  1. Begin by sketching a rectangle with dimensions 100 mm by 80 mm. Extrude this sketch by 60 mm to form the 3D model of the control panel.
  2. Apply a shell operation to the front face, maintaining a wall thickness of 2 mm to create a hollow structure for housing electronic components.
  3. On the back face, sketch a rectangle identical to the one used for the wiring gap in the spice box (refer to points 7-9 in section 4.1). Extrude this rectangle inward to create a passage for wires to connect the Arduino to the spice box.
  4. Add screw holes following the same measurements as those for the spice box (refer to section 4.2) but extrude the holes only to a distance of -2 mm this time.
  5. The upper part of the back face will now be 2 mm shorter due to the previous extrusion, so extrude it again by 2 mm to make the back face consistent and even.
  6. Sketch four 6 mm by 6 mm squares on the corners of the front face. Extrude these squares by 60 mm to elongate them to the same height as the control panel, creating protrusions for fitting in screws.
  7. On the newly created corners of the front face, sketch circles with a diameter of 3 mm, each 4 mm from the adjacent edges.
  8. Using the rectangular pattern feature, create two holes in each direction, spaced 92 mm horizontally and 72 mm vertically, to accommodate screws. Extrude these circles inward by -12 mm to create recesses for the screws.
  9. At the base, select the inner face of one protrusion and extrude it until it meets the inner face of the opposite protrusion. This ensures a thick but even base.

4.2 Modifying for the electronics

  1. Download an Arduino CAD model from the internet for precision (available from the official Arduino website).
  2. Align the Arduino model within the control panel.
  3. Sketch two squares around the Arduino ports, allowing extra space for printing tolerance.
  4. Extrude these squares inward by -2 mm to create openings for the Arduino ports.

4.3 Adding Buttons

  1. On the top face of the control panel, sketch a circle with a 12 mm diameter.
  2. Position it 30 mm from the top edge and 16 mm from the side edge, ensuring it is horizontally centered.
  3. Using the rectangular pattern feature, create a series of four holes, spaced 68 mm apart horizontally.
  4. Chamfer the edges of each circle by 1 mm to facilitate the snap-fit of the buttons.

4.4 Creating the Lid

  1. Extrude the front face by 2 mm, saving it as a new body to create the lid.
  2. For both the longer and shorter portions of the front face, extrude the inner face of one side to meet the inner face of the opposite side. This creates a complete lid for the control panel.

By following these steps, your control panel is now ready to house and operate the Arduino for your smart spice box.

Design the Lids in Autodesk Fusion

24.png
25.png
26.png
27.png
28.png
29.png
30.png
31.png
32.png
33.png
34.png
35.png

5.1 Creating the Spice Box Lid

To design the lid for the spice box, follow these steps:

  1. Begin by sketching a hexagon with each side measuring 80 mm.
  2. Construct a plane parallel to its plane, positioned 10 mm above it.
  3. On the parallel plane, construct another hexagon with the same center but with a side length of 25 mm.
  4. Utilize the 'loft' feature to join the two planes, creating a smooth transition between the hexagons.
  5. On the top plane, sketch two circles at a distance of 15 mm each from the center of the hexagon, each with a diameter of 3 mm.
  6. Create a sketch on a vertical plane perpendicular to the plane of the two circles.
  7. Construct an arc with the centers of the two circles as endpoints.
  8. Use the sweep feature, choosing one of the circles as the profile and the arc as the path, to create the handle for the lid.

5.2 Creating the LED Lights Lid

For the lid housing the LED lights, a snap-fit design will be implemented:

  1. Sketch a hexagon with each side measuring 100 mm.
  2. Thin extrude it to a distance of 2 mm with a wall thickness of 16 mm.
  3. On the bottom face of the hexagon, positioned 25 mm from one of the side edges, sketch a rectangle with a length of 50 mm and a breadth of 1 mm.
  4. Ensure that the rectangle is at a distance of 2 mm from the outer edge of the side where it is created.
  5. Extrude this rectangle to a height of 3 mm.
  6. Chamfer the four edges of the extruded rectangle to 0.3 mm to facilitate the snap-fit mechanism.
  7. Utilize the pattern feature, selecting the rectangular protrusion as the feature.
  8. Set the quantity to 6, orientation to path direction, distribution to spacing, and path distance to 100 mm to ensure identical protrusions are created on the other sides of the hexagon.

By following these steps, you'll have created lids for both the spice box and the LED lights, each designed to securely cover and protect their respective components.

Completed CAD Design

Creating the CAD model of the spice box was an incredibly enjoyable and rewarding experience, making it our favorite project to date. From the start, we had a strong inclination to design a hexagonal shape, and this gut feeling turned out to be a fantastic idea. Unlike the typical circular spice boxes, our hexagonal design stood out visually and addressed the shortcomings of existing designs. The modern, unique shape not only maximized the use of space but also made it easier to identify and access the right spices. As we progressed, we found that the hexagonal shape also simplified the connection of the control panel to the spice box.

The design process itself was an amazing journey where we learned numerous useful features of Autodesk Fusion. For example, the thin extrude feature was a game-changer for us. We had never encountered such a feature in other CAD software we had used, and it made the design process much more straightforward and exciting. This project was also significant because it was the first major one we tackled without relying on YouTube tutorials. Every idea we implemented was original, transforming our vision of the spice box into reality. Additionally, importing an Arduino model from the internet was a revelation, showing us new possibilities for future projects. In the past, we had manually created models like solar panels and LED lights, which, although educational, were time-consuming. We realized that importing pre-made models could save significant time.

One challenge we faced was replicating features from one body to another, such as ensuring that the control panel had holes that matched those on the spice box for the screws to fit properly. Initially, we struggled to figure this out and resorted to using the same measurements on both models, which worked but was not the most efficient method. Later, we realized that aligning the parts and creating the holes through the control panel into the spice box would have been a simpler solution.

This project also marked our first experience with assembling different files into one cohesive model. Previously, we had designed a bottle with two components within the same file, but this time, we worked with multiple files that needed to be assembled to see the final product. This added a layer of complexity and fun to the project.

Overall, this spice box project stands out as our favorite because we were passionate about the idea, and seeing our vision come to life was immensely satisfying and enjoyable.

Gather the Required Material

IMG_1339.jpeg

These are the components, tools, and software you will require for this project:

7.1 Components Required

7.2 Tools (Optional)

7.3 Software

We always prefer www.iamrapid.com for all of our 3D printing needs.

Gather all the required material and move on further to the next step!

Schematic and Circuit

download-4.png

8.1 Component Selection and Placement

In this project, we created a circuit involving an Arduino Uno board, four push-button switches, and six RGB LED strips, using only their green pins to act as green LEDs. The push-button switches were connected to the Arduino Uno's digital pins 2, 3, 4, and 5 through 2.2 kΩ resistors. The green pins of the RGB LED strips were connected to digital pins 6 through 11 on the Arduino. The schematic for the circuit shows the layout of these connections and the integration of each component, ensuring clarity in the design.

8.2 Wiring Configuration

For power distribution, the 12V pins on the RGB LED strips were connected to the VIN pin on the Arduino board. Each push button switch was connected on one side to the 5V pin on the Arduino board. The other side of each switch was connected to the designated Arduino digital pins (2, 3, 4, and 5) and to the ground (GND) pin through 2.2 kΩ resistors. This configuration prevents floating values and ensures stable input readings.

Wiring the LED Strips

IMG_1345.jpeg
IMG_1358.jpeg

9.1 Soldering the LED Strips

We began by soldering wires to each of the six RGB LED strips. The 12V pins on the LED strips were connected to the VIN pin on the Arduino board to provide the necessary power. The green pins of the LED strips were then soldered to the designated Arduino pins (pins 6 through 11). This configuration allowed the Arduino to control the green LEDs individually, ensuring precise management and adequate power supply for each strip.

9.2 Arranging the LED Strips

For optimal cable management and placement within the spice box, we soldered two LED strips on the edges and the remaining four in the middle. This arrangement helped in organizing the wires neatly inside the LED rail of the spice box. All the LED wires were routed through a slit in the control panel, ensuring a tidy and efficient setup.

By following these steps, we ensured that the LED strips were properly powered and arranged for effective control and management by the Arduino.

Wiring the Control Panel

IMG_1520.jpeg
IMG_1531.jpeg

10.1 Connecting the Push Buttons

For the push button switches, we soldered one side of each switch to the 5V pin on the Arduino board. The other side of each switch was connected to the corresponding Arduino digital pins (pins 2, 3, 4, and 5). Additionally, we connected this side to the ground (GND) pin through 2.2 kΩ resistors. This setup ensured that each button press would send a clear signal to the Arduino, preventing floating inputs and ensuring stable operation.

10.2 Ensuring Circuit Functionality

By carefully executing these connections, we successfully created a functional circuit. The resistors helped in maintaining the stability of the circuit by preventing potential shorts or floating values. This configuration allowed the Arduino Uno to effectively control the green LEDs based on the input from the push button switches, ensuring reliable and precise interaction within the spice box.

With these connections in place, we achieved a seamless integration of the control panel, allowing for efficient and stable operation of the entire system.

Completing Box Assembly With Control Panel

IMG_1375.jpeg
IMG_1681.jpeg

11.1 Attaching the Control Panel

We started by assembling the control panel with the main spice box. To ensure a secure attachment, we created four screw holes designed for M4 screws on both the control panel and the main spice box. Using these holes, we firmly secured the control panel to the spice box with M4 screws. Additionally, the control panel featured a side lid designed to cover and protect the internal wiring. We created four holes for this lid and secured it in place with M4 screws as well. This ensured that all internal components and wiring were neatly enclosed and protected.

11.2 Managing the Wiring

To manage the wiring efficiently, we designed a slit in the control panel. This slit allowed the wiring from the main box RGB LED strips to pass through seamlessly from the spice box to the control panel. For an added touch, we designed and implemented a snap-fit cover for the LED rail. This cover not only concealed the LED strips and their wiring but also provided a smudged green glow effect, enhancing the aesthetic appeal of the spice box.

By following these steps, we ensured a secure assembly of the control panel with the spice box and achieved a clean and visually pleasing wiring setup.

Coding the Spice Box

Screenshot 2024-05-30 at 3.34.47 AM.png

Now that we have completed the assembly of our smart spice box, it's time to move on to the next crucial step: writing the code that will bring our project to life. This code will enable the spice box to function as intended, allowing you to select different recipes using push buttons and light up the corresponding LEDs to guide you through the spice selection process.

Writing the code for this project can seem tough at first, but it's quite manageable with a bit of guidance. You have two options: you can either write the code from scratch, which will give you a deeper understanding of how everything works, or you can use the sample code provided by us. The sample code is specifically tailored for this project and is designed to handle all the necessary functions, making the process much smoother.

12.1 What the code needs to accomplish

Here's a detailed overview of what the code needs to accomplish:

  1. Button Input Handling: The code will need to read inputs from multiple push buttons. Accurate detection of button presses and releases is critical to ensure the correct recipe is selected.
  2. LED Control: Based on the button inputs, the code will control the LEDs. Each recipe will be associated with a specific pattern of LED lights. The code will turn on the appropriate LEDs to indicate the selected recipe.
  3. State Management: The code will manage various states, such as whether a button is currently pressed, whether a recipe is selected and whether the LEDs should be on or off. Proper state management ensures that the system responds correctly to user interactions.

12.2 Getting started with the coding

To get started with the coding process, you can follow these steps:

  1. Set Up Your Development Environment: Ensure you have the Arduino IDE installed on your computer. Connect your Arduino board to your computer using a USB cable.
  2. Define Pin Assignments: Start by defining the pin assignments for the buttons and LEDs. This will help keep your code organized and make it easier to modify if needed.

By following these steps and using the attached code, you'll be able to bring your smart spice box to life. This project not only enhances your cooking experience but also serves as an excellent learning opportunity in electronics and programming. If you encounter any issues or have questions along the way, feel free to reach out for help!

Code for Spice Box:

// Define the pins for the buttons
#define btn1pin A3
#define btn2pin A2
#define btn3pin A0
#define btn4pin A1


// Define the initial state as false
boolean state = false;


// Initialize button press counters
int btn1 = 0;
int btn2 = 0;
int btn3 = 0;


// Initialize button state trackers
boolean btn1state = false;
boolean btn2state = false;
boolean btn3state = false;


// Initialize LED state tracker
boolean LED_ON = false;


void setup() {
  // Set LED pins as outputs
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);


  // Initialize all LED pins to LOW (off)
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);


  // Start serial communication for debugging
  Serial.begin(9600);
}


void loop() {
  // Check if button 1 is pressed
  if (digitalRead(btn1pin) == LOW) {
    if (btn1state == false) {
      btn1++;  // Increment button 1 counter
      btn1state = true;  // Set button 1 state to pressed
    }
  }


  // Check if button 2 is pressed
  if (digitalRead(btn2pin) == LOW) {
    if (btn2state == false) {
      btn2++;  // Increment button 2 counter
      btn2state = true;  // Set button 2 state to pressed
    }
  }


  // Check if button 3 is pressed
  if (digitalRead(btn3pin) == LOW) {
    if (btn3state == false) {
      btn3++;  // Increment button 3 counter
      btn3state = true;  // Set button 3 state to pressed
    }
  }


  // Reset button 1 state when released
  if (digitalRead(btn1pin) == HIGH) {
    btn1state = false;
  }


  // Reset button 2 state when released
  if (digitalRead(btn2pin) == HIGH) {
    btn2state = false;
  }


  // Reset button 3 state when released
  if (digitalRead(btn3pin) == HIGH) {
    btn3state = false;
  }


  // Check if button 4 is pressed to activate recipes
  if (digitalRead(btn4pin) == LOW) {
    if (state == false) {
      state = true;


      if (LED_ON == false) {
        // Recipe for Indian Chickpeas (Chole)
        if (btn1 == 1 && btn2 == 2 && btn3 == 2) {
          LED_ON = true;
          digitalWrite(9, LOW);
          digitalWrite(10, HIGH);
          digitalWrite(11, HIGH);
          digitalWrite(6, HIGH);
          digitalWrite(7, HIGH);
          digitalWrite(8, HIGH);
        }


        // Recipe for Cumin Potato
        if (btn1 == 2 && btn2 == 2 && btn3 == 2) {
          LED_ON = true;
          digitalWrite(9, LOW);
          digitalWrite(10, HIGH);
          digitalWrite(11, HIGH);
          digitalWrite(6, HIGH);
          digitalWrite(7, LOW);
          digitalWrite(8, LOW);
        }


        // Recipe for Okra Curry Indian Style
        if (btn1 == 3 && btn2 == 2 && btn3 == 2) {
          LED_ON = true;
          digitalWrite(9, LOW);
          digitalWrite(10, HIGH);
          digitalWrite(11, HIGH);
          digitalWrite(6, LOW);
          digitalWrite(7, HIGH);
          digitalWrite(8, HIGH);
        }
      } else if (LED_ON == true) {
        LED_ON = false;
        // Turn off all LEDs
        digitalWrite(6, LOW);
        digitalWrite(7, LOW);
        digitalWrite(8, LOW);
        digitalWrite(9, LOW);
        digitalWrite(10, LOW);
        digitalWrite(11, LOW);
        // Reset button counters
        btn1 = 0;
        btn2 = 0;
        btn3 = 0;
      }
    }
  }


  // Reset state when button 4 is released
  if (digitalRead(btn4pin) == HIGH) {
    state = false;
  }


  // Print button counters for debugging
  Serial.print(btn1);
  Serial.print("   ");
  Serial.print(btn2);
  Serial.print("   ");
  Serial.println(btn3);
}

Downloads

How to Operate

IMG_1534.jpeg

Operating our smart spice box is very easy, requiring just three simple steps to access and use your spices effectively:

13.1 Inputting the Recipe Number

Using the four-button control panel, input the recipe number, where the first button represents the hundred place, the second button tens place, and the first button ones place. If any recipe number includes zero at any of the places, you are not required to push the button of that particular place. For instance:

  1. For numbers greater than 99 but less than 1000: Press the first, second, and third numbers the required number of times.
  2. For numbers between 10 and 99: Press the second and third buttons the required number of times.
  3. For numbers between 1 and 9: Press the third button the required number of times.

 Once you've pressed the required buttons, press the fourth button to confirm.

13.2 Activating the Spice Selection

Upon pressing the "ok" button, the computer inside the spice box quickly identifies the required spices for the selected recipe. Within seconds, green LEDs illuminate the compartments holding the needed spices, indicating which spices to use.

13.3 Using the Spices

After the LED lights indicate the correct spices:

  1. Lift the lid to access the spices.
  2. Add the highlighted spices to your dish as needed.
  3. Close the lid to keep the spices clean and protected.
  4. Press the "ok" button again to reset the system, turn off the LED lights, and prepare the box for the next use.

With just three straightforward steps you can effortlessly manage your spices and create delicious meals with ease. Our smart spice box revolutionizes the cooking experience, ensuring that you always have the right spices at your fingertips.

Testing the Spice Box

8.png
7.png
6.png

To thoroughly test the functionality of the smart spice box, we coded recipes for a few popular Indian dishes: chickpeas (chole), okra curry (bhindi masala), and cumin potatoes (jeera aloo). Each dish was assigned a unique code and involved a distinct set of spices, ensuring a comprehensive test of the spice box's capabilities. We meticulously programmed the Arduino to recognize the specific button combinations for each recipe, triggering the appropriate LEDs to guide the user to the correct spices.

The successful execution of the tests confirmed that the smart spice box functions as intended. It accurately guides users to the correct spices for different recipes, simplifying the cooking process.

We were very happy with these results!

Codes Used for Recipes:

Chickpeas Chole: 322

Cumin Potatoes: 222

Okra Curry: 122

Code Snippet for the recipes:

 // Check if button 4 is pressed to activate recipes
  if (digitalRead(btn4pin) == LOW) {
    if (state == false) {
      state = true;


      if (LED_ON == false) {
        // Recipe for Indian Chickpeas (Chole)
        if (btn1 == 3 && btn2 == 2 && btn3 == 2) {
          LED_ON = true;
          digitalWrite(9, LOW);
          digitalWrite(10, HIGH);
          digitalWrite(11, HIGH);
          digitalWrite(6, HIGH);
          digitalWrite(7, HIGH);
          digitalWrite(8, HIGH);
        }


        // Recipe for Cumin Potato
        if (btn1 == 2 && btn2 == 2 && btn3 == 2) {
          LED_ON = true;
          digitalWrite(9, LOW);
          digitalWrite(10, HIGH);
          digitalWrite(11, HIGH);
          digitalWrite(6, HIGH);
          digitalWrite(7, LOW);
          digitalWrite(8, LOW);
        }


        // Recipe for Okra Curry Indian Style
        if (btn1 == 1 && btn2 == 2 && btn3 == 2) {
          LED_ON = true;
          digitalWrite(9, LOW);
          digitalWrite(10, HIGH);
          digitalWrite(11, HIGH);
          digitalWrite(6, LOW);
          digitalWrite(7, HIGH);
          digitalWrite(8, HIGH);
        }
      } else if (LED_ON == true) {
        LED_ON = false;
        // Turn off all LEDs
        digitalWrite(6, LOW);
        digitalWrite(7, LOW);
        digitalWrite(8, LOW);
        digitalWrite(9, LOW);
        digitalWrite(10, LOW);
        digitalWrite(11, LOW);
        // Reset button counters
        btn1 = 0;
        btn2 = 0;
        btn3 = 0;
      }
    }
  }

Troubleshooting

Green Modern Talk Podcast YouTube Thumbnail (2).png

Creating a smart spice box integrated with a control panel and LED indicators involves several technical challenges, particularly for those who are new to electronics and CAD design. We have thus made a list of potential issues that might arise during the building process and given troubleshooting ideas to make the process easier for you!

15.1 Control Panel and Button Input Issues

You might face issues with the buttons not registering inputs correctly, causing the control panel to fail to select the correct recipe or lighting up the correct LEDs. This can be due to poor wiring or incorrect resistor values.

Troubleshooting:

  • Double-check that the resistors used are of the correct value (2.2 kΩ). Incorrect resistor values can lead to unstable signals. Using resistors too low can cause excessive current, while too high can lead to weak signals.
  • Ensure the buttons themselves are not faulty. Sometimes, poor-quality buttons may fail intermittently. Consider using higher-quality switches if problems persist.

15.2 Arduino Integration and Software Synchronization

Integrating the Arduino with the spice box and ensuring that it correctly controls the LEDs and reads button inputs can be complex. You might face issues with the Arduino code, such as incorrect pin assignments, logic errors, or synchronization issues between hardware and software.

Troubleshooting:

  • Double-check the Arduino sketch to ensure that the correct digital pins are assigned to each component (buttons and LEDs). Mismatched pin assignments can lead to incorrect behavior.
  • Test each component individually before integrating them into the control panel. For example, ensure each LED light works by connecting it directly to a power source, and test the Arduino code with a breadboard setup before final installation.
  • Review the logic implemented for reading button inputs and controlling the LEDs. Ensure there are no logical errors that could cause unexpected behavior. For example, verify that the code correctly interprets the button presses and translates them into the corresponding LED outputs.

15.3 Alignment and Fit of Components

One of the primary technical challenges in making this spice box is ensuring the precise alignment and fit of all the components, especially when assembling the control panel with the spice box. Misalignment can lead to issues with the screw holes, the fitting of the LED lights, and the overall integrity of the structure.

Troubleshooting:

  • Print a small-scale prototype of the assembly sections, especially the connections between the control panel and the spice box. This will help identify any alignment issues early on.
  • Design all holes with some tolerance for minor adjustments.

By addressing these technical challenges with careful planning and good troubleshooting techniques, you will complete this project successfully! Looking forward to your version of the Smart Spice Box in the "I Made It" section!

Future Steps

Green Modern Talk Podcast YouTube Thumbnail (1).png

This idea has immense potential, especially for students studying abroad who often struggle to recreate homemade dishes due to unfamiliarity with spices. This spice box could be a game changer for people like us. Beyond the initial design, we can explore many exciting enhancements.

  1. We could develop a double-decker spice box or alter its shape to accommodate even more spices, catering to a wider range of culinary needs.
  2. Additionally, we can upgrade the spice box by integrating a touch screen. This would eliminate the need to remember dish numbers, allowing users to easily browse and select their desired recipe.
  3. Moreover, this touch screen could serve a dual purpose by displaying the recipe steps and transforming the spice box into a comprehensive cooking aid for beginners. This feature would make the device not only a spice organizer but also a valuable kitchen assistant, providing guidance throughout the cooking process.
  4. Another exciting feature to consider is adding a voice assistant powered by AI. This assistant could tailor recipe instructions and language according to the user's needs, making the cooking process even more accessible and personalized. Imagine having a voice assistant that can guide you through each step of a recipe, answer your cooking questions in real time, and adapt to your preferred language and cooking style. This would elevate the spice box to a new level of convenience and user-friendliness.

There's still significant work and development needed to reach these advanced features, but we are committed to evolving our spice box into a multifunctional kitchen tool. Our vision for the future includes these enhancements, ensuring that our product becomes an essential device for anyone looking to cook with confidence and ease.

Thank you so much for reading!