Food Waste is Unavoidable
Yet only 18% of Food Waste is Upcycled
The remaining 82% represents a critical resource gap.
Why don't we upcycle more?
Inconvenience Factor
Separating scraps feels like an extra chore in an already busy household routine. it's easier to just use the general trash bin.
Mess & Odors
Odors, pests, and "the ick factor" of rotting organic matter deter people from keeping food waste.
Time Scarcity
In a rush, we choose to dispose our trash quickly than sustainably.
Lack of Infrastructure
Even if you want to upcycle, many apartments or cities don't provide the bins or space to make it feasible.
Knowledge Gaps
Many don't realize what is actually compostable or how food waste can be transformed into energy.
Disconnected Habits
Once the bag is tied, the problem "disappears," breaking the mental link between waste and its impact.
INTRODUCING
User Experience

Step 1 of 6 — Getting Started
Step up to the scale!
Begin by placing your plate or tray directly onto the weighing platform. Our high-precision sensors will calculate the exact weight of your food scraps so we can track how much waste you are diverting from the landfill!

Step 2 of 6 — Verifying your waste
Let’s check your tray
Our computer vision system will now scan your tray to ensure only organic food waste goes in. Please make sure to remove any invalid items like cutlery, plastic wrappers, or napkins.

Step 3 of 6 — Waste deposit
Ready for take-off!
Once your tray is approved, the automated door will slide open. Carefully tip your food waste into the hatch! These scraps are headed straight to our larvae.

The circle of life
While the larvae do the heavy lifting, take a moment to explore our infographics. You’ll learn about the fascinating life cycle of the Black Soldier Fly and how they upcycle nutrients.

Step 5 of 6 — Get up close
Meet the tiny heroes
Seeing is believing! Peer through the observation window to watch the larvae in action. These tiny powerhouses can consume twice their body weight in food waste every single day.

Step 6 of 6 — Help them grow
Feed your digital chick
Time for your reward! Your upcycled food waste has been converted into digital pellets. Use them to feed the chicks on the screen to watch them grow and unlock rare characters!
System Maintainence
SYSTEM MAINTENANCE
Each week, trays are collected containing a mixture of larvae and frass (larval excrement). Though valueless combined, the two become highly useful once separated — a process handled efficiently by a vibratory sifting unit.
Following a circular economy model, harvested larvae are either matured for breeding or processed into protein-rich animal feed, while frass is repurposed as organic fertilizer.
System Impact
335,000
man-hours saved per year
5 hrs
saved per school
per day
335
schools across
Singapore
200
school days
per year
Based on 6 hrs manual work reduced by 5 hrs, with 1 hr for system maintenance
User Testing
During a user testing session involving 59 respondents, findings revealed that a significant majority of respondents found the CRUMS system both fun to interact with and remarkably easy to use.
Design & Development
Safeguarding the pipeline
The computer vision system acts as the high-stakes gatekeeper for the CRUMS automation process. By analyzing food waste in real-time, the model prevents mechanical failures and biological contamination — ensuring that only safe, biodegradable material reaches the larvae ecosystem.
food
Accepted
bone
Breaks grinder
bone-under-meat
Hidden hazard
liquid
Chokes larvae
food-and-liquid
Drain first
ice
Disrupts processing
rubbish
Non-biodegradable
utensil
Breaks grinder
Class Taxonomy
No existing food dataset mapped to our use case — standard taxonomies classify what food is, not whether it is safe for a bioprocessing pipeline. We engineered 8 classes from scratch, each tied directly to a specific failure mode in the CRUMS system.
The bone-under-meat class is a key example: a bone concealed beneath meat looks like ordinary food to a naive model. We introduced this as an explicit class so the system learns to detect concealment, not just the object itself. Similarly, food-and-liquid captures dishes like soup — present as food but requiring drainage before input.
6-second scan window
30% blocked detection in window → rejected
Accept condition
Food in ≥30% of frames + zero blocked labels
Reject condition
Any blocked label detected at any point
Temporal confidence window
Single-frame classification is fragile — a momentary occlusion, camera shake, or transient misdetection can cause a false reject or false accept. We implemented a 6-second temporal window that accumulates detections across frames before making a decision.
Acceptance requires the food class to appear in at least 30% of frames with zero blocked detections. Rejection triggers the moment any blocked class appears, and the user is shown a specific removal instruction for the most frequently detected hazard (e.g. "Bones can damage the grinder: please remove bones"). If neither threshold is met, the system prompts the user to ensure food is placed in frame.
Iteration 1 — proof of concept
4 broad classes. 34% of food waste missed. Liquid recall inflated by dataset bias.
Taxonomy expansion
Grew to 8 classes. Introduced bone-under-meat and food-and-liquid to capture failure modes the coarse taxonomy conflated.
Class imbalance mitigation
Oversampling with augmentation (rotations, flips, crops, brightness shifts) and targeted manual collection for underrepresented classes like ice and bone-under-meat.
Iteration 37 — peak performance
mAP 0.993. F1 0.778. Bone-under-meat up 1,300%. Ice detection introduced from zero.
41 experiments, 12 dataset iterations
We selected YOLOv26 nano for its superior latency-to-precision ratio. While larger variants offered marginal accuracy gains, they imposed unacceptable inference costs for real-time edge deployment on the Jetson Orin Nano.
The final model achieved a 42% mAP gain, significantly maturing "bone-under-meat" and "ice" detection. This was driven by a custom dataset which combines public food waste images with photos taken under real deployment conditions — matching the CRUMS unit's camera angle, lighting, and tray format.
To prevent a 100-image rare-class set from being overwhelmed by a 99,000-image base, we applied oversampling, aggressive augmentation, and class importance balancing — prioritising targeted quality over raw volume. We also performed automated hyperparameter tuning to boost our model performance even further.
False negative rate
~13%
19 missed / ~150 objects
Peak mAP50
0.993
Iteration 37
Peak F1
0.778
Iteration 37
Test set size
56
Real-world images
Real-world validated on 56 independent images
To validate beyond standard held-out test metrics, we curated a 56-image real-world test set collected independently from training data, covering all eight classes under realistic deployment conditions.
False negative rate (FNR) was our primary metric — a missed hazard is the higher-stakes error. The system achieved approximately 13% FNR (19 missed detections out of ~150 objects) with a low false positive rate.
Utensil showed high precision but lower recall (~75%) — the model rarely hallucinated utensil detections but occasionally missed them. Ice and rubbish remain the weakest classes and the clearest targets for future dataset expansion and retraining.
The Double Door
The double door is more than a mechanical gate — it is a layered safety system that separates the user from the grinder at every stage of interaction. Designed with redundant protections, it ensures food waste can only enter the system after CV validation, and that no user can be harmed in the process.
Why not manual checking?
Labour-intensive, inconsistent under load, and impossible to scale across a busy cafeteria line.
Why not a single door or flap?
A single door leaves a direct line of reach to the grinder when open. Passive flaps cannot be CV-gated or cycle-interlocked.
Why a double door?
The geometry physically isolates the grinder regardless of door state, while the motorized mechanism integrates cleanly with CV validation and the automation cycle.
Why the double door?
We evaluated multiple input control mechanisms against two hard requirements: physically prevent grinder access at all times, and be controllable by the CV validation system.
The double-door geometry satisfies both — the inner door maintains a grinder barrier even when the outer door is open for deposit, and the motorized mechanism can be precisely timed to the CV result and the broader automation cycle.
Physical geometry
Door geometry blocks direct access to the grinder even when fully open — no line of reach to the blades.
TOF proximity sensors
Time-of-Flight sensors detect hands in the door during deposit, preventing the door from closing on the user.
Low-torque motor (0.2 Nm)
Even if sensors miss a hand, the door can be manually overridden with just 2N — the weight of a smartphone.
Emergency stop
A physical e-stop button provides a final override above all automated logic.
Layered User Protection
Safety was the primary design constraint for the double door. We architected four independent layers of protection to eliminate any single point of failure. This fail-safe approach ensures that even in the event of multiple simultaneous sensor or logic errors, the user remains protected.
Our strategy combines passive mechanical design—such as specialized geometry and low-torque motors that allow for easy manual overrides—with active electronic safeguards like TOF proximity sensing and a dedicated emergency stop. This ensures a "defense-in-depth" system where mechanical limits back up digital intelligence.
This layered approach reflects the principle that safety-critical systems should never depend on a single point of failure.
CV scan complete
Valid result
Backend signals door open
Grinding sequence begins
CV scan complete
Invalid result
Result shown for 4s
System resets → new scan
CV-gated automated entry
The double door acts as the physical output of the CV validation. A valid scan triggers the door and grinding sequence. An invalid result initiates a 4-second feedback loop, displaying detected hazards before resetting for a new scan.
This retry loop ensures safety without locking users out, allowing immediate tray correction to maintain system throughput.
To prevent unintended input, the scanner automatically pauses while mechanical operations—such as grinding or forklift motion—are active.
From metal to PET: a material rethink
Our initial fabrication plan called for sheet metal — it is robust, pressure-washable, and appropriate for a food-handling environment. However, after consulting with SUTD FabLab specialists, it became clear that the double door's geometry was too complex to achieve reliably through bending and welding.
Rather than compromise on geometry to fit the fabrication method, we pivoted the material entirely. A PET plastic sheet bonded to 3D printed end caps gave us precise control over the form, faster iteration, and a result that was structurally sound and cleanable. This pivot also freed up significant fabrication time compared to metalworking.
The decision reflects a broader principle we applied across the project: choose the process that serves the design, not the design that serves the process.
The Grinding System
To meet strict footprint limitations and maintenance requirements, we developed a bespoke grinding solution. This system integrates a guided hopper with a high-strength crushing chamber, utilizing a linear actuator to process up to 100kg of food waste weekly.
Inspired by the french fry cutter
We needed one mechanism to feed and cut simultaneously. Meat grinders use separate parts for each — unnecessary complexity. French fry cutters do both with a single piston.
Meat grinder principle
Separate feeding and cutting — more parts, more failure modes.
French fry cutter principle
One piston feeds and cuts in a single stroke — simpler, fewer failure points.
Reinforced Force Distribution
To process 100kg of varying food waste weekly, the piston face must withstand significant compressive resistance without deforming or jamming.
Aluminium sheet, rivets over welding
Plastic and cardboard couldn't handle the compressive load. Aluminium could — and was machinable in our workshop.
Decision — Joining Method
The original design was a single welded assembly. Welding proved infeasible, so we switched to rivets.
Toolless Blade Access
Maintenance is critical for high-wear areas. At 100 kg/week, the blade grid wears predictably. Easy access was a client requirement.
Decision — Draw Latches
Utilizing draw latches created a toolless access point for servicing and removing prohibited items.
Optimizing the Larvae Habitat
To process 20kg of daily food waste, the CRUMS system utilizes a modular 10-tray ecosystem. By dividing the colony into manageable units, we maximize harvesting precision, promote superior airflow, and mitigate the risk of premature pupation.
2Ă—5 Compact Configuration
Initially envisioned as a 3Ă—4 layout, the tray rack was refined to a vertical 2Ă—5 configuration to reduce the horizontal footprint. This scalable design houses 144,000 larvae while ensuring even food distribution via an automated transport system.
Climate & Light Control
The system is fully wrapped in a ventilated mesh enclosure to exclude pests and birds. A lockable main door ensures authorized maintenance, while a secondary panel supports the "Touching Zone" for supervised user interaction.
BSF larvae are sensitive to light and metabolic heat. We implemented opaque roofing for shade, diffused internal lighting, and high-efficiency fans to prevent temperatures from exceeding 60°C while dispersing ammonia and odors.
Precision Distribution: Omnidirectional Forklift
The omnidirectional pulley forklift is the backbone of food waste distribution, ensuring each of the 10 larvae trays receives a uniform supply. Using onboard load cells and a repeating retrieval cycle, it maintains a precise 500g fill target per tray to reach a daily system-wide 20kg capacity
Mecanum-Driven Agility
To maximize space efficiency, we utilized Mecanum wheels for zero-radius translation along the X and Y axes. High positional accuracy is achieved through NEMA 23 stepper motors and a precision timing system, allowing the forklift to safely navigate the rack without disturbing the sensitive larvae colonies.
Iterative Mechanical Refinement
Building a robust mobile system required solving real-world friction and vibration. We mitigated wheel drift using physical guide rails and limit switches, secured fasteners against motor vibrations with industrial threadlocker, and established smooth Z-axis travel by treating linear rails with anti-rust protection.
Custom PCB Consolidation
To eliminate "spaghetti wiring," we developed a customPCB that integrates the ESP32-S3 with motor drivers, sensors, and other components. The board features Phoenix Contact headers for easy component replacement and reconfigurable solder jumpers, allowing for high hardware flexibility and simplified cable management..
The three-pronged educational strategy
Our primary objective is to raise awareness of the environmental potential of Black Soldier Flies. By integrating visual, kinesthetic, and gamified learning, we transform the perception of "waste" into a valuable resource — and make that transformation visible, tangible, and rewarding.
Bridging theory and action
Strategic panels surround the prototype to guide users through the BSF lifecycle and sustainability comparative analyses. Designed iteratively in Canva, these high-impact visuals dispel myths about hygiene and safety while providing a seamless, numbered user flow for system interaction.
User testing — knowledge gain
How long does the full BSF lifecycle take (egg to adult fly)?
Do adult Black Soldier Flies bite humans or spread diseases?
Which are known outputs of BSF larvae-based waste processing?
The touching zone
To move beyond passive observation, we integrated a supervised touching zone. This tactile interface allows users to safely interact with non-pathogenic larvae — turning an abstract biological process into a direct sensory experience that sticks.
Why a game at all?
Abstract concepts like the circular economy are hard to feel. A game makes the feedback loop tangible — upcycle waste, earn nutrients, watch something grow.
Why a chick specifically?
The BSF larvae produced by CRUMS is used as animal feed for chickens. The chick character makes that downstream connection visible — users aren't just disposing of waste, they're feeding the chain.
Why no individual accounts?
Login overhead slows throughput and discourages use when there's a queue. Upcycling is a collective effort — shared progress reinforces that without adding friction.
Making the circular economy visible
The reward for upcycling is often invisible — waste disappears into a bin and nothing changes from the user's perspective. We wanted to close that loop with something users could see and interact with.
The chick character was a deliberate choice, not just an aesthetic one. BSF larvae produced by CRUMS is processed into animal feed for chickens. By raising a virtual chick, users are interacting with a metaphor that mirrors the actual downstream biology of the system.
We chose a shared game — no accounts, no logins — because upcycling in a school cafeteria is inherently communal. Individual accounts would add friction and create a queue problem that could discourage use entirely.
Food waste upcycled
Each deposit the system processes generates digital nutrients — pellets stored in the shared pool.
White button — feed
Press to spend pellets and feed the chick. Watch it grow in real time toward its next evolution.
Evolution + gacha unlock
A fully grown chick lays an egg and the cycle restarts — unlocking a new themed character for the collection scene.
Blue button — emote
No pellets? The chick emotes sad. Pellets available? It emotes happy. Passive engagement even when no one is upcycling.
Simple inputs, visible rewards
The gameplay loop is deliberately simple: upcycle waste → earn pellets → feed the chick → watch it grow → unlock a new character. Every step is physically triggered — the white button feeds, the blue button emotes — so the interaction is tactile as well as visual.
The gacha-style unlock mechanic was chosen to sustain long-term engagement. Users don't just watch one chick grow — they build a collection. The scene below the main game displays all unlocked characters, making the community's cumulative effort visible at a glance.
Statistics and encouraging messages are surfaced alongside the game to give users a sense of progress beyond the character — how much waste has been upcycled today, how close the chick is to evolving. These nudges convert passive observers into active participants.
To extend gameplay duration
Add more chick characters, or increase the pellets required per evolution — no architectural changes needed.
To increase difficulty
Scale the progress bar threshold upward so users need to upcycle more waste to unlock each character.
To reach more users
The shared-progress model scales naturally to any number of concurrent users — no per-user state to manage.
Built to grow with the system
The game runs on a React frontend backed by FastAPI. When CRUMS processes food waste, the backend generates pellets in real time and pushes them to the frontend via Server-Sent Events — the chick's food supply updates the moment waste is deposited, with no polling or page refresh required.
Character animations are built in Rive, allowing smooth vector-based transitions between states — idle, eating, evolving, emoting — that would be impractical with CSS or sprite-based approaches.
Scalability was a design requirement from the start. Extending the game means adding characters to a library or adjusting a threshold value — not rebuilding the system. The shared-progress architecture supports any number of simultaneous users without accounts, sessions, or login infrastructure.
See it in action
Four interactions, one loop — every button press gives the user immediate visual feedback tied directly to how much the community has upcycled.
Feed & grow
Pellets are spent and the chick visibly grows toward its next evolution stage.
Evolve & unlock
A fully grown chick lays an egg and a new themed character is unlocked for the collection.
Emote sad
No pellets available — the chick emotes sad, nudging users to upcycle more waste.
Emote happy
Pellets are available — the chick emotes happy, rewarding the community's upcycling effort.











Gamification results
that the game motivated them to deposit more food waste
felt that the game was engaging
System Achritecture
How CRUMS thinks
CRUMS isn't just a bin — it's a coordinated system of computers, motors, and sensors working in sync. One central device makes every decision, two microcontrollers carry them out, and a strict communication protocol ensures nothing moves unless it's safe to.
Why centralise everything on one device?
The Jetson already ran the CV model. Splitting decision-making across multiple devices would add complexity and create multiple sources of truth — so we kept it on one.
Why delegate to ESP32s rather than direct control?
The Jetson doesn't talk directly to motors and sensors. ESP32s bridge that gap — each one owns a physical domain and handles real-time hardware control independently.
Why two separate microcontrollers?
The door system and forklift operate on different cycles and must be able to run concurrently. Separating them ensures neither can block the other.
One brain, two hands
We evaluated two architectural approaches: a distributed system with multiple decision-making devices, or a centralised model where one device directs everything else. The centralised approach won on simplicity — one source of truth, no synchronisation overhead between peers.
The Jetson Orin Nano sits at the top. Two ESP32 microcontrollers sit below it, each owning a physical domain: one for the door, grinder, and dispensing nozzle; one for the forklift, wheels, and weight sensors. The Jetson issues instructions — the ESP32s carry them out.
Runs CV model, tracks processed weight, issues all commands, persists system state to disk.
Controls double door, grinder, dispensing nozzle, and input sensors. Runs FreeRTOS for concurrent task handling.
Controls vertical lift, drive wheels, and tray weight sensors. Runs independently from the door cycle.
What each device owns
Each ESP32 runs FreeRTOS, allowing it to handle multiple tasks simultaneously — driving a motor while reading a sensor — without blocking on either. This real-time capability was essential for a physical system where timing directly affects safety.
The separation of domains also means the forklift cycle and the door cycle are fully independent. The door can accept new food input while the forklift is mid-cycle in the background — neither can stall the other.
Send
Jetson issues a command to the relevant ESP32.
Acknowledge
ESP32 confirms receipt before acting.
Done
ESP32 reports completion. Jetson clears to issue the next command.
A three-step handshake
Every command between the Jetson and an ESP32 follows a strict Send → Acknowledge → Done protocol. No action is taken until the ESP32 has confirmed receipt, and the Jetson doesn't proceed until completion is reported back.
This matters because CRUMS is a physical system — a lost command doesn't just cause a software bug, it could mean a door that doesn't close or a grinder that starts unexpectedly. The handshake ensures every physical action is verified end-to-end before the next begins.

Door state machine
Forklift state machine
Daily limit condition
At 20 kg processed, both state machines stand down automatically. State persists to disk — a power cut mid-cycle loses nothing.
Two state machines, one system
CRUMS's behaviour is governed by two independent state machines — one for the door and grinding cycle, one for the forklift. Each machine always knows its current state, what it is waiting for, and what comes next. There is no ambiguity about what the system is doing at any point.
Running them independently means the door can accept new food input while the forklift handles a tray in the background. Neither cycle can block the other. When the daily 20 kg limit is reached, both machines stand down automatically.
All critical state is persisted to disk on the Jetson continuously. If power cuts mid-cycle, CRUMS resumes exactly where it left off — no lost data, no confused motors.
Our Team
Acknowledgements
Our Industry Mentors: To Gerald, Julius, and Jerome—thank you for being such a joy to work with. Gerald was a true pillar of support, and Julius provided essential black soldier fly expertise
Our Capstone Mentors: Dr. Wang Bo and Dr. Edwin Koh were instrumental in guiding us to fulfill our project objectives. Thank you as well to Dr. Bernard Tan, who trained us to communicate our ideas effectively and keep our focus anchored on the problem statement.
The Fab Lab Staff: Given our inexperience, we truly could not have built our prototype without your invaluable advice, donated scrap materials, and hands-on fabrication expertise. We want to thank Mr. Richard, who was always ready to lend a hand despite his crass language, and Ms. Wan Zhen, who helped us with a kind smile and comforting words. Thank you to Mr. Yiliang for crucial components and Mr. Benjamin for keeping us fed with festive spring onion meringue cookies. A special shoutout to Mr. Ken, who went above and beyond by suggesting better building methods and proactively checking on us twice (or more) a week. On the metal shop side, Mr. Andy was an exceptional help with the hopper, counterweights, and pulley mounts. Mr. Goh and Mr. Liew provided critical design and fabrication insights. Finally, we were exceptionally touched when the entire metal team rallied together to give us the manpower needed for the final bending of our hopper.
Our Friends & Neighbours: To our incredibly understanding friends, thank you for your unwavering support and patience through all the missed dinners and skipped trips. Finally, a big thank you to the new friends we made along the way, especially our FabLab and capstone room neighbours, for making this demanding journey so memorable and enjoyable.
Contact the Capstone Office :
+65 6499 4076
8 Somapah Road Singapore 487372
About Capstone Design Programme
At Singapore University of Technology and Design (SUTD), we believe that the power of design roots from the understanding of human experiences and needs, to create for innovation that enhances and transforms the way we live. This is why we develop a multi-disciplinary curriculum delivered v ia a hands-on, collaborative learning pedagogy and environment that concludes in a Capstone project.
The Capstone project is a collaboration between companies and senior-year students. Students of different majors come together to work in teams and contribute their technology and design expertise to solve real-world challenges faced by companies. The Capstone project will culminate with a design showcase, unveiling the innovative solutions from the graduating cohort.
The Capstone Design Showcase is held annually to celebrate the success of our graduating students and their enthralling multi-disciplinary projects they have developed.