To train the model that decides if the falling object is a marshmallow or not we used a really fantastic new tool called Teachable Machine which lets you train a model in the browser.
For more details about setting up the software and hooking up your camera to Teachable Machine check out: https://coral.withgoogle.com/projects/teachable-sorter/
Building Your Own Sorter
If you want to build your own sorter, here is a good place to start.
We built our sorter with the intent of illustrating the processes as transparently as possible. This sometimes compromised the efficiency or throughput of our machine. This being said they serve a valuable purpose of clearly explaining the three main processes that go into making a sorting machine.
For our Singulator we used these off the shelf vibrating motors to move the cereals through the hopper to the tube which eventually would drop the pieces one by one. This approach was really prone to jamming and worked fairly inconsistently with the rough surface textures that the cereals have. We explored other methods such as bucket wheels and other vibrating surfaces. Another approach could be using bowl feeders often used in industrial applications.
Our decider is really where the magic happens. The write up on the coral website goes into more detail about how to setup the Raspberry Pi and Coral board as well as optimizing the camera chamber for clearer photos of the falling objects.
We used a simple solenoid connected to a track that would redirect the cereal and marshmallows to their respective bowls. A common alternative is using puffs of air if you're sorting really quickly and don't want to damage the material you're working with.
While sorting marshmallows from cereal is a fun demonstration, we hope that people take this concept and make something really useful with it.