Perler Bead Sorter
Purpose
Create an affordable machine that can help sort unsorted perler beads after workshops and help teach people how to use Arduino.
For general Perler bead content, go to the Perler page.
Design Considerations
Most perler bead designs can be reduced into two mechanical components:
- Placement: from a pile a beads, the component positions one bead in a consistent position to be scanned
- Filter: the scanned bead is shifted to the correct bin.
While the goal is to sort beads as many beads as possible, 10 beads per minutes will be used as a default rate to calculate design restrictions going forward.
Placement Design
The ideal time for a sorter to run without human interactions is 24 hours. The container holding the unsorted beads should be a large enough to hold 24 hours * 60 minutes * 10 beads per minute: 14400 beads.
Version 2 hopes to use a tube drop to place the bead in front of the sensor. A rigid, acrylic 6mm inner diameter tube seems to work well. Funnel needs to move up and down 10mm from the rest position.
Tilted disk from version had several issues:
- Torque required to spin a disk from the center with a load of beads required a nema stepper motor.
- Possible design using a gears may be viable for a 5v infinite stepper.
- sensor should have been closer to the exit
- jam check would often bump out slotted beads
Filter Design
Once the bead is in front of the sensor, the controller can trigger the motion to move the bead to either a filter bin or an unfiltered bin.
Every exhaust bin should be able to safely hold at least the number of beads within the unsorted hopper.
Educational versus Performance
For the simplest sorter to be functional, it needs to consistently sort one color from an unsorted pile. For an unsorted pile of beads consisting of 3 colors, with 1000 per color, and a machine sorting at 12 beads per minute, it would take 8 hours and 19 minutes with 2 reloads.
- 3000 beads scanned, 1000 filtered, 2000 remaining: 4 hours 10 minutes
- 2000 beads scanned, 1000 filtered, 1000 remaining: 2 hour 46 minutes
- 1000 beads scanned, 1000 filtered, 0 remaining: 1 hour 23 minutes
If the sorter was able to sort multiple colors per run, at 8 beads per minute (3 seconds additional per bead), it would sort 3000 beads in 5 hours and 15 minutes without any reloads.
The above numbers are based on a scenario where a pile consists of 3 equal colors. In reality, the unsorted colors will be far more unbalanced and consist for far more colors requiring even more reloads. However, the only difference between filtering one color and filtering multiple colors is a single mechanical component. Additional, this feature can usually be added with a 28byj stepper, ULN2003 driver board, and an end stop for around $10 dollars. To get the best of both versions, there will be a base model and an advanced model that includes the additional components to filter multiple beads.
Parts
Cost is a major consideration to design this machine. Parts listed will be limited to 5v components that match the microcontroller's voltage input.
Electronic Components
Part | Est Cost per unit | Mandatory | Notes | Link |
---|---|---|---|---|
Adafruit Metro Mini 328 V2 - Arduino-Compatible - 5V 16MHz - STEMMA QT / Qwiic | $14.95 | Yes | example | https://www.adafruit.com/product/2590 |
Adafruit AS7341 10-Channel Light / Color Sensor Breakout - STEMMA QT / Qwiic | $15.95 | Yes | Example | https://www.adafruit.com/product/4698 |
Power supply | $5.00 | Yes | Can be replaced with power jacks | Example |
Monochrome 1.3" 128x64 OLED graphic display - STEMMA QT / Qwiic | $19.95 | No | Needs STEMMA QT cables | https://www.adafruit.com/product/938 |
RGB LED | $2.00 | No | Useful indicator | https://www.adafruit.com/product/159 |
Example | $0.00 | No | Example | Example |
Example | $0.00 | No | Example | Example |
Mechanical Components
Part | Est Cost per unit | Motion | Notes | Link |
---|---|---|---|---|
Micro Servo | $5.95 | 180 rotation | Example | https://www.adafruit.com/product/169 |
Continuous Micro Servo | $7.50 | continuous rotation | Example | https://www.adafruit.com/product/2442 |
28byj | $4.95 | 360 position | Example | https://www.adafruit.com/product/858 |
ULN2008 driver board | $3.00 | Example | Mandatory per 28byj | Example |
Micro limit switch | $1.18 | Example | Detects | https://www.digikey.com/en/products/detail/e-switch/SS0750301F040P1A/2639078 |
SWITCH SLIDE SPDT 200MA 30V | $0.89 | Example | Example | https://www.digikey.com/en/products/detail/e-switch/EG1218/101726 |
Joystick | $5.95 | User Input | ~$2 on Amazon | https://www.digikey.com/en/products/detail/osepp-electronics-ltd/JOY-01/11198543 |
Version One Review
The first production model used a tilted disk with grooves to rotate beads up a bowl into a scanning position. During its debut at magfest2023, it was sorting less than 3 beads per minute due to the inconsistencies in the grooves where individual beads were slotted.
User Interface
Base Model
Mechanical Controls:
- Slider controller
- Filtered/Unsorted
- Left/Right (to determine center)
- Home (code position 90)
- Agitator
- Up/Down
- Center
- Sensor
- Save Color (might be able to preserve color using eeprom)
Advanced Model
Advanced model will need additional controls for managing bin colors, a display to show current bin colors and progress, and external memory to save bin configuration after reboot and counts.
Progress/Issues
- 2024-12-04: V4 model uses Adafruit Metro Mini with AS7431 color sensor. 6 seconds per bead
- 2022-12-19: V2 model uses wheel in bowl system instead of vibration
- 2022-01-22: Beads keep flicking out of hopper at exit hole
- Position beads into a slot where only 1 fits
- Read the beads color
- OpenCV implementation probably
- Dispense bead into correct container
- Circular container
- Rail container
# move stepper motor in bowl # detect when deck is full # load bead to camera # openCV check color # identify color and exit # unload bed