Reproduce the Color of Any Object in Paint with This Novel Color Maker

After making a quick scan of an object's color, this device can accurately reproduce it by mixing paint in the required quantities.

Evan Rust
2 years agoHome Automation / Sensors / Robotics / Displays / Art

The idea for the color mixer

Possessing the ability to instantly scan any object and have its color recreated right in front of a user sounds incredible, as artists and model makers could get an approximate hue and tint for what they need. Hackaday.io user Airpocket has created a device with this capability that only needs a few components. His M5Stack Color Maker project uses a color sensor, a microcontroller, and some motors to dispense a mixture of pigments sensed by the device. He also notes colorblind users will especially benefit from this project since they can now use colors they otherwise couldn't see.

Getting the hardware

To begin, the Color Maker has a single M5Stack Core 2 as its central control unit, and it is responsible for reading color information from an attached TCS34725 module and displaying it in a UI. After the color mixture has been confirmed, the data is sent to a a Raspberry Pi Pico board that controls a bank of five A4988 stepper motor driver modules that each turn one 28BJY-48 5V stepper motor to dispense paint.

Reading color

In order to read raw RGB color information from a physical object, Airpocket went with the M5Stack color sensing module which has a Grove connector on the end for ease of use, but he also notes that a TSC34725 breakout board can be connected via I2C to the M5Stack as well. After the color data has been read, the program converts it into pigmentation values cyan, yellow, magenta, and black (subtractive colors), just like how a printer works.

Building a user interface

Color data in hand, the M5Stack's user interface then displays this information as a series of four sliders which let the user fine-tune the color they want or perform another scan. Once the color has been dialed in perfectly, the "Make Color" button can be pressed to send this information to the Raspberry Pi Pico. As a final note, RGB values are shown at the bottom for debugging purposes.

Dispensing paint

After the Pico has received the color values over UART, it then has to dispense the correct amounts of each paint. To do this, paints are loaded into vertically-placed syringes that each have a single rubber tube running from their end to the mixing bowl. The stepper motor has a ring of four bearings that press on the hose and draw more paint through it, which is known as a peristaltic pump. There is a fifth syringe filled with water that controls the transparency of the paint, especially when it's watercolor-based.

How well does it work?

As seen in the video below, the M5Stack Color Mixer works fairly well for recreating colors as they're seen in the real world. For more details on how this project was built, you check out its writeup here.

Evan Rust
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles