Raspberry Pi M&M Color Sorter

Raspberry Pi M&M Color Sorter

raspberry-pi-mm-color-sorter-with-servo-4 Raspberry Pi M&M Color Sorter

Raspberry Pi M&M Color Sorter

  The Raspberry Pi M&M Color Sorter

Need to sort out green and red M&M’s for the Christmas season?  The Raspberry Pi M&M Color Sorter uses a Raspberry Pi with a BrickPi and PivotPi to sort out green and red M&M’s. The EV3 touch sensor acts as an on/off switch to control the EV3 motor that powers the conveyor belts to make the M&M’s pass one-by-one under an NXT color sensor. If an M&M is detected to be green or red, the servo extends an arm to pull the M&M off the side of the conveyor belt.



Tools and Materials to Build The Raspberry Pi M&M Color Sorter

  • Raspberry Pi – The Pi will run the sorting program, read the sensors, and control the motor and servo.
  • BrickPi – The BrickPi connects LEGO sensors and motors to the Raspberry Pi
  • PivotPi – The PivotPi allows the Raspberry Pi to control the servo.
  • LEGO parts – The M&M’s sorter is built out of an assortment of LEGO parts, including a motor, color sensor, and touch sensor.
  • Servo – The servo is used to move the arm to pull the green and red M&M’s off the conveyor belt.
  • Power Supply – The BrickPi needs a 9v power supply to power the motor and Raspberry Pi. The PivotPi needs a 6v power supply to power the servo. The included BrickPi and PivotPi battery packs will work well.
  • Raspbian for Robots SD Card – The Raspberry Pi runs Raspbian for Robots. You can download the software for free.
  • Python Program – The program that the Raspberry Pi will run to sort the M&M’s.


raspberry-pi-mm-color-sorter-with-servo-3Assemble the Electronics

  1. First, insert the Raspbian for Robots SD card into the Raspberry Pi.
  2. Next we’ll stack the BrickPi3 onto the Raspberry Pi.
  3. Then, plug the Lego motor into the BrickPi motor port A.
  4. Plug the Lego color sensor into the BrickPi sensor port 1.
  5. Plug the Lego touch sensor into sensor port 2.
  6. Next, using a grove cable, connect the PivotPi to the BrickPi3.
  7. Then connect the servo to PivotPi servo channel 1 (the brown or black wire should connect to the “-” pin).
  8. Next, connect the 9v power supply or battery pack to the BrickPi3, and flip on the power switch.
  9. Finally, connect the 6v battery pack to the PivotPi.

Assemble the M&M Sorter

Here are a few pictures of the assembled sorter.






Prepare the Raspberry Pi software

Assuming you are running Raspbian for Robots and you have the PivotPi drivers installed and the BrickPi drivers installed, all you need to do is download the python program by running this command:

sudo wget https://github.com/DexterInd/PivotPi/blob/master/Software/Python/Projects/M%26Ms%20Sorter/PivotPi_BrickPi3_M%26Ms_Sorter.py

Run the Raspberry Pi M&M Color Sorter

As seen above, position a couple bowls under the sorter to catch the M&M’s as they come off the conveyor belt.

Run the program using the command:

python PivotPi_BrickPi3_M&Ms_Sorter.py

Flip the lever to press the touch sensor, and the sorter will start running.

After sorting for a few minutes, you should now have enough green and red M&M’s to make all sorts of delicious Christmas themed snacks and desserts.


We’re always happy to answer any questions about the PivotPi on our forums here.

Learn More

You can buy the PivotPi Base Kit here and make your own Raspberry Pi M&M Color Sorter!