In this project, my partner Jack and I used the engineering design process to design and build a fully functional Skittles Sorter.
Project Goals:
Build an automated machine that sorts Skittles into correct bins based on their color.
Achieve at least 80% sorting accuracy.
Complete the design and testing within the given timeframe.
Publicly demonstrate our working device.
Tools we used:
We used the Glowforge Laser cutter in order to print our cardboard designs out. We used it to create the sides of our skittle sorter and the inside.
We used Mu to create our code for our skittle sorter. We wrote our functions, if statements, and sequences in here.
We used the 3d printer to create our funnel and slide for our prototype. We also used it to create our funnel for our final project.
This is what Glowforge looks like before we print.
This is what our code looked like
This is what we 3d printed.
Final Skittle Sorter:
Our final Skittle Sorter is cleanly painted in red, yellow, and green, giving the design a colorful, skittle look. Each sorting box is clearly labeled by Skittle color, making the system easy to understand. The color-coded labels align with the positions sorted by the funnel and servo mechanism.
All cardboard pieces were precisely laser cut, then joined using finger joints at each wall, level, and 90° corner.
This ensured strong, stable connections across the build, reducing any risk of wobbling or collapsing under movement or weight.
The slide was completely rebuilt, replacing the original cardboard with a smoother, stronger material that prevents clogging and misdirection.
The angle of the slide was carefully adjusted for stability and control, so Skittles glide into the correct boxes with no bounce-outs or spills.
We replaced the faulty servo from the prototype stage. The new servo is mounted securely and calibrated for precise movements to rotate the slide.
The wiring is managed and can be put in the bottom part of the skittle sorter, eliminating the tangledness from earlier tests.
Everything outlined in our Idea Development entry was successfully completed:
The servo was replaced and now works without stuttering or over-rotating
The slide was rebuilt for better performance and reliability.
Wire management was fully implemented for a clean final product.
All sorting boxes were downsized slightly, connected together, and made more stable.
This final version of the Skittle Sorter represents our use of the engineering design process. Not only does it meet the functional requirements well, but also demonstrates a clean and well-built physical design.
How has this project compared to other projects you’ve done?
This project was way more hands-on than others. It wasn’t just coding or building. It was both, plus problem-solving and testing again and again.
What’s one challenge you overcame and how?
The servo motor kept messing up and spinning too far. We fixed it by replacing it, remounting it tighter, and changing the code so it only moved the right amount.
What are you most proud of?
I’m proud that it actually works and looks good. We painted it, labeled everything, made it clean, and it sorts Skittles like we planned.
Here is a video of our skittle sorter working and sorting colors through our code:
.
Facial Recognition Model Presentation
Reflection
In this project, I learned about how to code a machine learning model that could recognize faces in images I provided it and label them as the students in our class. I faced challenges when trying to understand how to construct a model and train it, but I also learned how to overcome them and create an accurate image data recognition model that could sort over 3,000 images of students. I now understand the importance of layers in data processing and more about how images are represented in matrices through code. I have grown in my programming and problem solving skills and have gained an enhanced understanding of how machine learning models function and how to construct them myself.
.
Rolling Lantern Bot Brief:
What does physics have to do with your robot?
Physics impacts how your robot moves because of the laws of friction. When something is pressed on top of a surface and is forced to move, it creates friction. Friction is increased when the mass is increased or the grippiness of the ground is increased. Kinetic friction is when two different objects are moving against each other and static friction is when an object is moving against a stationary object. Coefficient of friction is the ratio of the frictional force resisting the motion of two surfaces in contact to the normal force pressing the two surfaces together.
What does physics have to do with my ultrasonic sensor?
My ultrasonic sensor uses physics to work by using ultrasonic sound waves to measure distance. The sensor is able to detect things even when there is no physical touch. The sensor emits ultrasonic waves in response to a signal, which bounces off an object and comes back to the echo pin. This happens because the trigger pin sends the ultrasound pulse, while the echo pin detects the returning sound wave. Once the ultrasound is emitted, the time taken for the sound to travel to the object and back is measured. The speed of sound is 340 meters per second. This is how the robot calculates the distance by measuring the time it takes for a sound wave to travel to an object and back, and the angle of the sensor controls the area it covers.
Formulas that we use for our sensor:
Speed = Distance / Time
Time = Distance / Speed
Distance = Speed x Time
The Ultrasonic Sensor we use:
How our Sensor transmits and receives waves:
Tools:
We used the Glowforge Laser cutter in order to print our 2d designs out. I used it to create the sides on my prototype and final car, as well as my wheels.
This is what Glowforge looks like before we print.
We used the 3d printer to create our casters to hold up our robot prototypes. I also used it to 3d print my car because I wanted to.
We used Mu to create our code for our robot. We wrote our functions, if statements, and sequences in here.
We used Dabble to control our robot with our phone. Our code allows us to make it go forward, backward, left, right, and change the lights.
We used Onshape to create 2d and 3d designs that we were able to print out using the laser cutter and 3d printer.
Here are pictures of my creations in OnShape in order to laser cut all the sides for my final car:
Here's my car made completely in Onshape:
Here is a link to my Final Code. I used functions to make my robot go forward, backward, left, and right with only 1 command each. I used if/elif statements to control my robot with my phone and the direction it went in. I also used if statements to control the lights on the robot and its self driving feature.
Here’s a video to my final robot racing: Race 1 Race 2 Race 3
My robot goes straight when commanded to with no drift. It also goes backwards quickly.
The turning needs to be finetuned though. It only works when more weight is added to the very front of the car.
If I added more weight inside the front of the car it would allow the robot to turn a lot more efficiently.
This is probably the most challenging project I’ve done in any class because of the amount of hard work I had to put into it in class and outside. I spent my time before school, at lunch, in power 45, and after school on building my robot.
If I could change something about this project I would have wanted more available screws that fit for the motors. I had a lot of problems because I couldn't find the right screws.