Four streams, one platform.
A four-module design accommodated wine bottles, mason jars, yogurt tubs, and cans. Its conveyor-based architecture established the first complete return system.
Industry project · Circulr · 2024–2026
A compact reverse vending machine that accepts reusable containers and turns each return into a grocery-store reward.

The challenge
Circulr needed a practical way for customers to return reusable packaging in a grocery store. The machine had to validate each return, handle containers carefully, and issue a reward through a straightforward customer interaction.
As the sole engineer building the system, I connected mechanical design, electrical integration, software, fabrication, and testing into one working product.
01 / The return experience
A guided transaction connects a physical container to a validated refund, with the machine checking the handoff along the way.
A button begins the return session.
The Raspberry Pi checks the barcode against a locally stored list of accepted containers.
An approved scan unlocks the return gate. Distance sensors monitor the handoff and flag removal or substitution.
One printed receipt totals the accepted returns, ready to redeem as a grocery-store discount.
02 / Product evolution
The first system explored four return streams. Store feedback and return patterns shaped a simpler, single-module product centered on jars and cans.
A four-module design accommodated wine bottles, mason jars, yogurt tubs, and cans. Its conveyor-based architecture established the first complete return system.
A compact single-module machine reduced the footprint and number of mechanisms. Focusing on jars and cans simplified the return path and made the customer interaction quicker.
03 / Engineering the product
Chute geometry and cushioning were refined through rapid prototypes and repeated testing. The aim was a reliable slide into storage without sticking or damaging glass containers.
Off-the-shelf sensors, servo motors, a barcode scanner, and a receipt printer were integrated around a Raspberry Pi. Component choices prioritized cost, availability, and speed to market.
Python software manages the approved-barcode list, gate behavior, sensor feedback, item values, and receipt total. A rejected barcode leaves the gate locked; a detected handoff error excludes that item from the refund.
Automatic startup, watchdog monitoring, and timeout-triggered restarts were added to address observed software failures and support unattended operation in the store.
04 / In the real world
The mini RVM entered operation at Fiesta Farms in Toronto in October 2025. A later update from Circulr reported five months of error-free operation.
Operational update reported by Circulr; not an independently measured uptime statistic.
Design, integration, build, software development, and testing.
Single-module RVM installed at Fiesta Farms.
Part-time work as an independent contractor following the full-time role.
Aaron Emmanuel · Sole technical lead