Juices by themselves are great. But if you have ever had mango-lychee, strawberry-banana, or pineapple-cherry, you will know that mixed drinks taste incredible! However, mixing juices is hard, and cumbersome. What if you can customize and make cool, mixed drinks at the press of a button.

Welcome, CryptoJuicer!

With 6 individual juice options and the ability to add as many or as little juices as possible to the mix, CryptoJuicer allows you to enjoy a blend of many juices. The solution that we created was successful! The LCD screen and the app allow users to get an output of a customized drink at the press of a button. The appropriate motors turn on accordingly and dispense the right amount of juices - solving the inconvenience that is the mixing of juices by hand!


Crypto Juicer is aimed at creating juice cocktails that are more appealing than everyday orange juice or lemonade. If you have ever had mango, pineapple passion fruit juice, you would understand why we want to blend different flavors. This project is interesting as we are including multiple electrical, design, and computer science components. The circuitry will be controlling the pumping system for the juices along with the LCD screen and any Bluetooth features. We intend to create a sleek and appealing machine, a fun and achievable goal. Finally, the challenge of coding all of this in C with an Arduino adds another aspect of excitement to the project. The purpose of creating this device, as discussed before, will allow all our roommates the ability to create the juice of their dreams from 6 basic flavors.

Milestone Goals

Have motors generate a flow via serial commands Control this flow via the display to fill a glass. This includes a basic version of the GUI Develop the ability to switch between large and small glass using a pressure sensor

Final Project Goals

Create the box that discreetly houses all components Have LEDs and have the display show current status and mode Develop an app that can wirelessly communicate with the device Bonus: switch wiring from breadboard to a more permanent solution like a PCB

Technical Skills

  1. Mechanical:

    • Establish drawing on iPad
    • Translate drawing into Solidworks Design
    • Check all measurements with parts once they come in
    • Send design to engineering to be cut
    • Using glue, notches and hinges, assemble the casing/body
  2. Electrical:

    • Order needed parts to operate the motor (i.e. FETs, wires, motors)
    • Wire LCD screen so it can be programmed accordingly
    • Perform the needed circuitry to allow the motors to be controlled by PWM pins from arduino
    • Read manual for pressure sensor, and setup sensor to get an input voltage, and have the arduino receive the output voltage from the sensor
    • Setup status LEDs which are also controlled from the Arduino
  3. Coding:

    • “Backend” -Write the software that deconstructs a serial command -Write software to control the motors for the desired lengths of time -Write software to read the pressure sensor using the built-in ADC -Connect the serial commands to the functions that run the motors
    • “Frontend” -Draw out a diagram for the UI on the screen -Create the UI in nextion designer -implement the code that gets run on the display (this includes switching pages and sending messages over serial)
    • Connect the front to back end -Write the protocol on the Arduino to deconstruct the messages from the display -Make the functions from the display run the functions that run the motors
    • App -Program the application -Program a server on the raspberry pi to interface with the app -Get the raspberry pi server to send messages to the Arduino using the serial commands previously programmed

Built With

Share this project: