Automated Color Mixing Machine Using Arduino

Download Full-Text PDF Cite this Publication

Text Only Version

Automated Color Mixing Machine Using Arduino

  1. Brindha1, P. Kishorniya2, R. Manickam3, K. Nijanth Chakkaravarthy4, C. Poomani5


    Assistant Professor,

    Department of Electronics and Communication Engineering


    UG Students of Electronics and Communication Engineering,

    Nandha Engineering College, (Autonomous), Erode-52.

    Abstract Colors plays a vitally important role in the world in which we live. Color can sway thinking, change actions and cause reactions. This paper sketches the many stages of operations involved in the conversion of PLC and SCADA color mixing mechanism towards a fully automated color making machine using Arduino. The preliminary stage of the design focuses on passing the inputs of color mixing with the selection of color in MATLAB GUI and making process with primary colors. With the help of mixing tanks all colors coming from the process will be mixed in the required proportion. Color will be mixed using mixed motor. Generally from RBY colors, twelve colors will be made with different proportions. The Arduino is used for the internal storage of instruction for the implementing function such as logic, sequencing, timing, counting and arithmetic to control through digital or analog input / output modules various types of machines processes.

    Index Terms Arduino, Automated, Color, MATLAB GUI, Mixing, Process.


      Over the years the demand for high quality, greater productivity and automated machines has increased in the industrial sector of different plants. Many plants require continuous monitoring and inspection at frequent intervals. There are possibilities of errors in measuring and various stages involved with human workers. This paper takes a sincere attempt to explain the advantages the companies will face by implementing automation into them. The process control of color, making which is the most significant process in any color plant like dyeing, paints, food beverage industry and its automation are the precise effort of this paper. In order to automate a color plant and minimize human intervention, there is a need to develop a MATLAB GUI and Arduino. In the coding process of this implementation with the controller, it requires a fast and efficient processing which on the other part depends on the length and subroutines of the coding process.

      Thus, it provides a real challenge with systems involving.

      1. Primary Pigment Color Model

        RYB (redyellowblue) is a historical set of colors used in subtractive color mixing, and is one commonly used set of primary colors. It is primarily used in art and design education, particularly painting. It predates the modern scientific color theory, which demonstrated that magenta, yellow, and cyan are

        the best set of three colorants to combine, for the widest range of High-chroma colors.

      2. Color Wheel

        RYB make up the primary color criteria, designing standard artist's color wheel. The secondary (violet-orange- green) makes up another triad. Triads colors (purple orange green) sometimes called (violetorangegreen) makes up another triad. Triads are formed by three equidistant colors on a particular color wheel.

        Figure: 1 Color Wheel

      3. Color Mixing Ratio

      To create a wide range of new colors, primary colors can be mixed using a variety of different quantities of color in proportion to each other. Mixing paints, pigments, or dyes by using proportional color mixing formulas ensures that a specific color can be duplicated, which allows an artist to provide consistency and predictability in color mixing.

      Proportional color mixing can involve simple ratios, like using twice as much red as yellow, or complex formulas, such as mixing one part red, two parts blue, and three parts yellow. Each combination will produce a new and interesting result.

      The attached color mixing poster outlines some additional formulas for mixing colors proportionately. The most commonly used proportional color formulas involve mixing

      two parts of a primary color to one part of a different primary color to create a tertiary color as outlined below;

      2 Red + 1 Blue =

      Magenta 2 Blue + 1 Red = Purple

      2 Blue + 1 Yellow = Teal 2 Yellow + 1 Blue =

      Chartreuse 2 Yellow + 1 Red = Amber

      2 Red + 1 Yellow = Vermilion

      Additional depth can be added to color by adding white, black, or gray in proportional amounts. Mixing color with white produces a tint. Mixing color with black produces a shade. Mixing a color with gray, created from equal amounts of black and white, creates a tone.

      The most basic of color mixing formulas involves mixing equal amounts of two or more colors together. When all three primary colors are added equally the end result is black:

      1 Red + 1 Yellow + 1 Blue = Black

      If only two of the three primary colors are mixed in equal amounts, the result is a secondary color:

      1 Red + 1 Yellow =

      Orange 1 Blue + 1 Yellow = Green 1 Red + 1 Blue = Violet


      Some factories still mix colors manual so conventional equipment systems are prone to errors due to the involvement of humans in the data collection and processing using complicated mathematical expressions. Then developed a PLC (Programmable Logic Controller) and SCADA (Supervisory control and data acquisition) color mixing plant. The main reservoir and the plant, where the process is taking place are situated far apart physically .All the process of this system is automatically done, like this sensing of the raw color material, opening and closing of the valve (in tank). There's too much work required in connecting wires, difficulty with changes or replacements and difficult to find errors. When a problem occurs, hold-up time is indefinite, usually long. Using of valve, the pigment flows are changing on the content of storage tanks. So in this project use Arduino and pumping motor to overcome the existing system drawbacks.


      In this proposed color mixing system we use the Arduino as a controller. It is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. To install the MATLAB in offline computer or laptop and develop a

      programmatically GUI apps with user interface of color selection. The implementation of the process should provide the user can select one of the twelve colors which are shown on the MATLAB GUI and the serial data are sent to the Arduino via the USB TTL serial interface. The program is pre-written into the Arduino which is programmed according to process. Based on color selection, the pigment flow is controlled by the Arduino through the relay circuit and the mixture of colors will be mixed in the container by mixer motor.

      A. Block Diagram

      Figure: 2 Block Diagram of Color Mixing Machine


      The graphical user interface (GUI ), is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, instead of text-based user interfaces, typed command labels or text navigation.

      GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard and provide point-and-click control of software applications, eliminating the need to learn a language or type commands in order to run the application.

      Figure: 3 MATLAB GUI

      MATLAB® apps are self-contained MATLAB programs with GUI front ends that automate a task or calculation The GUI typically contains controls such

      as menus, toolbars, buttons, and sliders. Many MATLAB products, such as Curve Fitting Toolbox, Signal Processing Toolbox, and Control System Toolbox include apps with custom user interfaces.

      App Designer is an environment for building MATLAB apps. It integrates the two primary tasks of app buildinglaying out the visual components and programming app behaviorand allows you to quickly move between visual design in the canvas and code development in an integrated version of the MATLAB Editor.

      GUIDE (GUI development environment) provides tools to design user interfaces for custom apps. Using the GUIDE Layout Editor, you can graphically design your UI. GUIDE then automatically generates the MATLAB code for constructing the UI, which you can modify to program the behavior of your app.

      For more control over design and development, you can also create MATLAB code that defines all component properties and behaviors. MATLAB contains built-in functionality to help you create the GUI for your app programmatically.

      1. Arduino Pro Mini

        The Arduino Pro Mini is an ATmega328 based microcontroller board. The board comes with built-in Arduino boot loader. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, an on-board resonator, a reset button, and holes for mounting pin headers. The board can be connected to the PC using USB port and the board can runs on USB power. There are two version of the Pro Mini. One runs at 3.3V and 8 MHz, the other at 5V and 16 MHz

        Figure: 4 Arduino Pro Mini

        The Pro Minis prettymini, measuring in at just 1

        .3×0.70". Its about th the size of the Arduino Uno. The compact size is great for projects where you may need to fit the Arduino into a tiny enclosure, but it also means that the Pro Mini is not physically compatible with Arduino shields.

        The Atmega16U2-based USB circuitry had to be eliminated for us to make the Pro Mini. The absence of this circuit means an external component, the FTDI Basic Breakout, is required to upload code to the Arduino Pro Mini.

      2. USB to TTL Serial Interface

        Adopt imported controller RS232 TTL, which can stabilize the flash with high-speed 500mA self-recovery fuse for protection.

        Figure: 5 USB to TTL Serial Adapter

        Two data transmission indicator can monitor data transfer status in real time. Reserve 3.3V and 5V pin interface, easy for DDWRT of different voltage system that needs power. The entire board is coated by a high quality transparent heat- shrinkable sleeve, making the PCB in insulation state from outside, so that the board wont burnt down by a material shortcut.

      3. Relay

        A relay is a type of switch that provides connection between a low power circuit and a high power circuit. Electromechanical relays are the most commonly used relays and consists of a coil that acts as an electromagnet and moving contacts.

        Generally, a relay consists of five terminals: two coil terminals, a common terminal (COMM), a normally open terminal (NO) and a normally closed terminal (NC).

        Figure: 6 Relay 12VDC/7A Circuits that operate at high voltages or at high

        currents cannot be controlled directly by an Arduino. Instead, you use a low-voltage control signal from the Arduino to control a relay, which is capable of handling and switching high-voltage or high-power circuits. A relay consists of an electromagnet that, when energized, causes a switch to close or open. Relays provide complete electrical isolation between the control circuit and the circuit being controlled.

        A low power signal from a Arduino is given to the coil (usually through a transistor) and the other three terminals i.e. NO, NC and COMM are connected to the high voltage supply along with the load.

      4. Electric Motor

        The electric motor is an electrical machine that converts electrical energy into mechanical energy. It operate through the interaction between an electric motors magnetic field and winding currents to

        generator force. It has several type of motors depends on the application. Here only considered mixing motor and pumping motor.

        • Mixing motor (3v-4.5V) It is a class of rotary electrical machines. The mixing is a unit operation that involves manipulation of a heterogeneous physical system with the intent to make it more homogeneous.

        • Pumping motor (AC 220V240V 50HZ 6W) Pumps are used to move or raise liquids. It has two general types, hydrostatic and pumps depending on dynamic forces. Here only consider hydrostatic positive displacement pumps. They have a piston or equivalent moving in a closely-fitting cylinder and forces are exerted on the liquid by motion of the piston. The pump is the syringe, filled by withdrawing the piston and emptied by pressing it back in, as its port is immersed in the fluid or removed from it.

      5. Operation

      The project work consists of three distribution buffer storage tanks, which consist of Red, Blue and Yellow color pigment respectively. This distribution takes place automatically using Arduino. The program is pre-written into the Arduino which is programmed according to the user selection of twelve color in GUI and fill required litre in the edit bar. The part of MATLAB is solely to provide user interface which when interrupted sends data to Arduino via the USB TTL serial interface. The Arduino replies if necessary and does the task assigned to pumping motor through the relay. The pumping motor is fixed into the buffer storage tank and its pump out the pigment to the mixing container. The mixing is a unit operation that involves manipulation of a heterogeneous colors intent to make it more homogeneous color by mixing motor. Finally, the required color is well-found in the mixer container.


      This method that has to be used relies on varied objectives like low cost, compact system, superior quality, increased efficiency and high profit. With the prime objective of catering to these necessities and the needs of the industrial sector, significance has been given by this automation.


The present system will provide a great deal of automation by using Arduino and it can increase productivity & replace humans in task done in dangerous environment. Benefit of replacing human in plant reduce operation time & increase consistency of output.


  1. Isao Shimana, Toshiyuki Amano. Separation Of Reflective And Fluorescent Components Using The Colormixing Matrix,March 2017.

  2. Nathan Gossett, Baoquan Chen. Paint Inspired Color Mixing And Compositing For Visualization, October 2014.

  3. Luan Xinyuan1, Liu Tingzhang. The Optimizing Design For Led Color Mixing Based On Artificial Fish Swarm Algorithm , 2014.

  4. Hyungtae Kim, Kyeong Yong Cho, Seung Taek Kim, Jongseok Kim. Color Mixing And Random Search For Optimal Illumination In Machine Vision, December2013

  5. Daisuke Miyazaki, Kanami Takahashi, Masashi Baba, Hirooki Aoki, Ryo Furukawa,Masahito Aoyama, Shinsaku Hiura. Mixing Paints For Generating Metamerism Art Under 2 Lights And 3 Object Colors, 2013.

  6. Bogumil Halacinski, Elibieta Kotlicka, Antoni Latuszek. Ultrasonic Mixer For Paints And Emulsion, 1994.

  7. Amir Zjajo, Manuel J. Barragan Asian, Jose Pineda De Gyvez1. Bist Method For Die-Level Process Parameter

  8. Variation Monitoring In Analog/Mixed-Signal Integrated Circuits, 2007.

  9. Youngha Chang, Suguru Saito, Masayuki Nakajima. A Framework For Transfer Colors Based On The Basic Color Categories, 2003.

  10. Laurentiu Schiop, Marian Gaiceanu. Mathematical Modelling Of Color Mixing Process And Plc Control Implementation By Using Human Machine Interface, 2010.

  11. Shigefumi Yamamoto, Xiaoyang Mao, Atsumi Imamiya. Colored Pencil Filter With Custom Colors, 2004.


  12. Zhanbo Xu, Qing-Shan Jia,, Xiaohong Guan, Jianxiang Shen. Smart Management Of Multiple Energy Systems In Automotive Painting Shop, July 2013.

  13. Albert T. L. Lee, Huan-Ting Chen, Me, Siew-Chong Tan, S. Y. (Ron) Hui. Precise Dimming And Color Control Of Light- Emitting Diode Systems Based On Color Mixing, 2015.

  14. Haesung Park. A Novel Global Optimization Method For Electromagnetic Problems, Inspired By Color-Mixing Technique, 2008,

  15. Hai-Tao Li, Ai-Song Shi, Bing-Sen Zhang. A Dyeing Color Matching Method Combining Rbf Neural Networks With Genetic Algorithms, 2007.

  16. Omokazu Terai, Shinji Mizuno, Minoru Okada. Base Color Recognition By Tetragonal Regression For Overlapped Watercolors, 2004.

Leave a Reply

Your email address will not be published. Required fields are marked *